Example #1
0
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));
}