DtLauncherController is a controller that accepts input from a target sensor, and provides ammunition type, load status, and trigger inputs to a missile launcher actuator.
End User Description: It also provides azimuth and elevation inputs to corresponding azimuth and elevation mount actuators (moveable components upon which the launcher may be mounted). The launcher controller designates its target as the first target that appears in the entity's sector of responsibility. Based on the target type, it loads the appropriate munition type. If a change in target occurs, requiring a change in munition type, or fuse type, or both (that is, the new target detected is of a different type than the original target), the weapon unloads the old munition, and then loads the new type of munition. If no target is available, and the preload-weapon parameter is set, then the first munition type specified in the munition table is loaded.
When a guided missile is fired, reloading is suspended while the missile is active. Once the missile detonates or passes the target, reloading may resume.
The target is acquired when the azimuth and elevation of the weapon align with the azimuth and elevation to the target, within the ranges specified by the munition-maneuver-margin parameter. The controller reorients the weapon in azimuth and elevation as needed.
Once a target has been acquired, the weapon is loaded, and the entity has permission to fire (given by the entity's rules of engagement, for example, "fire-at-will"), the weapon controller fires. It creates a new missile entity, sets the ID of the missile entity in the missile ID port, sets the trigger port to true, and depletes the resource associated with the missile type.
Uses Descriptor Type: DtWeaponControllerDescriptor
|
| | DtLauncherController (const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0) |
| |
| virtual | ~DtLauncherController () |
| |
| virtual bool | init () |
| |
| virtual const char * | type () const |
| |
| virtual void | tick () |
| |
| virtual bool | createMissileIdPort () |
| |
| virtual bool | createTargetPointPort () |
| |
| virtual bool | createTargetEntityIdPort () |
| |
| virtual void | fire () |
| |
| virtual void | missileDetonated (const makVrfEvents::DtDetonationEvent *detInter) |
| |
| virtual void | detonationCallback (const makVrfEvents::DtEvent &e) |
| |
| virtual void | disconnectMissileFromLauncher (const DtUUID &missId) |
| |
| virtual DtSimObjectReference | mostRecentMissileFired () |
| |
| virtual bool | missilePassedTarget (const DtMissileSimObjectFacade &lastMissile, double &distSquaredToTargetOut) |
| |
| virtual double | abandonPassedMissileDistance () |
| |
| virtual void | setAbandonPassedMissileDistance (const double &distance) |
| |
| | DtWeaponController (const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0) |
| |
| virtual | ~DtWeaponController () |
| |
| virtual bool | createMountingController () |
| |
| virtual const DtSimObject * | chooseTarget () |
| |
| virtual DtSimObjectReference | chooseTarget (const DtEntityTargetList &targetList) const |
| |
| virtual void | tickMunitionLoader (const DtSimObject *target) |
| |
| virtual bool | acquireTarget (const DtSimObject *target) |
| |
| virtual void | maneuverRequiredToAcquireTarget (DtReal requiredHeading, DtReal requiredPitch, DtReal requiredMaxSpeed) |
| |
| bool | outOfAmmo () const |
| |
| virtual bool | loadedAmmoValidForTarget (const DtSimObject *target) const |
| |
| virtual bool | chooseAmmo (const DtEntityType &entityType, DtSimMunition &munitionOut, DtDetonatorFuze &fuzeOut, bool setCurrentMunition=true) |
| |
| virtual bool | acceptSensorTargettingInput () |
| |
| virtual bool | inSector (const DtSimObject *entity) const |
| |
| virtual void | findBodyHeadingElevationToTarget (const DtSimObject *entity, DtReal &bodyHeadingOut, DtReal &bodyElevationOut) const |
| |
| virtual DtSimObjectReference | easier (DtSimObjectReference entity1, DtSimObjectReference entity2) const |
| |
| virtual void | enable () |
| |
| virtual void | disable () |
| |
| | DtBaseWeaponController (const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0) |
| |
| virtual | ~DtBaseWeaponController () |
| |
| virtual bool | postAddComponentsInit () |
| |
| virtual bool | waitingForFire () |
| |
| virtual void | setWaitingForFire (bool waiting) |
| |
| virtual bool | createWeaponOutputPortGroup () |
| |
| virtual DtOutputPortGroup * | weaponOutputPortGroup () |
| |
| virtual bool | createWeaponInputPortGroup () |
| |
| virtual DtInputPortGroup * | weaponInputPortGroup () |
| |
| virtual bool | createTriggerPort () |
| |
| virtual DtBooleanOutputPort * | triggerPort () const |
| |
| virtual bool | createLoadAmmunitionPort () |
| |
| virtual DtAmmunitionOutputPort * | loadAmmunitionPort () const |
| |
| virtual bool | createLoadedPort () |
| |
| virtual DtBooleanOutputPort * | loadedPort () const |
| |
| virtual bool | createArtPartTypePort () |
| |
| virtual DtIntegerInputPort * | artPartTypePort () const |
| |
| virtual void | setPreloadWeapon (bool doPreload) |
| |
| virtual bool | preloadWeapon () const |
| |
| virtual void | setLoadAmmoTime (DtTime loadAmmoTime) |
| |
| virtual DtTime | loadAmmoTime () const |
| |
| virtual void | setUnloadAmmoTime (DtTime unloadAmmoTime) |
| |
| virtual DtTime | unloadAmmoTime () const |
| |
| virtual void | setMaxVehicleSpeedToFire (DtReal maxVehicleSpeedToFire) |
| |
| virtual DtReal | maxVehicleSpeedToFire () const |
| |
| virtual bool | weaponCorrectlyOriented () const |
| |
| virtual void | initProcessSR () |
| |
| virtual DtBaseMountingController * | mountingController () |
| |
| virtual void | setCurrentMunitionName (const DtString ¤tMunitionName) |
| |
| virtual const DtString & | currentMunitionName () const |
| |
| virtual DtVrfWeaponPSR * | weaponProcessState () |
| |
| virtual const DtVrfWeaponPSR * | weaponProcessState () const |
| |
| virtual void | setMaxAzimuthAngleOffBoresight (DtReal maxAngle) |
| |
| virtual DtReal | maxAzimuthAngleOffBoresight () const |
| |
| virtual void | setMaxElevationAngleOffBoresight (DtReal maxAngle) |
| |
| virtual DtReal | maxElevationAngleOffBoresight () const |
| |
| | DtControllerComponent (const DtString &name, DtLocalObject *owner, DtSimulationServices *simServices, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0) |
| |
| virtual | ~DtControllerComponent () |
| |
| virtual DtSimRadio * | radio () |
| |
| virtual void | taskNotify (const DtSimTask &task) |
| |
| virtual void | clearTask () |
| |
| virtual void | enableTaskTypes () |
| |
| virtual void | disableTaskTypes () |
| |
| | DtSimComponent (const DtString &name, DtLocalObject *owner, DtSimulationServices *simServices, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0) |
| |
| virtual | ~DtSimComponent () |
| |
| virtual void | setParentSystem (DtComponentSystem *system) |
| |
| DtComponentSystem * | parentSystem () const |
| |
| 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 void | setEntity (DtLocalObject *entity) |
| |
| virtual DtSimComponent * | nextComponent () |
| |
| virtual DtSimComponent * | prevComponent () |
| |
| 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 DtInputPort * | lookupInputPort (const DtString &portName) |
| |
| virtual DtList | inputPortList () const |
| |
| virtual void | addOutputPort (DtOutputPort *port) |
| |
| virtual void | removeOutputPort (DtOutputPort *port) |
| |
| virtual DtOutputPort * | lookupOutputPort (const DtString &portName) |
| |
| virtual DtList | outputPortList () const |
| |
| virtual void | addInputPortGroup (DtInputPortGroup *group) |
| |
| virtual void | removeInputPortGroup (DtInputPortGroup *group) |
| |
| virtual DtInputPortGroup * | lookupInputPortGroup (const DtString &groupName) |
| |
| virtual DtList | inputPortGroupList () const |
| |
| virtual void | addOutputPortGroup (DtOutputPortGroup *group) |
| |
| virtual void | removeOutputPortGroup (DtOutputPortGroup *group) |
| |
| virtual DtOutputPortGroup * | lookupOutputPortGroup (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 |
| |
| DtVrfProcessStateRepositoryManager * | psrManager () |
| |
| virtual const DtSymbolString & | componentFullName () const |
| |
| DtPhysicalWorld * | physicalWorld () |
| |
| const DtPhysicalWorld * | physicalWorld () const |
| |
| const DtAttachedTerrain * | terrainAttachedTo () const |
| |
| DtLocalObject * | entity () |
| |
| const DtLocalObject * | entity () const |
| |
| DtSimulationServices * | simulationServices () |
| |
| const DtSimulationServices * | simulationServices () const |
| |
| const Coordinate_System * | coordinateSystem () const |
| |
| virtual bool | taskVisualizationsActive () const |
| |
| virtual bool | taskVisualizationsEnabled () const |
| |
| makVrf::DtTaskVisualizationMap & | taskVisualizations () |
| |
| virtual bool | isEnabled () |
| |
| virtual void | setIsEnabled (bool yesNo) |
| |
| 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 DtSimResourceManager & | resourceManager () |
| |
virtual const
DtSimResourceManager & | resourceManager () const |
| |
VRF4API_METHOD const
DtSimulationServices * | simManager () const |
| |
| | 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 DtReaderWriter & | operator= (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 aliasContainer & | aliases () 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 char * | readerWriterType () const |
| |
| virtual const char * | xmlType () 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 DtReaderWriter * | defaultRWValue () const |
| |
| virtual DtReaderWriter * | defaultRWValue () |
| |
| virtual void | setDefaultRWValue (DtReaderWriter *) |
| |
| virtual bool | checkAndSetDefaultRWValue (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference()) |
| |
| const DtReaderWriterRegistry & | registry () const |
| |
| DtReaderWriterRegistry & | registry () |
| |
| virtual DtPropertyInterface * | property () |
| |
| virtual const DtPropertyInterface * | property () const |
| |
| virtual DtString | toXml () const |
| |
| virtual DtRwVariableBindings * | generateVariableBindings () 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) |
| |
|
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 )() |
| |
| static DtSimComponent * | creator (const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0) |
| |
| static DtSimComponent * | creator (const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0) |
| |
| static DtSimComponentFactory * | factory () |
| |
| static void | setFactory (DtSimComponentFactory *factory) |
| |
| static DtSimComponent * | createComponent (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 VRF4API_METHOD
DtSimComponent * | MarkThreadSafe (DtSimComponent *comp) |
| |
| 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 char * | theXmlType () |
| |
| static const DtFilename & | appPath () |
| |
| static void | setFactoryCreatorFunction (DtReaderWriterFactoryCreatorFcn fcn) |
| |
| static void | createReaderWriterFactory () |
| |
| static void | cleanupFactory () |
| |
| static DtReaderWriterFactory * | factory () |
| |
| static void | setOutputStream (DtOutputStream *stream) |
| |
| static DtOutputStream & | outputStream () |
| |
| static DtReaderWriter * | createFromXmlFile (const DtFilename &, bool createAsProperty=false) |
| |
| static DtReaderWriter * | createFromXml (const DtString &, bool createAsProperty=false) |
| |
| static DtReaderWriter * | createFromEnvironment (DtEnvironmentSP, bool createAsProperty=false) |
| |
| static DtString | getAttribute (DtEnvironmentSP env, const DtString &name, DtEnvValueSP root) |
| |
| virtual void | addRangeItems () |
| |
| | DtWeaponController () |
| |
| | DtWeaponController (const DtWeaponController &orig) |
| |
| const DtWeaponController & | operator= (const DtWeaponController &orig) |
| |
| virtual bool | createPortGroups () |
| |
| virtual void | lookupAndCacheProcessSR () |
| |
| | DtBaseWeaponController () |
| |
| | DtBaseWeaponController (const DtBaseWeaponController &orig) |
| |
| const DtBaseWeaponController & | operator= (const DtBaseWeaponController &orig) |
| |
| | DtControllerComponent () |
| |
| | DtControllerComponent (const DtControllerComponent &orig) |
| |
| const DtControllerComponent & | operator= (const DtControllerComponent &orig) |
| |
| virtual void | onRestore () |
| |
| virtual void | initializeTargetingControlTableFromDescriptor (const DtReaderWriter *) |
| |
| virtual void | setRadio (DtSimRadio *radio) |
| |
| virtual void | sendCapableSetsAndTasks () |
| |
| virtual double | computeCurrentTime () |
| |
| bool | testInvariant () const |
| |
| DtVrfProcessStateRepository * | createComponentPsr (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 |
| |
| DtVrfObjectStateRepository * | localStateRepository () |
| |
| const DtVrfObjectStateRepository * | localStateRepository () 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 () |
| |
| virtual void | bindToRwAsVariable (const DtReaderWriter *rw) |
| |
| static DtSimComponentFactory * | myFactory |
| |
| static DtString | theUnspecifiedValue |
| |
| static DtGetSelfCallbackInfo | thePostGetSelfCallback |
| |
| static DtPutSelfCallbackInfo | thePrePutSelfCallback |
| |
| static const DtVariableBindingsList | theEmptyVariableBindingsList |
| |
| static bool | theCreatorFcnSet |
| |
| static DtReaderWriterFactory * | theFactory |
| |
static
DtReaderWriterFactoryCreatorFcn | theFactoryCreatorFcn |
| |
| static bool | thePutIndent |
| |
| static DtOutputStream * | theOutputStream |
| |