19 #include <boost/ptr_container/ptr_vector.hpp>
34 #define ALTITUDE_CHANGE_INCREMENT 304.8
36 namespace MAKVRinTerra
38 class DtFeatureGeometry;
63 virtual bool createPSR();
66 virtual const char*
type()
const;
77 virtual void setOrderedAltitude(
double altitude,
bool aboveGroundLevel =
false);
97 static bool setObstacleQueryName(
void* controller,
DtReaderWriter* value);
116 virtual DtVector calculateProjectedLocation(
121 virtual std::string calculateOrientationAndPosition(
122 const DtVector& newLocalProjectedLocation,
double newHeading,
123 DtDcm& newLocalOrientation,
DtVector& newLocalPosition);
127 virtual void calculateFuelUsage(
128 double distanceTraveled,
133 virtual std::string adjustToTerrain(
136 virtual void updateRepository(
const DtVector & position,
138 const DtTaitBryan & localOrientation,
const DtVector& rotationalVelocity);
145 static void setObstacleToIgnore(
DtSimMessage* msg,
void* usr);
149 virtual void processObstacleToIgnore(
DtSimMessage* msg);
162 virtual bool haveSupplies(
ErrorStream &errorStream)
const;
168 virtual double scriptModifier()
const;
172 virtual double scriptAdjustment()
const;
178 double& slope)
const;
181 virtual double retrogradeMovementModifier()
const;
192 virtual bool checkPassedDestination(
const DtVector& currentPosition,
DtVector& newLocalProjectedPosition);
210 virtual void setAircraftAirborne(
const DtVector& location);
304 typedef boost::ptr_vector<MobilityArea>
Vector;
326 template <
typename T>
335 return myStream.str();
Represents a set of DtFeature objects or others which conform to the DtFeature concept.
Definition: featureSet.h:101
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
std::string str() const
Definition: aggregatedMovementActuator.h:333
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
MAKVRinTerra::DtFeatureSet FeatureSet
Feature set type.
Definition: aggregatedMovementActuator.h:295
DtAnalogInputPort * myAltitudeInputPort
Input Port Name: desired-altitude Input Port Description: Desired altitude to move towards (MSL)...
Definition: aggregatedMovementActuator.h:270
Description: This repository holds all information that is common to all the forms of all objects wit...
Definition: vrfMovingObjectStateRepository.h:29
Definition: aggregatedMovementActuatorPSR.h:23
const DtActuatorComponent & operator=(const DtActuatorComponent &orig)
assignment operator
DtSetDataManager * mySetDataManager
Ref to set data manager.
Definition: aggregatedMovementActuator.h:292
End User Description: Actuator for moving aggregated aggregates along the ground. ...
Definition: aggregatedMovementActuator.h:46
A convenience for recording error messages during a tick.
Definition: aggregatedMovementActuator.h:321
End User Description: DtActuatorComponentDescriptor contains parameters common to all actuator compon...
Definition: actuatorComponentDescriptor.h:47
const MobilityEntry & myEntry
Definition: aggregatedMovementActuator.h:312
bool myErrorCondition
Set to true once the error stream message is displayed, so we don't display over and over...
Definition: aggregatedMovementActuator.h:349
virtual bool init()
Overridden to cache a pointer to the entity's radio in this class.
This class is a DtSimKinematicState with the addition of another CS for local database coordinates...
Definition: vrfKinematicState.h:22
bool empty() const
Definition: aggregatedMovementActuator.h:337
Definition: readerWriter.h:85
const DtActuatorComponentDescriptor * myBaseActuatorDescriptor
Convenience pointers to our descriptors.
Definition: aggregatedMovementActuator.h:287
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:42
DT_DLL_features std::ostream & operator<<(std::ostream &, const DtFeatureTransform &)
std::ostream output.
Definition: readerWriterRegistry.h:39
std::auto_ptr< FeatureSet > myFeatureSet
Definition: aggregatedMovementActuator.h:313
End User Description: DtActuator is the base class for all actuator model components.
Definition: actuatorComponent.h:48
const DtAggregatedMovementDescriptor * myActuatorDescriptor
Definition: aggregatedMovementActuator.h:288
DtVrfMovingObjectStateRepository * myMovingObjectStateRep
Convenience pointers to our state repository.
Definition: aggregatedMovementActuator.h:282
DtSimManager * mySimManager
Definition: aggregatedMovementActuator.h:240
boost::optional< double > myPrep_desiredAltitude
Definition: aggregatedMovementActuator.h:237
Object which hold the mobility entry and the feature set which represents it.
Definition: aggregatedMovementActuator.h:301
DtVector myPrep_newBodyRotationalVelocity
Definition: aggregatedMovementActuator.h:235
std::stringstream myStream
Definition: aggregatedMovementActuator.h:343
DtBooleanInputPort * myRetrogradeInputPort
Definition: aggregatedMovementActuator.h:358
File: simMsg.h.
Definition: simMessage.h:35
virtual void tick()
This gives the thread of control to the component.
DtAnalogInputPort * myMovementDirectionInputPort
Input Port Name: desired-movement-direction Input Port Description: Desired movement direction of the...
Definition: aggregatedMovementActuator.h:251
DtAggregatedMovementDescriptor is the descriptor for DtAggregatedMovementActuator.
Definition: aggregatedMovementDescriptor.h:20
DtTerrainInterface allows access to common terrain calls without having to know the terrain implement...
Definition: terrainInterface.h:88
DtVector myPrep_oldBodyVelocity
Definition: aggregatedMovementActuator.h:232
DtAnalogInputPort * mySpeedInputPort
Input Port Name: desired-speed Input Port Description: Desired speed of the entity in m/s...
Definition: aggregatedMovementActuator.h:258
*array controller(no time code)*/template< class Instance
//!//!//!//!//!//!//!//!//!//!//!//
virtual bool createPorts()
Called by init.
DtTaitBryan myPrep_newLocalOrientationTb
Definition: aggregatedMovementActuator.h:236
virtual bool createPortGroups()
Called by init.
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:67
std::auto_ptr< FeatureSet > myEngineeringObjFeatureSet
Set of engineering object features that can affect mobility.
Definition: aggregatedMovementActuator.h:352
DtVectorInputPort * myDestinationInputPort
Output Port Name: destination Output Port Description: Specifies the current destination of the entit...
Definition: aggregatedMovementActuator.h:277
This class manages the distribution of DtSetDataRequests within a single DtVrfObject.
Definition: setDataManager.h:37
ReaderWriter class which represents one terrain mobility entry.
Definition: aggregatedMovementDescriptor.h:26
MobilityArea::Vector myMobilityAreas
List of mobility areas.
Definition: aggregatedMovementActuator.h:317
DtTaitBryan myPrep_oldLocalOrientationTb
Definition: aggregatedMovementActuator.h:231
DtVector myPrep_oldLocalPosition
Definition: aggregatedMovementActuator.h:229
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:103
bool myEmptyFlag
Definition: aggregatedMovementActuator.h:344
DtAggregatedMovementActuatorPSR * myProcessState
Pointer to a process state repository used to store state data associated with this component...
Definition: aggregatedMovementActuator.h:362
DtVector myPrep_newLocalPosition
Definition: aggregatedMovementActuator.h:233
ErrorStream()
Definition: aggregatedMovementActuator.h:324
Definition: vrfAggregateStateRepository.h:22
boost::ptr_vector< MobilityArea > Vector
Definition: aggregatedMovementActuator.h:304
DtAggregatedMovementDescriptor::MobilityEntry MobilityEntry
Type which contains info on one type of mobility area.
Definition: aggregatedMovementActuator.h:298
std::auto_ptr< FeatureSet > myEngineeringObjObstacleFeatureSet
Set of engineering object features that should be considered obstacles for which we should halt...
Definition: aggregatedMovementActuator.h:356
Represents a feature geometry.
Definition: featureGeometry.h:35
virtual const char * type() const =0
Returns a string identifies the class type of component.
DtVector myPrep_newRelativeVelocity
Definition: aggregatedMovementActuator.h:234
DtInputPortGroup * myMovementControlPortGroupInputPortGroup
Input Port Group Name: movement-control Input Port Group Description: Collection of inputs specifying...
Definition: aggregatedMovementActuator.h:263
DtVector myPrep_oldLocalVelocity
Definition: aggregatedMovementActuator.h:230
const DtVrfKinematicState * myPrep_kinState
Values preprocessed for use in tick /////////////////////!
Definition: aggregatedMovementActuator.h:228