int VehicleOne::state_init() { Point initLocation( position[0], position[1]); rightDCMotor = new DCMotor( DCMotorInternalResistance, DCMotorTorqueConstant ); leftDCMotor = new DCMotor( DCMotorInternalResistance, DCMotorTorqueConstant ); // Note that right and left motor speeds are passed by reference. rightMotorController = new DCMotorSpeedController(*rightDCMotor, .3, rightMotorSpeed, batteryVoltage ); leftMotorController = new DCMotorSpeedController(*leftDCMotor, .3, leftMotorSpeed, batteryVoltage); driveController = new DifferentialDriveController(distanceBetweenWheels, wheelRadius, wheelSpeedLimit, headingRateLimit, slowDownDistance, *rightMotorController, *leftMotorController); navigator = new Navigator(heading, initLocation); vehicleController = new VehicleController( &waypointQueue, *navigator, *driveController, arrivalDistance); return (0); }
AudioObject::AudioObject(GameHandle gameHandle, const std::string& audioName, boost::shared_ptr<StreamWatch> streamWatch, const AOPresetData& presetData, const AOLocation& location, AudioBlaster& audioBlaster, bool updateable) : mGameHandle(gameHandle), mAudioName(audioName), mUpdateHandler(NULL), mStreamWatch(streamWatch), mSourceId(0), mAudioBlaster(audioBlaster), mUpdateable(updateable) { initEvents(); initLocation(location); initPresetData(presetData); if (updateable) mUpdateHandler.reset(new OpenAlUpdateHandler(mSourceId, mGameHandle)); }