19 #include <boost/ptr_container/ptr_vector.hpp>
34 #define ALTITUDE_CHANGE_INCREMENT 304.8
36 namespace MAKVRinTerra
38 class DtFeatureGeometry;
62 virtual bool createPSR();
65 virtual const char*
type()
const;
76 virtual void setOrderedAltitude(
double altitude,
bool aboveGroundLevel =
false);
96 static bool setObstacleQueryName(
void* controller,
DtReaderWriter* value);
115 virtual DtVector calculateProjectedLocation(
120 virtual std::string calculateOrientationAndPosition(
121 const DtVector& newLocalProjectedLocation,
double newHeading,
122 DtDcm& newLocalOrientation,
DtVector& newLocalPosition);
126 virtual void calculateFuelUsage(
127 double distanceTraveled,
132 virtual std::string adjustToTerrain(
135 virtual void updateRepository(
const DtVector & position,
137 const DtTaitBryan & localOrientation,
const DtVector& rotationalVelocity);
144 static void setObstacleToIgnore(
DtSimMessage* msg,
void* usr);
148 virtual void processObstacleToIgnore(
DtSimMessage* msg);
161 virtual bool haveSupplies(
ErrorStream &errorStream)
const;
167 virtual double scriptModifier()
const;
171 virtual double scriptAdjustment()
const;
177 double& slope)
const;
180 virtual double retrogradeMovementModifier()
const;
191 virtual bool checkPassedDestination(
const DtVector& currentPosition,
DtVector& newLocalProjectedPosition);
209 virtual void setAircraftAirborne(
const DtVector& location);
303 typedef boost::ptr_vector<MobilityArea>
Vector;
325 template <
typename T>
334 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:332
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:294
DtAnalogInputPort * myAltitudeInputPort
Input Port Name: desired-altitude Input Port Description: Desired altitude to move towards (MSL)...
Definition: aggregatedMovementActuator.h:269
Description: This repository holds all information that is common to all the forms of all objects wit...
Definition: vrfMovingObjectStateRepository.h:26
Definition: aggregatedMovementActuatorPSR.h:23
const DtActuatorComponent & operator=(const DtActuatorComponent &orig)
assignment operator
DtSetDataManager * mySetDataManager
Ref to set data manager.
Definition: aggregatedMovementActuator.h:291
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:320
End User Description: DtActuatorComponentDescriptor contains parameters common to all actuator compon...
Definition: actuatorComponentDescriptor.h:47
const MobilityEntry & myEntry
Definition: aggregatedMovementActuator.h:311
bool myErrorCondition
Set to true once the error stream message is displayed, so we don't display over and over...
Definition: aggregatedMovementActuator.h:348
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:336
Definition: readerWriter.h:85
const DtActuatorComponentDescriptor * myBaseActuatorDescriptor
Convenience pointers to our descriptors.
Definition: aggregatedMovementActuator.h:286
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:312
End User Description: DtActuator is the base class for all actuator model components.
Definition: actuatorComponent.h:48
const DtAggregatedMovementDescriptor * myActuatorDescriptor
Definition: aggregatedMovementActuator.h:287
DtVrfMovingObjectStateRepository * myMovingObjectStateRep
Convenience pointers to our state repository.
Definition: aggregatedMovementActuator.h:281
DtSimManager * mySimManager
Definition: aggregatedMovementActuator.h:239
boost::optional< double > myPrep_desiredAltitude
Definition: aggregatedMovementActuator.h:236
Object which hold the mobility entry and the feature set which represents it.
Definition: aggregatedMovementActuator.h:300
DtVector myPrep_newBodyRotationalVelocity
Definition: aggregatedMovementActuator.h:234
std::stringstream myStream
Definition: aggregatedMovementActuator.h:342
DtBooleanInputPort * myRetrogradeInputPort
Definition: aggregatedMovementActuator.h:357
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:250
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:84
DtVector myPrep_oldBodyVelocity
Definition: aggregatedMovementActuator.h:231
DtAnalogInputPort * mySpeedInputPort
Input Port Name: desired-speed Input Port Description: Desired speed of the entity in m/s...
Definition: aggregatedMovementActuator.h:257
*array controller(no time code)*/template< class Instance
//!//!//!//!//!//!//!//!//!//!//!//
virtual bool createPorts()
Called by init.
DtTaitBryan myPrep_newLocalOrientationTb
Definition: aggregatedMovementActuator.h:235
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:351
DtVectorInputPort * myDestinationInputPort
Output Port Name: destination Output Port Description: Specifies the current destination of the entit...
Definition: aggregatedMovementActuator.h:276
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:316
DtTaitBryan myPrep_oldLocalOrientationTb
Definition: aggregatedMovementActuator.h:230
DtVector myPrep_oldLocalPosition
Definition: aggregatedMovementActuator.h:228
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:102
bool myEmptyFlag
Definition: aggregatedMovementActuator.h:343
DtAggregatedMovementActuatorPSR * myProcessState
Pointer to a process state repository used to store state data associated with this component...
Definition: aggregatedMovementActuator.h:361
DtVector myPrep_newLocalPosition
Definition: aggregatedMovementActuator.h:232
ErrorStream()
Definition: aggregatedMovementActuator.h:323
Definition: vrfAggregateStateRepository.h:22
boost::ptr_vector< MobilityArea > Vector
Definition: aggregatedMovementActuator.h:303
DtAggregatedMovementDescriptor::MobilityEntry MobilityEntry
Type which contains info on one type of mobility area.
Definition: aggregatedMovementActuator.h:297
std::auto_ptr< FeatureSet > myEngineeringObjObstacleFeatureSet
Set of engineering object features that should be considered obstacles for which we should halt...
Definition: aggregatedMovementActuator.h:355
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:233
DtInputPortGroup * myMovementControlPortGroupInputPortGroup
Input Port Group Name: movement-control Input Port Group Description: Collection of inputs specifying...
Definition: aggregatedMovementActuator.h:262
DtVector myPrep_oldLocalVelocity
Definition: aggregatedMovementActuator.h:229
const DtVrfKinematicState * myPrep_kinState
Values preprocessed for use in tick /////////////////////!
Definition: aggregatedMovementActuator.h:227