VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Static Protected Attributes | Private Member Functions
DtSimComponent Class Referenceabstract

The DtSimComponent class is the base class for the entire simulation model component hierarchy.

If you currently modify member variables in a descriptor class, it is suggested to instead make those member variables part of the component that uses them and modify them there. If you must modify the entries in the component descriptor, instead of using the supplied descriptor pointer, you will need to clone the descriptor entry and work with that clone. You will also need to delete this clone in your component destructor to avoid a memory leak.

Related examples
Other uses in examples
Inheritance diagram for DtSimComponent:
Inheritance graph
[legend]

Public Member Functions

 DtSimComponent (const DtString &name, DtLocalObject *owner, DtSimulationServices *simServices, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
 
virtual ~DtSimComponent ()
 
virtual void setParentSystem (DtComponentSystem *system)
 
DtComponentSystemparentSystem () const
 
virtual bool init ()
 
virtual bool postAddComponentsInit ()
 
virtual void registerAttributeFunctions ()
 
virtual void preFirstTickInit ()
 
virtual void tick ()
 
virtual void postTick ()
 
virtual void timedTick ()
 
virtual void setMinTickPeriod (double minTickPeriod)
 
virtual double minTickPeriod () const
 
virtual void setMinTickPeriodVariance (double minTickPeriodVariance)
 
virtual double minTickPeriodVariance () const
 
virtual void setNextTickTime (double nextTickTime)
 
virtual double nextTickTime () const
 
virtual double calculateNextTickTime () const
 
virtual double calculateFirstTickTime () const
 
virtual const chartype () const =0
 
virtual void setEntity (DtLocalObject *entity)
 
virtual DtSimComponentnextComponent ()
 
virtual DtSimComponentprevComponent ()
 
virtual void setListItem (DtListItem *item)
 
virtual DtListItem * listItem ()
 
virtual void putData (std::string &fp, int indentLevel=0)
 
virtual DtlObjPtr getData (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings)
 
virtual void addInputPort (DtInputPort *port)
 
virtual void removeInputPort (DtInputPort *port)
 
virtual DtInputPortlookupInputPort (const DtString &portName)
 
virtual DtList inputPortList () const
 
virtual void addOutputPort (DtOutputPort *port)
 
virtual void removeOutputPort (DtOutputPort *port)
 
virtual DtOutputPortlookupOutputPort (const DtString &portName)
 
virtual DtList outputPortList () const
 
virtual void addInputPortGroup (DtInputPortGroup *group)
 
virtual void removeInputPortGroup (DtInputPortGroup *group)
 
virtual DtInputPortGrouplookupInputPortGroup (const DtString &groupName)
 
virtual DtList inputPortGroupList () const
 
virtual void addOutputPortGroup (DtOutputPortGroup *group)
 
virtual void removeOutputPortGroup (DtOutputPortGroup *group)
 
virtual DtOutputPortGrouplookupOutputPortGroup (const DtString &groupName)
 
virtual DtList outputPortGroupList () const
 
virtual int priority () const
 
virtual void setPriority (int priority)
 
double dT () const
 
virtual void setDT (double deltaT)
 
virtual void setComponentDescriptor (DtComponentDescriptor *componentDescriptor)
 
virtual const
DtComponentDescriptor
componentDescriptor () const
 
virtual bool tickWhileDestroyed () const
 
DtVrfProcessStateRepositoryManagerpsrManager ()
 
virtual const DtSymbolStringcomponentFullName () const
 
DtPhysicalWorldphysicalWorld ()
 
const DtPhysicalWorldphysicalWorld () const
 
const DtAttachedTerrainterrainAttachedTo () const
 
DtLocalObjectentity ()
 
const DtLocalObjectentity () const
 
DtSimulationServicessimulationServices ()
 
const DtSimulationServicessimulationServices () const
 
const Coordinate_SystemcoordinateSystem () const
 
virtual bool taskVisualizationsActive () const
 
virtual bool taskVisualizationsEnabled () const
 
virtual void onRestore ()
 
makVrf::DtTaskVisualizationMaptaskVisualizations ()
 
virtual void enable ()
 
virtual void disable ()
 
virtual bool isEnabled ()
 
virtual void setIsEnabled (bool yesNo)
 
Object Console Streams

These convenience functions make use of the DtLocalObject object console streams. Please see the documentation there for more details.

virtual DtOutputStream & objectConsoleDebug (const DtString &channel="") const
 
virtual DtOutputStream & objectConsoleVerbose (const DtString &channel="") const
 
virtual DtOutputStream & objectConsoleInfo (const DtString &channel="") const
 
virtual DtOutputStream & objectConsoleWarn (const DtString &channel="") const
 
virtual DtOutputStream & objectConsoleError (const DtString &channel="") const
 
virtual int notifyLevel () const
 
virtual DtSimResourceManagerresourceManager ()
 
virtual const
DtSimResourceManager
resourceManager () const
 
- Public Member Functions inherited from DtReaderWriter
 DtReaderWriter ()
 
 DtReaderWriter (const DtString &name, DtReaderWriterRegistry *parentRegistry=NULL, bool readonly=false)
 
 DtReaderWriter (const DtSymbolString &name, DtReaderWriterRegistry *parentRegistry=NULL, bool readonly=false)
 
 DtReaderWriter (const DtString &name, const DtReaderWriter &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 
 DtReaderWriter (const DtSymbolString &name, const DtReaderWriter &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 
 DtReaderWriter (const DtReaderWriter &, DtReaderWriterRegistry *parentRegistry=NULL)
 
const DtReaderWriteroperator= (const DtReaderWriter &orig)
 
bool operator== (const DtReaderWriter &) const
 
bool operator!= (const DtReaderWriter &rhs)
 
virtual ~DtReaderWriter ()
 
virtual void putSelf (std::string &fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename())
 
virtual void postPutSelf ()
 
virtual void prePutSelf ()
 
virtual void getSelf (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference())
 
virtual void postGetSelf ()
 
virtual void preGetSelf ()
 
virtual void writeSelf (std::string &fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename())
 
virtual DtSymbolString name () const
 
virtual void addAlias (const DtSymbolString &alias)
 
virtual void addAlias (const DtString &alias)
 
virtual bool hasAlias (const DtSymbolString &alias)
 
virtual const aliasContaineraliases () const
 
virtual void setReadonly (bool flag)
 
bool isReadonly () const
 
virtual void reset ()
 
virtual int alignment () const
 
virtual bool variableIsBound () const
 
virtual void unbindVariable ()
 
virtual void setName (const DtString &)
 
virtual const charreaderWriterType () const
 
virtual const charxmlType () const
 
virtual DtString prettyPrint () const
 
std::string debugText () const
 
virtual void bindVariables (DtVariableBindingsList variableBindings)
 
virtual std::list
< DtVariableNameType
unboundVariables () const
 
bool invalid () const
 
virtual bool hasChild (const DtReaderWriter *p) const
 
virtual bool hasVariableReference () const
 
virtual void bindLocalVariables (const DtVariableBindingsList &variableBindings)
 
virtual void recordUpdateTime () const
 
virtual bool wasUpdatedSince (DtTime t) const
 
virtual bool changedSinceLastChecked ()
 
virtual bool peekChangedSinceLastChecked () const
 
virtual void setValueSpecified (bool specified, bool recurse=false)
 
virtual bool valueSpecified () const
 
virtual bool isVariableReference () const
 
virtual void setIsVariableReference (bool value)
 
virtual void clearAllVariableReferenceFlags ()
 
virtual DtSymbolString variableName () const
 
virtual void setVariableName (const DtSymbolString variableName)
 
virtual const DtReaderWriterdefaultRWValue () const
 
virtual DtReaderWriterdefaultRWValue ()
 
virtual void setDefaultRWValue (DtReaderWriter *)
 
virtual bool checkAndSetDefaultRWValue (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference())
 
const DtReaderWriterRegistryregistry () const
 
DtReaderWriterRegistryregistry ()
 
virtual DtPropertyInterfaceproperty ()
 
virtual const DtPropertyInterfaceproperty () const
 
virtual DtString toXml () const
 
virtual DtRwVariableBindingsgenerateVariableBindings () const
 
virtual bool toXml (const DtFilename &) const
 
virtual bool fromXml (const DtString &)
 
virtual bool fromXmlFile (const DtFilename &)
 
virtual void putSelf (DtEnvironmentSP, DtEnvValueSP parent) const
 
virtual void putData (DtEnvironmentSP, DtEnvValueSP value) const
 
virtual void putVariableReference (DtEnvironmentSP, DtEnvValueSP value) const
 
virtual void getSelf (const DtEnvironmentSP, const DtEnvValueSP root, const SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &bindings=DtVariableBindingsList())
 
virtual void getData (const DtEnvironmentSP, const DtEnvValueSP, const SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &bindings=DtVariableBindingsList())
 
virtual void unrecognizedItem (const DtEnvironmentSP env, const DtEnvValueSP root, const SearchPaths &searchPaths, const DtVariableBindingsList &varBindings)
 
virtual void getVariableReference (DtEnvironmentSP, DtEnvValueSP value)
 

Static Public Member Functions

static DtSimComponentFactoryfactory ()
 
static void setFactory (DtSimComponentFactory *factory)
 
static DtSimComponentcreateComponent (const DtString &name, const DtString &type, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentSystem *parentSystem, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
 
static void addSimComponentCreatorFcn (const DtString &type, DtSimComponentCreatorFcn fcn)
 
- Static Public Member Functions inherited from DtReaderWriter
static void putIndent (std::string &fp, int indentLevel)
 
static const
DtVariableBindingsList
nullVariableReference ()
 
static void setPostGetSelfCallback (DtGetSelfCallbackFcn fcn, void *usrData)
 
static void setPrePutSelfCallback (DtPutSelfCallbackFcn fcn, void *usrData)
 
static void setPutIndent (bool)
 
static bool putIndent ()
 
static const chartheXmlType ()
 
static const DtFilename & appPath ()
 
static void setFactoryCreatorFunction (DtReaderWriterFactoryCreatorFcn fcn)
 
static void createReaderWriterFactory ()
 
static void cleanupFactory ()
 
static DtReaderWriterFactoryfactory ()
 
static void setOutputStream (DtOutputStream *stream)
 
static DtOutputStream & outputStream ()
 
static DtReaderWritercreateFromXmlFile (const DtFilename &, bool createAsProperty=false)
 
static DtReaderWritercreateFromXml (const DtString &, bool createAsProperty=false)
 
static DtReaderWritercreateFromEnvironment (DtEnvironmentSP, bool createAsProperty=false)
 
static DtString getAttribute (DtEnvironmentSP env, const DtString &name, DtEnvValueSP root)
 

Protected Types

typedef std::map< DtString,
DtInputPort * > 
DtInputPortMap
 
typedef std::map< DtString,
DtOutputPort * > 
DtOutputPortMap
 
typedef std::map< DtString,
DtInputPortGroup * > 
DtInputPortGroupMap
 
typedef std::map< DtString,
DtOutputPortGroup * > 
DtOutputPortGroupMap
 

Protected Member Functions

virtual double computeCurrentTime ()
 
bool testInvariant () const
 
virtual bool createPortGroups ()
 
virtual bool createPorts ()
 
DtVrfProcessStateRepositorycreateComponentPsr (const DtString &defaultPsrType, const DtString &defaultPsrName, bool useDescriptorParams=true)
 
virtual void updateTaskVisualizations ()
 
virtual void destroyTaskVisualizations ()
 
virtual void destroyTaskVisualization (const DtString &name)
 
virtual
makVrf::DtPointTaskVisualizationPtr 
pointTaskVisualization (const DtString &name)
 
virtual
makVrf::DtLineTaskVisualizationPtr 
lineTaskVisualization (const DtString &name)
 
virtual
makVrf::DtAreaTaskVisualizationPtr 
areaTaskVisualization (const DtString &name)
 
virtual
makVrf::DtTextTaskVisualizationPtr 
textTaskVisualization (const DtString &name)
 
double calculateNextTaskVisTickTime () const
 
DtVrfObjectStateRepositorylocalStateRepository ()
 
const DtVrfObjectStateRepositorylocalStateRepository () const
 
void addSimObjectPredicateCallback (DtSimObjectReference, DtVrfObjectPredicateCallbackFunction function, const DtVrfObjectPredicate &predicate, DtTime evaluationPeriod=0, void *userData=0)
 
void removeSimObjectPredicateCallback (const DtSimObject *, DtVrfObjectPredicateCallbackFunction function, const DtVrfObjectPredicate &predicate, DtTime evaluationPeriod=0, void *userData=0)
 
void invokeSimObjectPredicateCallbacks ()
 
virtual void clearPredicateCallbacks ()
 
- Protected Member Functions inherited from DtReaderWriter
virtual void bindToRwAsVariable (const DtReaderWriter *rw)
 

Protected Attributes

DtLocalObjectmyEntity
 
DtComponentSystemmySystem
 
DtListItem * myListItem
 
DtInputPortMap myInputPortList
 
DtOutputPortMap myOutputPortList
 
DtInputPortGroupMap myInputPortGroupList
 
DtOutputPortGroupMap myOutputPortGroupList
 
int myPriority
 
double myMinTickPeriod
 
double myMinTickPeriodVariance
 
double myNextTickTime
 
double myLastTickSimTime
 
double myDT
 
bool myIsEnabled
 
bool myFirstTick
 
const DtComponentDescriptormyComponentDescriptor
 
std::list
< DtVrfProcessStateRepository * > 
myComponentPsrs
 
bool myTickEveryFrame
 
makVrf::DtTaskVisualizationMap myTaskVisualizations
 
double myNextTaskVisTickTime
 
DtSymbolString myFullComponentName
 
DtSimulationServicesmySimServices
 
DtPredicateCallbackManager myPredicateCallbackManager
 
- Protected Attributes inherited from DtReaderWriter
const DtSymbolString myName
 
DtReaderWriterRegistry myRegistry
 
DtReaderWriterRegistrymyParentRegistry
 
bool myValueSpecified
 
bool myReadOnlyFlag
 
bool myIsVariableReference
 
DtSymbolString myVariableName
 
bool myVariableIsBound
 
DtReaderWritermyDefaultValue
 
aliasContainer myAliases
 
bool myInvalid
 
bool myChangedFlag
 

Static Protected Attributes

static DtSimComponentFactorymyFactory
 
- Static Protected Attributes inherited from DtReaderWriter
static DtString theUnspecifiedValue
 
static DtGetSelfCallbackInfo thePostGetSelfCallback
 
static DtPutSelfCallbackInfo thePrePutSelfCallback
 
static const DtVariableBindingsList theEmptyVariableBindingsList
 
static bool theCreatorFcnSet
 
static DtReaderWriterFactorytheFactory
 
static
DtReaderWriterFactoryCreatorFcn 
theFactoryCreatorFcn
 
static bool thePutIndent
 
static DtOutputStream * theOutputStream
 

Private Member Functions

 DtSimComponent ()
 
 DtSimComponent (const DtSimComponent &orig)
 
DtSimComponentoperator= (const DtSimComponent &orig)
 
VRF4API_METHOD const
DtSimulationServices
simManager () const
 
static VRF4API_METHOD
DtSimComponent
MarkThreadSafe (DtSimComponent *comp)
 

Additional Inherited Members

- Public Types inherited from DtReaderWriter
typedef std::vector
< DtSymbolString
aliasContainer
 
typedef std::vector
< DtSymbolString >::iterator 
aliasIter
 
typedef std::vector
< DtSymbolString >
::const_iterator 
aliasConstIter
 
typedef std::vector< DtFilename > SearchPaths
 
typedef std::pair
< DtSymbolString, DtString
DtVariableNameType
 
typedef DtReaderWriterFactory *(* DtReaderWriterFactoryCreatorFcn )()
 

Member Typedef Documentation

typedef std::map<DtString, DtInputPort*> DtSimComponent::DtInputPortMap
protected
typedef std::map<DtString, DtOutputPort*> DtSimComponent::DtOutputPortMap
protected

Constructor & Destructor Documentation

DtSimComponent::DtSimComponent ( const DtString name,
DtLocalObject owner,
DtSimulationServices simServices,
DtComponentDescriptor desc = 0,
DtReaderWriterRegistry parentRegistry = 0 
)
Parameters
nameReader writer name of this component.
ownerThe DtLocalObject that owns this component
simManagerThe simulation manager (provides access to terrain, message interface, simulation clock).
descThe component descriptor used to initialize this component.
parentRegistryPointer to the parent reader writer registry (the containing object that reads/writes this object).
virtual DtSimComponent::~DtSimComponent ( )
virtual

destructor

DtSimComponent::DtSimComponent ( )
private

default constructor; should not be called. Here because the compiler will generate an unprotected one otherwise.

DtSimComponent::DtSimComponent ( const DtSimComponent orig)
private

copy constructor, not implemented

Member Function Documentation

virtual void DtSimComponent::setParentSystem ( DtComponentSystem system)
virtual

Sets the parent system of this component. This is called before init() when the component is created. Non-virtual since this will probably be moved to the constructor some day, and we don't want to have users overriding this method.

DtComponentSystem* DtSimComponent::parentSystem ( ) const
virtual bool DtSimComponent::init ( )
virtual

Calls createPorts and createPortGroups Initializes myLastTickSimTime.

Reimplemented in DtObjectSensor, DtTDLContactMessageGeneratorController, DtSurfaceEntityPilotController, DtTargetSelectionController, DtDiGuyController, DtDisaggregatedFormationController, DtDisaggregatedMoveAlongController, DtDamageAdjudicationActuator, DtRoadMovementController, DtSimpleProximitySensor, DtSurfaceEntityStopController, DtAggregateOrganizationController, DtDisaggregatedLeadFollowInFormationController, DtSpawnController, DtFixedWingEmbarkationController, DtRadarObjectSensor, DtLauncherController, DtRailPathController, DtNavalMineSetController, DtWeaponController, DtEmitterComponent, DtMunitionLaunchController, DtJammerController, DtTacticalGraphicSetController, DtActuatorComponent, DtSpotReportGeneratorController, DtWeaponActuator, DtSurfaceEntityFollowEntityController, DtDynamicTerrainController, DtBallisticGunController, DtDisaggregatedMoveIntoFormationController, DtEngagementReportGeneratorController, DtWarheadDetonationActuator, DtConvoyTaskController, DtDynamicFeaturesController, DtLookAtActuator, DtMissileDistractionController, DtSignatureObjectSensor, DtHumanMovementActuator, DtSurfaceEntityActuator, DtScriptReactiveTaskController, DtAirRefuelSupplierController, DtFixedWingActuatorComponent, DtLasingController, DtSensorGimbalController, DtFixedWingMoveAlongController, DtDetonationController, DtDisaggregatedMoveToLocationController, DtDisaggregatedOccupancyDirectorController, DtDisaggregatedPatrolAlongController, DtFixedWingPilotController, DtLaunchExpendableResourceController, DtObstructionSensor, DtSurfaceEntityMoveAlongController, DtSurfaceEntitySimpleActuator, DtFixedWingTakeoffController, DtLaserGuidedLauncherController, DtMinefieldController, DtReleaseBombController, DtRotorWashController, DtAggregateWeaponListResponder, DtAutomotiveActuatorComponent, DtAggregatedMovementActuator, DtContactFusionController, DtCruiseMissileLaunchController, DtGroundMovementChooserController, DtIndirectFireController, DtRotaryWingActuatorComponent, DtSwingingPartActuator, DtAggregateMountedMovementSwitcher, DtBallisticGun, DtExtendablePartActuator, DtLaunchSmokeController, DtNonLethalDamageActuator, DtParabolicTrajectoryActuator, DtSubSurfaceDepthController, DtSuppressionActuator, DtAggregatedMoveToController, DtHumanFollowController, DtHumanMoveAlongController, DtHumanMoveToController, DtHumanPatrolController, DtLasingMissileTrackController, DtResupplyController, DtTurretSlewController, DtOccupancyDirectorController, DtPassiveSonarSensor, DtBaseParachuteActuator, DtBombController, DtEmbarkationController, DtLauncherActuator, DtLimitExistenceController, DtMultipleHitDamageActuator, DtResupplySupplierController, DtSpotReportReceiver, DtAirVehicleWeaponHoldController, DtHumanCollisionAvoidanceController, DtMissileManeuverActComponent, DtResupplyReceiverController, DtTranslatablePartActuator, DtAggregatedPatrolController, DtFallingFromSkyActuatorComponent, DtFixedWingLandingController, DtHumanDamageActuator, DtIndirectFireWeaponController, DtRotaryWingPilotController, DtSearchRescueSensor, DtGroundCollisionAvoidanceController, DtGroundMoveToDestinationControllerComponent, DtMovementBasedTerrainPreloadController, DtNavigationPreferenceController, DtSensorGimbalActuator, DtTDLMessageGeneratorController, DtUnderFireDeterminationSensor, DtControllerComponent, DtActiveSonarSensor, DtEmergencyBeaconComponent, DtIntegratedLaserGuidedLauncherController, DtSimpleRotaryWingPilot, DtTacanComponent, DtTopLevelOrganizationController, DtTurretScanController, DtDisaggregatedPatrolBetweenController, DtHumanFleeController, DtRotaryWingWaitController, DtShapeBasedTerrainPreloadController, DtSubSurfaceEntitySimpleActuator, DtWaitController, DtArticulatedPartController, DtBombActuator, DtCombatRangeController, DtEnvironmentalActivationController, DtFixedWingFlightCommandController, DtHumanPostureController, DtIndirectArtilleryComponent, DtMissileCollisionActuator, DtMoveAlongWithActionsController, DtParachuteController, DtBaseWeaponController, DtCruiseMissileDefaultController, DtFixedWingDefaultController, DtFixedWingGunneryController, DtGroundAutoControllerComponent, DtHumanCrosswalkController, DtRotaryWingEncumberedFlightActuator, DtRotaryWingLandingController, DtAggregateAntiAirController, DtAggregateIndirectFireController, DtAimWeaponController, DtDefaultLandingGearController, DtGroundVehicleTrailingEffectController, DtHumanUseDoorController, DtMissileControllerComponent, DtNavTagTraversalController, DtRotaryWingFlightCommandController, DtRotaryWingMoveAlongControllerComponent, DtHumanLauncherAcquireController, DtNbcSensor, DtSendRadioMessageController, DtSetController, DtAggregateMountedMovementRelayController, DtAggregateMountedSetRelayController, DtDisaggregatedSetController, DtDisaggregatedSetManeuverController, DtEngineeringObjectSensor, DtTagVolumeDimensionsController, DtAggregatedMoveAlongController, DtAirportLightingController, DtBreachDetector, DtEncumbranceActuator, DtIffControllerComponent, DtRotaryWingTaskController, DtTerrainProximityIndicator, DtUpdateRepositoryActuator, DtAggregateReleaseBombController, DtHumanEyepointController, DtHumanTurnToController, DtRotaryWingJoyFlightController, DtRotaryWingLandingGearController, DtTimeKeeperComponent, DtMissileSetController, DtRemoteSensorSpotReportReceiver, DtAggregateFollowController, DtEmbeddedEntitiesController, DtGroundMoveAlongControllerComponent, DtHumanAcquireController, DtLocalEntitySetController, DtScriptedMovementController, DtMissileTargetController, DtDiGuyGestureController, DtFrictionlessGravityCollisionsActuator, DtHumanStopMovingController, DtRadarWarningReceiver, DtRangeRingController, DtMultiTaskControllerComponent, DtTemperatureMonitorActuator, DtFixedWingHoldController, DtHumanFaceTargetController, DtIndividualLifeFormDamageAdjudicationActuator, DtLookAtPointController, DtRadarJammer, vrfAddSetEncumbranceExample::DtManualRotaryWingEncumberedFlightActuator, DtAggregateCombatAdjustmentController, DtAggregateLoadoutController, DtAirborneAggregatedMovementActuator, DtStatePropertyInitializationController, DtAimAtPointController, DtEngineeringObjectSetController, DtHoldController, DtSyncMatrixController, DtSystemSwitcherComponent, DtCreateEngineeringObjectController, DtScriptMultiTaskController, DtSpawnObjectWarheadActuator, DtAffectEngineeringObjectController, DtDestroyEngineeringObjectController, DtBreachObstacleController, DtNavMovementActuator, DtDieWhenHitActuator, DtFascamController, DtOrbitActuator, DtCompatibilityController, and MyActuatorComponent.

virtual bool DtSimComponent::postAddComponentsInit ( )
inlinevirtual

Called after all components have been created, initialized and added to the component manager. Override this function if you need to do any further initialization after all other components have been created.

Reimplemented in DtFixedWingPilotController, DtSimpleRotaryWingPilot, DtSurfaceEntityPilotController, DtSurfaceEntityFollowEntityController, DtGroundAutoControllerComponent, DtMissileControllerComponent, DtTargetSelectionController, DtRotaryWingTaskController, DtObjectSensor, DtHumanAcquireController, DtSubSurfaceDepthController, DtBombController, DtFixedWingDefaultController, DtWeaponActuator, DtTurretAcquireController, DtSurfaceEntityActuator, DtGroundMovementChooserController, DtAggregateMountedMovementSwitcher, DtSurfaceEntitySimpleActuator, DtAggregateWeaponListResponder, DtIndirectFireController, DtLaunchExpendableResourceController, DtSensorGimbalController, DtTurretActuatorComponent, DtIndirectFireActuator, DtFixedWingTakeoffController, DtSwingingPartActuator, DtBallisticGunController, DtExtendablePartActuator, DtTrailerActuator, DtTranslatablePartActuator, DtFixedWingLandingController, DtControllerComponent, DtDetonationController, DtNavigationPreferenceController, DtResupplyController, DtBaseWeaponController, DtFixedWingGunneryController, DtAggregateMountedMovementRelayController, DtResupplySupplierController, DtAggregatedSetController, DtAimWeaponController, DtBaseMountingController, DtResupplyReceiverController, DtMountingAzimuthActuator, DtMountingElevationActuator, DtEventTriggerController, DtAggregateLoadoutController, and DtMoppEnableController.

virtual void DtSimComponent::registerAttributeFunctions ( )
inlinevirtual

Called to register functions that provide system attribute values. Called by init(). Empty in this class. Overridden in different components to add attribute provider functions.

Reimplemented in DtIndirectFireActuator, DtLaserGuidedLauncherController, DtLauncherController, DtMunitionLaunchController, DtIndirectFireWeaponController, DtIffControllerComponent, and DtFixedWingPilotController.

virtual void DtSimComponent::enable ( )
virtual
virtual void DtSimComponent::disable ( )
virtual
virtual bool DtSimComponent::isEnabled ( )
virtual

Is this component enabled or not. If enabled, component's tick function will be called, otherwise it will not. Default is true (enabled).

virtual void DtSimComponent::setIsEnabled ( bool  yesNo)
virtual

Is this component enabled or not. If enabled, component's tick function will be called, otherwise it will not. Default is true (enabled).

Reimplemented in DtObjectSensor, DtIffControllerComponent, and DtAggregatedSetController.

virtual void DtSimComponent::preFirstTickInit ( )
virtual

This function can be overridden to initialize a component before it is ticked for the first time. The implementation for this function is empty. It is called by timedTick if myFirstTick is true.

Reimplemented in DtRotaryWingActuatorComponent, DtSurfaceEntityFollowEntityController, DtHumanMoveToController, DtBaseWeaponController, DtLauncherController, DtTargetSelectionController, DtFixedWingTakeoffController, DtHumanFleeController, DtActiveSonarSensor, DtObjectSensor, DtSpawnController, DtAggregatedMoveToController, DtMoveAlongWithActionsController, DtDiGuyController, DtConvoyTaskController, DtDisaggregatedLeadFollowInFormationController, DtRoadMovementController, DtRadarObjectSensor, DtSimpleProximitySensor, DtOccupancyDirectorController, DtRailPathController, DtEmbarkationController, DtScriptedMovementController, DtTurretAcquireController, DtWeaponController, DtFixedWingLandingController, DtDynamicTerrainController, DtResupplyReceiverController, DtEmitterComponent, DtEncumbranceActuator, DtLaserGuidedLauncherController, DtHumanMovementActuator, DtAggregateMountedMovementSwitcher, DtLasingController, DtReleaseBombController, DtBallisticGun, DtBallisticGunController, DtAirRefuelSupplierController, DtDetonationController, DtLaunchExpendableResourceController, DtAggregateWeaponListResponder, DtFixedWingMoveAlongController, DtIndirectFireActuator, DtNavMovementActuator, DtHumanMoveAlongController, DtMissileTargetController, DtSurfaceEntityMoveAlongController, DtScriptReactiveTaskController, DtDynamicTerrainVehicleTrackController, DtMinefieldController, DtMultipleHitDamageActuator, DtObstructionSensor, DtRotaryWingLandingGearController, DtTrailerActuator, DtIndirectFireWeaponController, DtEnvironmentalActivationController, DtSearchRescueSensor, DtNavigationPreferenceController, DtAggregateMountedMovementRelayController, DtProvideIndirectFireController, DtSensorGimbalActuator, DtEmergencyBeaconComponent, DtTacanComponent, DtAggregatedSetController, DtAirportLightingController, DtScenarioEventController, DtAggregatedMoveAlongController, DtCruiseMissileDefaultController, DtShapeBasedTerrainPreloadController, DtFrictionlessGravityActuator, DtGroundMoveAlongControllerComponent, DtAggregateAntiAirController, DtAggregateIndirectFireController, DtIffControllerComponent, DtTagVolumeDimensionsController, DtAggregateReleaseBombController, DtTerrainProximityIndicator, DtEmbeddedEntitiesController, DtAirborneAggregatedMovementActuator, DtPropulsionNoiseGenerator, DtRadarWarningReceiver, DtRangeRingController, DtSyncMatrixController, DtFrictionlessGravityCollisionsActuator, DtRadarJammer, DtStatePropertyInitializationController, DtAggregateCombatAdjustmentController, DtNbcWeaponController, DtRunwaySetController, and DtScriptMultiTaskController.

virtual void DtSimComponent::tick ( )
virtual

This gives the thread of control to the component. The component is ticked once each simulation from by the component list it's on. This base class tick has no functionality.

Reimplemented in DtIndirectFireActuator, DtSurfaceEntityMoveAlongController, DtTargetSelectionController, DtBaseWeaponController, DtDamageAdjudicationActuator, DtObjectSensor, DtGroundFollowEntityController, DtRailPathController, DtSpawnController, DtSurfaceEntityPilotController, DtDiGuyController, DtDisaggregatedMoveAlongController, DtLocalEntitySetController, DtAggregatedSetController, DtConvoyTaskController, DtSurfaceEntityActuator, DtDisaggregatedEmbarkationController, DtRadarObjectSensor, DtRoadMovementController, DtRotaryWingFollowEntityController, DtDisaggregatedLeadFollowInFormationController, DtDisaggregatedFormationController, DtSurfaceEntityFollowEntityController, DtSignatureObjectSensor, DtMunitionLaunchController, DtSurfaceEntityMoveToLocationController, DtOccupancyDirectorController, DtAggregateWeaponListResponder, DtSuppressionActuator, DtSurfaceEntitySimpleActuator, DtWarheadDetonationActuator, DtWeaponController, DtRetreatController, DtNonLethalDamageActuator, DtSurfaceEntityPatrolBetweenController, DtSurfaceEntityStopController, DtEmbarkationController, DtReleaseBombController, DtDynamicTerrainController, DtLauncherController, DtFixedWingTakeoffController, DtLasingController, DtTurretAcquireController, DtFixedWingLandingController, DtResupplyReceiverController, DtSurfaceEntityMoveToController, DtHumanJoystickMovementController, DtSpotReportGeneratorController, DtAggregateMountedMovementSwitcher, DtBallisticGun, DtLaserGuidedLauncherController, DtResupplySupplierController, DtWeaponActuator, DtHumanMovementActuator, DtMissileDistractionController, DtBallisticGunController, DtEngagementReportGeneratorController, DtFixedWingMoveAlongController, DtHumanMoveAlongController, DtAirRefuelSupplierController, DtLaunchExpendableResourceController, DtObstructionSensor, DtParabolicTrajectoryActuator, DtSearchRescueSensor, DtDetonationController, DtSubSurfaceEntitySimpleActuator, DtUnderFireDeterminationSensor, DtDynamicTerrainVehicleTrackController, DtFixedWingActuatorComponent, DtHumanObstructionSensor, DtIndirectFireController, DtNavalMineSetController, DtSensorGimbalController, DtTurretActuatorComponent, DtVrfObjectDataMessenger, DtDynamicFeaturesController, DtMinefieldController, DtSwingingPartActuator, DtTrailerActuator, DtScriptReactiveTaskController, DtAggregatedMovementActuator, DtBombController, DtCombatRangeController, DtContactFusionController, DtExtendablePartActuator, DtSubSurfaceDepthController, DtAutomotiveActuatorComponent, DtBaseMountingController, DtCruiseMissileLaunchController, DtFixedWingPilotController, DtHumanFollowController, DtBallisticGunJoyController, DtRotaryWingActuatorComponent, DtShapeBasedTerrainPreloadController, DtTurretSlewController, DtDisaggregatedPatrolAlongController, DtEmitterComponent, DtHumanCollisionAvoidanceController, DtDisaggregatedPatrolBetweenController, DtTranslatablePartActuator, DtAggregatedMoveToController, DtArticulatedPartController, DtGroundCollisionAvoidanceController, DtGroundMoveToDestinationControllerComponent, DtHumanMoveToController, DtIndirectFireWeaponController, DtAggregateOrganizationController, DtIndirectArtilleryComponent, DtJammerController, DtSensorGimbalActuator, DtAirVehicleWeaponHoldController, DtBaseParachuteActuator, DtDisaggregatedDamageActuator, DtDynamicTerrainMunitionDamageController, DtFallingFromSkyActuatorComponent, DtLaunchSmokeController, DtMissileManeuverActComponent, DtSpotReportReceiver, DtActiveSonarSensor, DtLimitExistenceController, DtOrganizationController, DtRotaryWingWaitController, DtSimpleRotaryWingPilot, DtTDLMessageGeneratorController, DtWaitController, DtAirportLightingController, DtBallisticGunJoy, DtHumanDamageActuator, DtRotorWashController, DtTopLevelOrganizationController, DtBombActuator, DtFixedWingGunneryController, DtHumanGunActuator, DtAimWeaponController, DtCruiseMissileDefaultController, DtMissileCollisionActuator, DtGroundMoveAlongControllerComponent, DtHumanAcquireController, DtHumanFleeController, DtMountingAzimuthActuator, DtMoveAlongWithActionsController, DtNbcSensor, DtRotaryWingPilotController, DtSurfaceEntityTurnMoveController, DtAggregatedMoveAlongController, DtEmbeddedEntitiesController, DtHumanPostureController, DtLookAtActuator, DtMountingElevationActuator, DtRotaryWingEncumberedFlightActuator, DtDefaultLandingGearController, DtEngineeringObjectSensor, DtFixedWingFlightCommandController, DtHumanCrosswalkController, DtHumanWeaponStateActuator, DtIndividualLifeFormDamageAdjudicationActuator, DtIntegratedLaserGuidedLauncherController, DtSimpleProximitySensor, DtTurretScanController, DtEncumbranceActuator, DtHumanUseDoorController, DtNavTagTraversalController, DtTimeKeeperComponent, DtEnvironmentalActivationController, DtFixedWingFollowEntityController, DtIffControllerComponent, DtParachuteActuator, DtParachuteController, DtRotaryWingLandingController, DtTurretAimController, DtAggregateIndirectFireController, DtFixedWingDefaultController, DtScriptedMovementController, DtAggregateFollowController, DtMissileTargetController, DtRotaryWingLandingGearController, DtRotaryWingMoveAlongControllerComponent, DtRotaryWingTurnToHeadingController, DtTurretReturnToHeadingController, DtAggregateReleaseBombController, DtDiGuyGestureController, DtDisaggregatedActuator, DtGroundFollowInFormationControllerComponent, DtHumanEyepointController, DtHumanTurnToController, DtMissileMoveToControllerComponent, DtRotaryWingFlightCommandController, DtRemoteSensorSpotReportReceiver, DtRotaryWingPatrolBetweenController, DtSendRadioMessageController, DtTacticalSmokeActuator, DtAffectEngineeringObjectController, DtAggregateMountedSetRelayController, DtBreachDetector, DtDisaggregatedSetController, DtDisaggregatedSetManeuverController, DtEventTriggerController, DtSinkToDepthActuator, DtTerrainProximityIndicator, DtFixedWingMoveToController, DtRotaryWingTaskController, DtGroundStopMovingControllerComponent, DtGroundVehicleTrailingEffectController, DtHumanStopMovingController, DtLaserDetector, DtHumanFaceTargetController, DtLookAtPointController, DtPropulsionNoiseGenerator, DtSyncMatrixController, vrfAddSetEncumbranceExample::DtManualRotaryWingEncumberedFlightActuator, DtTemperatureMonitorActuator, DtEmergencyBeaconComponent, DtGlobalEnvironmentActuator, DtGroundTurnToControllerComponent, DtRotaryWingLoiterControllerComponent, DtTacanComponent, DtSimpleRadarWarningReceiver, DtSimpleRadarWarningReceiver, DtAimAtPointController, DtRotaryWingMoveToControllerComponent, DtSystemSwitcherComponent, DtUpdateRepositoryActuator, DtDisaggregatedMoveToController, DtHoldController, DtScenarioEventController, DtSimpleRadarWarningResponse, DtSimpleRadarWarningResponse, DtRadarWarningReceiver, DtScriptEnableByAggregatePostureController, DtNavMovementActuator, DtScriptMultiTaskController, DtRunwaySetController, DtRadarJammer, DtDieWhenHitActuator, DtOrbitActuator, MyActuatorComponent, and MyParallelTickComponent.

virtual void DtSimComponent::postTick ( )
virtual

This function is called immediately after tick() is called. Implementation in this class just ticks task visualizations if taskVisualizationsActive() returns true.

Reimplemented in DtMultiTaskControllerComponent, and DtSingleTaskControllerComponent.

virtual void DtSimComponent::timedTick ( )
virtual

This version of tick checks to see if the time to tick has arrived. It checks to see if myNextTickTime <= currentTime, where current time is either exerciseClock()->approximateElapsedRealTime() or exerciseClock()->simTime() depending on the tick-period-uses-real-time parameter. If true, it calls tick(), then calls postTick(), and then recalculates the next time to call timedTick() (myNextTickTime) by calling calculateNextTickTime().

Reimplemented in DtSpotReportGeneratorController, and DtActiveSonarSensor.

virtual void DtSimComponent::setMinTickPeriod ( double  minTickPeriod)
virtual

specifies a minimum tick period (which can also be thought of as

  1. / maximum tick rate). This is specified in seconds.
virtual double DtSimComponent::minTickPeriod ( ) const
virtual

access the minimum tick period

virtual void DtSimComponent::setMinTickPeriodVariance ( double  minTickPeriodVariance)
virtual

set the variance in the minimum tick time

virtual double DtSimComponent::minTickPeriodVariance ( ) const
virtual

access the variance in the minimum tick period

virtual void DtSimComponent::setNextTickTime ( double  nextTickTime)
virtual

The next tick time is normally calculated internally. setNextTickTime can be used to force a tick (set nextTickTime to exerciseClock()-> approximateElapsedRealTime())

virtual double DtSimComponent::nextTickTime ( ) const
virtual

access the next tick time

virtual double DtSimComponent::calculateNextTickTime ( ) const
virtual

The next tick time is equal to mySimManager->exerciseClock()-> approximateElapsedRealTime() + myMinTickPeriod + a random # between -myMinTickPeriodVariance/2. and +myMinTickPeriodVariance/2. If the exercise clock is paused, the variance is always set to zero to insure that the extra calls to DtFRand() don't prevent repeatability.

virtual double DtSimComponent::calculateFirstTickTime ( ) const
virtual

Returns the first time value that the component should tick at. This is a randomized interval from the current time up to the tick period of the component. Returns either real time or sim time, depending on the value of the tickPeriodUsesRealTime flag in the descriptor.

virtual const char* DtSimComponent::type ( ) const
pure virtual

Returns a string identifies the class type of component. Type values are defined in compTypes.h. DtSimComponent creation functions are registered with the DtSimComponentFactory using the type values as the key. Warning: this function should always return the same pointer and it should be valid forever. This means the data should be static.

Implemented in DtDisaggregatedConvoyFormationController, DtDamageAdjudicationActuator, DtObjectSensor, DtTargetSelectionController, DtSurfaceEntityPilotController, DtDisaggregatedFormationController, DtRailPathController, DtDiGuyController, DtSuppressionActuator, DtNonLethalDamageActuator, DtWarheadDetonationActuator, DtDisaggregatedMoveAlongController, DtRadarObjectSensor, DtRoadMovementController, DtDynamicTerrainController, DtEmitterComponent, DtHumanCollisionAvoidanceController, DtLauncherController, DtFixedWingMoveAlongController, DtIndirectFireActuator, DtGroundCollisionAvoidanceController, DtMultipleHitDamageActuator, DtObstructionSensor, DtDisaggregatedLeadFollowInFormationController, DtSignatureObjectSensor, DtSpotReportGeneratorController, DtWeaponActuator, DtTurretAcquireController, DtMinefieldController, DtBombController, DtEngagementReportGeneratorController, DtParabolicTrajectoryActuator, DtConvoyTaskController, DtFixedWingPilotController, DtMissileDistractionController, DtWeaponController, DtBallisticGun, DtHumanMovementActuator, DtSensorGimbalController, DtSurfaceEntityActuator, DtUnderFireDeterminationSensor, DtMunitionLaunchController, DtTurretActuatorComponent, DtAggregateMountedMovementSwitcher, DtAirRefuelSupplierController, DtFixedWingActuatorComponent, DtLasingController, DtSurfaceEntityPatrolRouteController, DtFixedWingTakeoffController, DtGroundMoveToDestinationControllerComponent, DtSurfaceEntityFollowEntityController, DtSurfaceEntitySimpleActuator, DtSwingingPartActuator, DtTrailerActuator, DtVrfObjectDataMessenger, DtAggregatedMovementActuator, DtBallisticGunController, DtDisaggregatedMoveIntoFormationController, DtDynamicFeaturesController, DtExtendablePartActuator, DtGroundMovementChooserController, DtTaskControllerComponent, DtAggregateWeaponListResponder, DtAutomotiveActuatorComponent, DtRetreatController, DtContactFusionController, DtDynamicTerrainVehicleTrackController, DtIndirectFireController, DtRotaryWingActuatorComponent, DtScriptReactiveTaskController, DtCruiseMissileDefaultController, DtHumanMoveAlongController, DtSearchRescueSensor, DtTranslatablePartActuator, DtTurretSlewController, DtAggregatedMoveToController, DtArticulatedPartController, DtBaseWeaponController, DtHumanMoveToController, DtOccupancyDirectorController, DtPassiveSonarSensor, DtRotaryWingPilotController, DtSurfaceEntityPatrolBetweenController, DtAirVehicleSetController, DtBaseParachuteActuator, DtDisaggregatedMoveToLocationController, DtEmbarkationController, DtFixedWingFlyIntoController, DtFixedWingLandingController, DtIndirectArtilleryComponent, DtJammerController, DtLauncherActuator, DtSensorGimbalActuator, DtSpotReportReceiver, DtSurfaceEntityMoveAlongController, DtAirVehicleWeaponHoldController, DtDetonationController, DtDisaggregatedPatrolAlongController, DtDynamicTerrainMunitionDamageController, DtEmergencyBeaconComponent, DtFixedWingFlightCommandController, DtMissileManeuverActComponent, DtTacanComponent, DtFallingFromSkyActuatorComponent, DtHumanDamageActuator, DtLaserGuidedLauncherController, DtSimpleRotaryWingPilot, DtAggregateOrganizationController, DtAirportLightingController, DtCruiseMissileLaunchController, DtCulturalFeatureSetController, DtDisaggregatedDamageActuator, DtDisaggregatedEmbarkationController, DtIffControllerComponent, DtMovementBasedTerrainPreloadController, DtOrganizationController, DtParachuteController, DtRotaryWingLandingController, DtRotorWashController, DtShapeBasedTerrainPreloadController, DtTDLMessageGeneratorController, DtActiveSonarSensor, DtAimWeaponController, DtBaseMountingController, DtFixedWingDefaultController, DtSurfaceEntityMoveToLocationController, DtTopLevelOrganizationController, DtDisaggregatedPatrolBetweenController, DtHumanAcquireController, DtHumanFollowController, DtLasingMissileTrackController, DtRotaryWingMoveAlongControllerComponent, DtRotaryWingTurnToHeadingController, DtSubSurfaceDepthController, DtSubSurfaceEntitySimpleActuator, DtSurfaceEntityTurnMoveController, DtBombActuator, DtHumanFleeController, DtHumanPatrolController, DtMissileCollisionActuator, DtMissileMoveToControllerComponent, DtMountingAzimuthActuator, DtMoveAlongWithActionsController, DtRotaryWingFlightCommandController, DtSurfaceEntityStopController, DtGroundAutoControllerComponent, DtGroundMoveToControllerComponent, DtHumanPostureController, DtLookAtActuator, DtMissileTrackEntityController, DtMountingElevationActuator, DtRotaryWingEncumberedFlightActuator, DtRotaryWingPatrolBetweenController, DtTagVolumeDimensionsController, DtDefaultLandingGearController, DtDisaggregatedWaitController, DtFixedWingEntitySetController, DtHumanCrosswalkController, DtIndirectFireWeaponController, DtLimitExistenceController, DtMissileControllerComponent, DtReleaseBombController, DtSimpleProximitySensor, DtTerrainProximityIndicator, DtFixedWingMoveToController, DtFixedWingPatrolRouteController, DtGroundFollowEntityController, DtHumanLauncherAcquireController, DtHumanUseDoorController, DtNavTagTraversalController, DtNbcSensor, DtParachuteActuator, DtRotaryWingPatrolRouteController, DtSpawnController, DtTDLContactMessageGeneratorController, DtAggregatedPatrolController, DtAggregateMountedMovementRelayController, DtEngineeringObjectSensor, DtGroundStopMovingControllerComponent, DtRotaryWingFollowEntityController, DtRotaryWingTaskController, DtTurretAimController, DtTurretScanController, DtControllerComponent, DtBallisticGunJoy, DtDisaggregatedTurnToHeadingController, DtEncumbranceActuator, DtHumanWeaponStateActuator, DtResupplySupplierController, DtScriptedMovementController, DtActivityController, DtAggregatedMoveAlongController, DtDisaggregatedOccupancyDirectorController, DtFixedWingFollowEntityController, DtFixedWingPatrolBetweenController, DtFixedWingTankerEntitySetController, DtGlobalEnvironmentActuator, DtGroundPatrolBetweenController, DtGroundPatrolRouteController, DtGroundTurnToControllerComponent, DtHumanEyepointController, DtIntegratedLaserGuidedLauncherController, DtMissileTargetController, DtResupplyReceiverController, DtRotaryWingJoyFlightController, DtRotaryWingLandingGearController, DtRotaryWingLoiterControllerComponent, DtRotaryWingWaitController, DtTurretReturnToHeadingController, DtWaitController, DtBeaconRadarObjectSensor, DtHumanTurnToController, DtRadarWarningReceiver, DtRemoteSensorSpotReportReceiver, DtRotaryWingMoveToControllerComponent, DtAffectEngineeringObjectController, DtCreateEngineeringObjectController, DtCruiseMissileMoveAlongController, DtFixedWingGunneryController, DtFrictionlessGravityCollisionsActuator, DtGroundFollowInFormationControllerComponent, DtGroundMoveAlongControllerComponent, DtLaunchExpendableResourceController, DtLocalEntitySetController, DtRadarJammer, DtSurfaceEntityMoveToController, DtTacticalSmokeActuator, DtAggregateAntiAirController, DtAggregateIndirectFireController, DtDisaggregatedActuator, DtDisaggregatedMoveToController, DtHumanJoystickMovementController, DtAggregateMountedSetRelayController, DtDisaggregatedSetController, DtDisaggregatedSetManeuverController, DtHumanGunActuator, DtHumanSetController, DtProvideIndirectFireController, DtSendRadioMessageController, DtSurfaceEntitySetController, MyJoystickControllerComponenet, DtBallisticGunJoyController, DtBreachDetector, DtDestroyEngineeringObjectController, DtFixedWingEmbarkationController, DtGroundLeadFormationControllerComponent, DtGroundMoveToLocationControllerComponent, DtGroundVehicleTrailingEffectController, DtHumanFaceTargetController, DtHumanStopMovingController, DtIndividualLifeFormDamageAdjudicationActuator, DtLaunchSmokeController, DtLookAtPointController, DtTacticalGraphicSetController, ExampleTDLMessageGeneratorController, DtAggregateDynamicFeaturesController, DtBreachObstacleController, DtNavigationPreferenceController, DtPropulsionNoiseGenerator, DtAggregateReleaseBombController, DtAimAtPointController, DtAirborneAggregatedMovementActuator, DtFixedWingJoyFlightController, DtFrictionlessGravityActuator, DtGroundJoyMoveController, DtScriptEnableController, DtSyncMatrixController, DtTimeKeeperComponent, DtEventTriggerController, DtFixedWingMoveToLocationController, DtGroundJoyTurretController, DtHumanObstructionSensor, DtMountingController, DtNavalMineSetController, DtSystemSwitcherComponent, DtTDLPPLIMessageGeneratorController, DtTDLStatusMessageGeneratorController, DtAggregateFollowController, DtCombatRangeController, DtEmbeddedEntitiesController, DtLaserDetector, DtUpdateRepositoryActuator, DtVerticalLauncherController, DtEnvironmentalActivationController, DtFascamController, DtMoppEnableController, DtNbcWeaponController, DtRotaryWingEmbarkationController, DtRotaryWingMoveToLocationControllerComponent, DtRangeRingController, DtResupplyController, DtScenarioEventController, DtSinkToDepthActuator, DtTemperatureMonitorActuator, DtSimpleRadarWarningReceiver, DtSimpleRadarWarningResponse, DtSimpleRadarWarningReceiver, DtSimpleRadarWarningResponse, DtDiGuyGestureController, DtFixedWingHoldController, DtPseudoAggregatedSetController, DtSpawnObjectWarheadActuator, DtAggregateCombatAdjustmentController, DtAggregateLoadoutController, DtStatePropertyInitializationController, DtHoldController, DtNavMovementActuator, DtRunwaySetController, DtAerodromeSetController, DtMissileSetController, DtScriptMultiTaskController, DtDieWhenHitActuator, DtOrbitActuator, DtAggregatedSubsurfaceMovementActuator, MyActuatorComponent, MyParallelTickComponent, and DtCompatibilityController.

virtual void DtSimComponent::setEntity ( DtLocalObject entity)
virtual

The entity's state repository is the place that actuator components make updates and other components look to see our current state. This provides a basic communication mechanism between components. Having the entity changeable makes it possible to migrate a component from one entity to another... A local copy of the entity's state repository is also made by this call for ease of use.

Reimplemented in DtLaserDetector, DtSimpleRadarWarningReceiver, and DtSimpleRadarWarningReceiver.

virtual DtSimComponent* DtSimComponent::nextComponent ( )
virtual

List management functions.

virtual DtSimComponent* DtSimComponent::prevComponent ( )
virtual
virtual void DtSimComponent::setListItem ( DtListItem *  item)
virtual

Used by DtComponentList.

virtual DtListItem* DtSimComponent::listItem ( )
virtual
virtual void DtSimComponent::putData ( std::string &  fp,
int  indentLevel = 0 
)
virtual

putData writes our type, which is provided by the virtual type accessor of the deriving class.

Reimplemented from DtReaderWriter.

virtual DtlObjPtr DtSimComponent::getData ( DtlObjPtr  args,
const DtReaderWriter::SearchPaths searchPaths,
const DtVariableBindingsList variableBindings 
)
virtual

getData is just used to get us past the type in the data stream, since it's not actual stored.

Reimplemented from DtReaderWriter.

virtual void DtSimComponent::addInputPort ( DtInputPort port)
virtual

Adds this input port to the components input port list so that other components can look it up and attach to it.

virtual void DtSimComponent::removeInputPort ( DtInputPort port)
virtual
virtual DtInputPort* DtSimComponent::lookupInputPort ( const DtString portName)
virtual

Returns a pointer to the input port registered on this component with the specified name. portName can specify a group and port in the form "groupname:portname" which will cause this function to look for the port inside the specified group.

virtual DtList DtSimComponent::inputPortList ( ) const
virtual

Returns the list of DtInputPorts registered on this component.

virtual void DtSimComponent::addOutputPort ( DtOutputPort port)
virtual

Adds this output port to the components output port list so that other components can look it up and attach to it.

virtual void DtSimComponent::removeOutputPort ( DtOutputPort port)
virtual
virtual DtOutputPort* DtSimComponent::lookupOutputPort ( const DtString portName)
virtual

Returns a pointer to the output port registered on this component with the specified name. portName can specify a group and port in the form "groupname:portname" which will cause this function to look for the port inside the specified group.

virtual DtList DtSimComponent::outputPortList ( ) const
virtual

Returns the list of DtOutputPorts registered on this component.

virtual void DtSimComponent::addInputPortGroup ( DtInputPortGroup group)
virtual

Adds this input port to the components input port list so that other components can look it up and attach to it.

virtual void DtSimComponent::removeInputPortGroup ( DtInputPortGroup group)
virtual
virtual DtInputPortGroup* DtSimComponent::lookupInputPortGroup ( const DtString groupName)
virtual

Returns a pointer the input port group registered on this component with the specified name.

virtual DtList DtSimComponent::inputPortGroupList ( ) const
virtual

Returns the list of DtInputPortGroups registered on this component.

virtual void DtSimComponent::addOutputPortGroup ( DtOutputPortGroup group)
virtual

Adds this output port group to the components output port group list so that other components can look it up and attach to it.

virtual void DtSimComponent::removeOutputPortGroup ( DtOutputPortGroup group)
virtual
virtual DtOutputPortGroup* DtSimComponent::lookupOutputPortGroup ( const DtString groupName)
virtual

Returns a pointer the output port group registered on this component with the specified name.

virtual DtList DtSimComponent::outputPortGroupList ( ) const
virtual

Returns the list of DtOutputPortGroups registered on this component.

virtual int DtSimComponent::priority ( ) const
virtual

Return the current connection priority for this component. This value determines which component will take precedence when multiple connections attempts are active on the same input port. Lower numbers will take precedence. By default, component priorities are based on the order they were listed in the OPD entry, starting with 0.

virtual void DtSimComponent::setPriority ( int  priority)
virtual

Sets a new connection priority for this component, and changes all current outgoing connections from this component to the new value. By default, component priorities are based on the order they were listed in the OPD entry, starting with 0. It is only necessary to use this method if components are being added or removed after object-creation time.

double DtSimComponent::dT ( ) const
inline

This is the delta-t for this component, which may or may not be the same as the exerciseClock dT. Note that dT() is not virtual, as it is inlined.

Returns
time in seconds

References myDT.

virtual void DtSimComponent::setDT ( double  deltaT)
virtual

Note that while dT is calculated internally, this makes it possible to 'lie' to the component about dT if necessary.

Parameters
Input
deltaTtime in seconds
virtual void DtSimComponent::setComponentDescriptor ( DtComponentDescriptor componentDescriptor)
virtual

The component descriptor specified in the order of battle file or parameter file that was used to create this component. It may be derived from and hold component-specific parameter information.

Reimplemented in DtWarheadDetonationActuator, DtMunitionLaunchController, DtFixedWingFlyIntoController, DtLaserGuidedLauncherController, DtCruiseMissileLaunchController, DtVrfObjectDataMessenger, DtGroundMoveToDestinationControllerComponent, and DtBallisticGunJoy.

virtual const DtComponentDescriptor* DtSimComponent::componentDescriptor ( ) const
virtual
virtual bool DtSimComponent::tickWhileDestroyed ( ) const
virtual
virtual DtOutputStream& DtSimComponent::objectConsoleDebug ( const DtString channel = "") const
virtual

virtual DtOutputStream& DtSimComponent::objectConsoleVerbose ( const DtString channel = "") const
virtual

virtual DtOutputStream& DtSimComponent::objectConsoleInfo ( const DtString channel = "") const
virtual

virtual DtOutputStream& DtSimComponent::objectConsoleWarn ( const DtString channel = "") const
virtual

virtual DtOutputStream& DtSimComponent::objectConsoleError ( const DtString channel = "") const
virtual

virtual int DtSimComponent::notifyLevel ( ) const
virtual

DtVrfProcessStateRepositoryManager* DtSimComponent::psrManager ( )
Returns
The PSR manager that should be used by this component. This will be the PSR manager that is owned by the component's parent system. Non-virtual so that it can be used by the destructor.
virtual DtSimResourceManager& DtSimComponent::resourceManager ( )
virtual
Returns
A pointer to the resource manager of the system that this component is part of.
virtual const DtSimResourceManager& DtSimComponent::resourceManager ( ) const
virtual
Returns
A pointer to the resource manager of the system that this component is part of.
virtual const DtSymbolString& DtSimComponent::componentFullName ( ) const
virtual
Returns
A string that uniquely names this component on the entity. The name will be composed of the systems containing this component, and the reader-writer name of this component.
static DtSimComponentFactory* DtSimComponent::factory ( )
static

A DtSimComponentFactory is allocated by the DtSimCreator, and this pointer is set. The DtSimCreator deletes this pointer when it is deleted. This is done this way because we don't allow static initialization.

static void DtSimComponent::setFactory ( DtSimComponentFactory factory)
static
static DtSimComponent* DtSimComponent::createComponent ( const DtString name,
const DtString type,
DtLocalObject owner,
DtSimulationServices simManager,
DtComponentSystem parentSystem,
DtComponentDescriptor desc = 0,
DtReaderWriterRegistry parentRegistry = 0 
)
static

Creates a DtSimComponent using the factory, then initializes it via the MTL stream.

static void DtSimComponent::addSimComponentCreatorFcn ( const DtString type,
DtSimComponentCreatorFcn  fcn 
)
static

Adds a DtSimComponent creation function to the DtSimComponentFactory, using the given type as the key. The type string is one of the types defined in compTypes.h.

Parameters
typeType identifying particular derived type of DtSimComponent
fcnCreation function that instantiates a new DtSimComponent.
DtPhysicalWorld* DtSimComponent::physicalWorld ( )

Gets the physical world that this component's entity exists in.

const DtPhysicalWorld* DtSimComponent::physicalWorld ( ) const
const DtAttachedTerrain* DtSimComponent::terrainAttachedTo ( ) const

Gets the terrain that this component's entity is attached to, if any.

DtLocalObject* DtSimComponent::entity ( )
inline

Gets the entity.

const DtLocalObject* DtSimComponent::entity ( ) const
inline
DtSimulationServices* DtSimComponent::simulationServices ( )

Returns pointer to the DtSimulationServices.

const DtSimulationServices* DtSimComponent::simulationServices ( ) const
const Coordinate_System* DtSimComponent::coordinateSystem ( ) const

Gets the coordinate system, as it should always exist if the physical world is in a valid state!

Note
If this function is called while the physical world is in an invalid state, the results are undefined.
virtual bool DtSimComponent::taskVisualizationsActive ( ) const
virtual

Returns true if task visualizations are currently active for this component. Default behavior is to return false. Must be overridden in subclasses to enable task visualizations.

Reimplemented in DtRadarObjectSensor, DtTaskControllerComponent, DtIndirectFireActuator, DtParachuteController, DtRadarJammer, DtHumanUseDoorController, DtDynamicTerrainVehicleTrackController, DtSimpleRotaryWingPilot, DtMinefieldController, and DtNavMovementActuator.

virtual bool DtSimComponent::taskVisualizationsEnabled ( ) const
virtual

Returns true if task visualizations are enabled for this component. Task visualizations are usually enabled or disabled by configuration of the SMS. This differs from whether task visualizations are active, as task visualization activation changes at run time based on specific conditions of the entity and component (e.g. is the component currently tasked).

virtual void DtSimComponent::onRestore ( )
virtual

Called whenever a component is restored. Default is no-op.

Reimplemented in DtControllerComponent.

makVrf::DtTaskVisualizationMap& DtSimComponent::taskVisualizations ( )
inline
virtual double DtSimComponent::computeCurrentTime ( )
protectedvirtual

Compute current time and myDT.

bool DtSimComponent::testInvariant ( ) const
protected
Returns
A boolean indicating whether or not the class invariant remains valid or not. Should always be true at the beginning of every public member function, and also at the end of all non-const public member functions.
virtual bool DtSimComponent::createPortGroups ( )
protectedvirtual

Called by init. Derived classes should override this method to create all their input/output port groups.

Reimplemented in DtFixedWingPilotController, DtAutomotiveActuatorComponent, DtHumanMovementActuator, DtBallisticGun, DtFixedWingActuatorComponent, DtDiGuyController, DtSurfaceEntityPilotController, DtObjectSensor, DtHumanCollisionAvoidanceController, DtSurfaceEntityFollowEntityController, DtGroundMoveToDestinationControllerComponent, DtGroundAutoControllerComponent, DtHumanFollowController, DtGroundCollisionAvoidanceController, DtObstructionSensor, DtBaseMountingController, DtSurfaceEntityActuator, DtAggregatedMoveToController, DtBaseWeaponController, DtHumanMoveToController, DtSensorGimbalController, DtAggregatedMovementActuator, DtBallisticGunController, DtLasingController, DtWeaponActuator, DtMissileControllerComponent, DtRotaryWingPilotController, DtScriptedMovementController, DtSignatureObjectSensor, DtSurfaceEntitySimpleActuator, DtTurretAcquireController, DtHumanAcquireController, DtAggregatedMoveAlongController, DtRotaryWingActuatorComponent, DtRotaryWingMoveAlongControllerComponent, DtSensorGimbalActuator, DtRotaryWingTaskController, DtMountingElevationActuator, DtMountingAzimuthActuator, DtMissileManeuverActComponent, DtBaseParachuteActuator, DtFallingFromSkyActuatorComponent, DtHumanUseDoorController, DtAirVehicleWeaponHoldController, DtLookAtActuator, DtAimWeaponController, DtHumanFleeController, DtHumanEyepointController, DtTerrainProximityIndicator, DtParachuteController, DtHumanTurnToController, DtDefaultLandingGearController, DtLookAtPointController, DtAimAtPointController, DtDisaggregatedActuator, DtHumanCrosswalkController, DtHumanStopMovingController, DtHumanFaceTargetController, DtUpdateRepositoryActuator, DtAggregateFollowController, and DtHumanJoystickMovementController.

virtual bool DtSimComponent::createPorts ( )
protectedvirtual

Called by init. Derived classes should override this method to create all their input/output ports and port groups.

Reimplemented in DtFixedWingPilotController, DtAutomotiveActuatorComponent, DtHumanMovementActuator, DtSurfaceEntityMoveAlongController, DtFixedWingMoveAlongController, DtBallisticGun, DtFixedWingActuatorComponent, DtDiGuyController, DtSurfaceEntityPilotController, DtObjectSensor, DtSurfaceEntityFollowEntityController, DtHumanCollisionAvoidanceController, DtGroundMoveToDestinationControllerComponent, DtWeaponController, DtHumanFollowController, DtGroundAutoControllerComponent, DtGroundCollisionAvoidanceController, DtIndirectFireActuator, DtBaseMountingController, DtObstructionSensor, DtTargetSelectionController, DtSurfaceEntityActuator, DtAggregatedMoveToController, DtGroundMoveAlongControllerComponent, DtBaseWeaponController, DtHumanMoveAlongController, DtHumanMoveToController, DtSensorGimbalController, DtLauncherController, DtIndirectFireWeaponController, DtAggregatedMovementActuator, DtBallisticGunController, DtLasingController, DtGroundFollowEntityController, DtWeaponActuator, DtDetonationController, DtMissileControllerComponent, DtRotaryWingPilotController, DtSignatureObjectSensor, DtSurfaceEntitySimpleActuator, DtScriptedMovementController, DtSpotReportGeneratorController, DtSwingingPartActuator, DtExtendablePartActuator, DtTurretAcquireController, DtHumanAcquireController, DtFixedWingLandingController, DtFixedWingGunneryController, DtAggregatedMoveAlongController, DtContactFusionController, DtRotaryWingActuatorComponent, DtTurretSlewController, DtRotaryWingMoveAlongControllerComponent, DtTurretActuatorComponent, DtLaserGuidedLauncherController, DtWarheadDetonationActuator, DtSensorGimbalActuator, DtRotaryWingTaskController, DtLauncherActuator, DtMountingElevationActuator, DtSubSurfaceDepthController, DtMountingAzimuthActuator, DtSpotReportReceiver, DtMissileManeuverActComponent, DtSimpleProximitySensor, DtBombController, DtHumanObstructionSensor, DtMoveAlongWithActionsController, DtHumanUseDoorController, DtAirVehicleWeaponHoldController, DtBaseParachuteActuator, DtHumanPostureController, DtLookAtActuator, DtAimWeaponController, DtHumanFleeController, DtBallisticGunJoyController, DtEmbarkationController, DtHumanEyepointController, DtIntegratedLaserGuidedLauncherController, DtSubSurfaceEntitySimpleActuator, DtBombActuator, DtHumanTurnToController, DtParachuteController, DtRotaryWingEncumberedFlightActuator, DtDefaultLandingGearController, DtHumanWeaponStateActuator, DtEncumbranceActuator, DtHumanCrosswalkController, DtTurretAimController, DtLaserDetector, DtTerrainProximityIndicator, DtLookAtPointController, DtEventTriggerController, DtHumanFaceTargetController, DtHumanGunActuator, DtAimAtPointController, DtSimpleRadarWarningReceiver, DtSimpleRadarWarningReceiver, DtSimpleRotaryWingPilot, DtSimpleRadarWarningResponse, DtSimpleRadarWarningResponse, DtBallisticGunJoy, DtHumanJoystickMovementController, and DtAggregateFollowController.

DtVrfProcessStateRepository* DtSimComponent::createComponentPsr ( const DtString defaultPsrType,
const DtString defaultPsrName,
bool  useDescriptorParams = true 
)
protected

Creates a PSR for this component and registers it with the PSR manager. This is typeically called from init() by a derived class if the derived class has a PSR it wishes to use. If the PSR manager already has a PSR of the desired name, that will be returned.

Note
PSRs created with this method will be automatically unregistered and deleted when the component is destroyed.
Parameters
useDescriptorParamsIf true, the PSR Type and Name will be taken from the component descriptor, if available. Otherwise, the default will be used, regardless of descriptor values.
virtual void DtSimComponent::updateTaskVisualizations ( )
inlineprotectedvirtual
virtual void DtSimComponent::destroyTaskVisualizations ( )
protectedvirtual

Destroys all task visualizations for this component.

virtual void DtSimComponent::destroyTaskVisualization ( const DtString name)
protectedvirtual

Destroys an existing task visualization.

virtual makVrf::DtPointTaskVisualizationPtr DtSimComponent::pointTaskVisualization ( const DtString name)
protectedvirtual

Finds an existing or creates a new point task visualization with the given name.

virtual makVrf::DtLineTaskVisualizationPtr DtSimComponent::lineTaskVisualization ( const DtString name)
protectedvirtual

Finds an existing or creates a new line task visualization with the given name.

virtual makVrf::DtAreaTaskVisualizationPtr DtSimComponent::areaTaskVisualization ( const DtString name)
protectedvirtual

Finds an existing or creates a new area task visualization with the given name.

virtual makVrf::DtTextTaskVisualizationPtr DtSimComponent::textTaskVisualization ( const DtString name)
protectedvirtual

Finds an existing or creates a new text task visualization with the given name.

double DtSimComponent::calculateNextTaskVisTickTime ( ) const
protected

Determines the next time the task visualizations should be ticked.

DtVrfObjectStateRepository* DtSimComponent::localStateRepository ( )
protected

Gets the local state repository.

const DtVrfObjectStateRepository* DtSimComponent::localStateRepository ( ) const
protected

You would want to use this call if you could be either a const or non-const local state repository, and you wanted to be sure you only had const access.

void DtSimComponent::addSimObjectPredicateCallback ( DtSimObjectReference  ,
DtVrfObjectPredicateCallbackFunction  function,
const DtVrfObjectPredicate predicate,
DtTime  evaluationPeriod = 0,
void *  userData = 0 
)
protected

Predicate callbacks are added and invoked every simulation tick to see if the predicate evaluates to true. If does the callback added is invoked. These callbacks will be invoked at the beginning of each tick.

Add/remove a callback function to be invoked when the DtSimObject predicate object associated with it returns true(). These predicates will be applied to the given sim object

void DtSimComponent::removeSimObjectPredicateCallback ( const DtSimObject ,
DtVrfObjectPredicateCallbackFunction  function,
const DtVrfObjectPredicate predicate,
DtTime  evaluationPeriod = 0,
void *  userData = 0 
)
protected

Predicate callbacks are added and invoked every simulation tick to see if the predicate evaluates to true. If does the callback added is invoked. These callbacks will be invoked at the beginning of each tick.

Add/remove a callback function to be invoked when the DtSimObject predicate object associated with it returns true(). These predicates will be applied to the given sim object

void DtSimComponent::invokeSimObjectPredicateCallbacks ( )
protected

Called each tick. Iterates through myPredicateCallbackList, calling the predicate object's isTrue() function. If it time to test the predicate (isTimeToTest()) and the predicate's isTrue() function returns true, it invokes the associated callback function.

virtual void DtSimComponent::clearPredicateCallbacks ( )
protectedvirtual

Clear out object predicate callback list. Should only be called upon queuing object for removal and deletion.

DtSimComponent& DtSimComponent::operator= ( const DtSimComponent orig)
private

assignment operator, not implemented

VRF4API_METHOD const DtSimulationServices* DtSimComponent::simManager ( ) const
inline

This is the deprecated API that can be used as a reference to migrate 4.X code to 5.X. Please refer to the simObject.inl file for a reference as to how you can do this.

Use simulationServices() in place of simManager().

static VRF4API_METHOD DtSimComponent* DtSimComponent::MarkThreadSafe ( DtSimComponent comp)
inlinestatic

This is the deprecated API that can be used as a reference to migrate 4.X code to 5.X. Please refer to the simObject.inl file for a reference as to how you can do this.

Use simulationServices() in place of simManager().

Member Data Documentation

DtLocalObject* DtSimComponent::myEntity
protected
DtComponentSystem* DtSimComponent::mySystem
protected

Pointer to the DtComponentSystem that this component belongs.

DtListItem* DtSimComponent::myListItem
protected
DtInputPortMap DtSimComponent::myInputPortList
protected
DtOutputPortMap DtSimComponent::myOutputPortList
protected
DtInputPortGroupMap DtSimComponent::myInputPortGroupList
protected
DtOutputPortGroupMap DtSimComponent::myOutputPortGroupList
protected
DtSimComponentFactory* DtSimComponent::myFactory
staticprotected
int DtSimComponent::myPriority
protected
double DtSimComponent::myMinTickPeriod
protected
double DtSimComponent::myMinTickPeriodVariance
protected
double DtSimComponent::myNextTickTime
protected
double DtSimComponent::myLastTickSimTime
protected
double DtSimComponent::myDT
protected

Referenced by dT().

bool DtSimComponent::myIsEnabled
protected

Indicates whether this component should be enabled for ticking or not.

bool DtSimComponent::myFirstTick
protected

Initialized to true in the constructor, set to false by the first call to postTick.

const DtComponentDescriptor* DtSimComponent::myComponentDescriptor
protected
std::list<DtVrfProcessStateRepository*> DtSimComponent::myComponentPsrs
protected

List of PSRs made using createComponentPsr() that will be deleted by this component when it is destroyed.

bool DtSimComponent::myTickEveryFrame
protected

Flag indicating that tickPeriod is set to 0, and the component will tick every frame.

makVrf::DtTaskVisualizationMap DtSimComponent::myTaskVisualizations
protected

The visualization objects to be drawn for this component.

double DtSimComponent::myNextTaskVisTickTime
protected

The next tick time for updating the task visualizations.

DtSymbolString DtSimComponent::myFullComponentName
mutableprotected
DtSimulationServices* DtSimComponent::mySimServices
protected
DtPredicateCallbackManager DtSimComponent::myPredicateCallbackManager
protected

The documentation for this class was generated from the following file:

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)