VR-Forces 4.10 Class Documentation
 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 Member Functions | Static Protected Member Functions | Protected Attributes | Private Member Functions
DtActiveSonarSensor Class Reference
Inheritance diagram for DtActiveSonarSensor:
Inheritance graph
[legend]

Public Member Functions

 DtActiveSonarSensor (const DtString &name, DtVrfObject *owner, DtSimManager *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
 
virtual ~DtActiveSonarSensor ()
 destructor More...
 
virtual bool init ()
 Calls createPSR(), createDetectableObjectList(), createAndInitSensorMonitor() and initSensorGeometry(). More...
 
virtual const chartype () const
 Returns a string identifies the class type of component. More...
 
virtual int sensorType () const
 Returns DtSensorTypeRadar. More...
 
virtual void tick ()
 Overridden from base class to update myLocalSensorPosition (using localSensorPosition()) at the start of each tick. More...
 
virtual void setSensorEnabled (bool)
 If sensor is disabled clear out beam list. More...
 
- Public Member Functions inherited from DtPassiveSonarSensor
 DtPassiveSonarSensor (const DtString &name, DtVrfObject *owner, DtSimManager *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
 
virtual ~DtPassiveSonarSensor ()
 destructor More...
 
virtual void processSetSonarDepth (DtSimMessage *msg)
 
virtual double sonarDepth () const
 
virtual void setSonarDepth (double depth)
 
virtual void setSonarToEntityDepth ()
 
virtual DtVector localSonarLocation () const
 
virtual bool sonarInWater () const
 
double apparentSignature (const DtVrfObject *object, bool losValueIfTerrainUnavailable, double sensorSensitivity) const
 Override to use sonar depth instead of sensor position if a depth has been set. More...
 
- Public Member Functions inherited from DtSignatureObjectSensor
 DtSignatureObjectSensor (const DtString &name, DtVrfObject *owner, DtSimManager *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
 
virtual ~DtSignatureObjectSensor ()
 destructor More...
 
virtual void initSensorFieldOfView ()
 Creates a sensor field of view object which is published to the network. More...
 
virtual int determineForceType (const DtVrfObject *object, DtRwSensorContactInfo *contactInfo)
 Determines the force type for this object based on the sensor contact info for it. More...
 
virtual double determineRadius (const DtVrfObject *object, DtRwSensorContactInfo *contactInfo)
 Determines the radius of this object based on the sensor contact info for it. More...
 
virtual void zoomSensor (double zoomLevel)
 Zooms the sensor to the given zoom level. More...
 
- Public Member Functions inherited from DtObjectSensor
 DtObjectSensor (const DtString &name, DtVrfObject *owner, DtSimManager *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
 
virtual ~DtObjectSensor ()
 destructor More...
 
virtual bool postAddComponentsInit ()
 Called after all components have been created, initialized and added to the component manager. More...
 
virtual bool tickWhileDestroyed () const
 
virtual bool sensorEnabled () const
 Whether this sensor is enabled or disabled. More...
 
virtual void enable ()
 Overridden to clear out the target list and update the monitor so that the sensor contact list will be cleared out in the front-end when the sensor is disabled. More...
 
virtual void disable ()
 
virtual void setIsEnabled (bool yesNo)
 
virtual void setTypesToDetectForTask (const DtRwObjectTypeList &objectTypes)
 Set or clear the dynamic list of object types to detect. More...
 
virtual void clearTypesToDetectForTask ()
 Clear all types. Should be called when the task is done. More...
 
virtual const DtRwObjectTypeListtypesToDetectForTask () const
 Gets the type list. More...
 
virtual bool setTypesToDetectAttribute (DtReaderWriter *val)
 
virtual bool clearTypesToDetect (DtReaderWriter *val)
 
- Public Member Functions inherited from DtSimComponent
 DtSimComponent (const DtString &name, DtVrfObject *owner, DtSimManager *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
 
virtual ~DtSimComponent ()
 destructor More...
 
virtual void setParentSystem (DtComponentSystem *system)
 Sets the parent system of this component. More...
 
DtComponentSystemparentSystem () const
 
virtual void registerAttributeFunctions ()
 Called to register functions that provide system attribute values. More...
 
virtual void postTick ()
 This function is called immediately after tick() is called. More...
 
virtual void setMinTickPeriod (double minTickPeriod)
 specifies a minimum tick period (which can also be thought of as More...
 
virtual double minTickPeriod () const
 access the minimum tick period More...
 
virtual void setMinTickPeriodVariance (double minTickPeriodVariance)
 set the variance in the minimum tick time More...
 
virtual double minTickPeriodVariance () const
 access the variance in the minimum tick period More...
 
virtual void setNextTickTime (double nextTickTime)
 The next tick time is normally calculated internally. More...
 
virtual double nextTickTime () const
 access the next tick time More...
 
virtual double calculateNextTickTime () const
 The next tick time is equal to mySimManager->exerciseClock()-> approximateElapsedRealTime() + myMinTickPeriod + a random # between -myMinTickPeriodVariance/2. More...
 
virtual double calculateFirstTickTime () const
 Returns the first time value that the component should tick at. More...
 
virtual void setEntity (DtVrfObject *entity)
 The entity's state repository is the place that actuator components make updates and other components look to see our current state. More...
 
virtual DtSimComponentnextComponent ()
 List management functions. More...
 
virtual DtSimComponentprevComponent ()
 
virtual void setListItem (DtListItem *item)
 Used by DtComponentList. More...
 
virtual DtListItem * listItem ()
 
virtual void putData (std::string &fp, int indentLevel=0)
 putData writes our type, which is provided by the virtual type accessor of the deriving class. More...
 
virtual DtlObjPtr getData (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings)
 getData is just used to get us past the type in the data stream, since it's not actual stored. More...
 
virtual void addInputPort (DtInputPort *port)
 Adds this input port to the components input port list so that other components can look it up and attach to it. More...
 
virtual void removeInputPort (DtInputPort *port)
 
virtual DtInputPortlookupInputPort (const DtString &portName)
 Returns a pointer to the input port registered on this component with the specified name. More...
 
virtual DtList inputPortList () const
 Returns the list of DtInputPorts registered on this component. More...
 
virtual void addOutputPort (DtOutputPort *port)
 Adds this output port to the components output port list so that other components can look it up and attach to it. More...
 
virtual void removeOutputPort (DtOutputPort *port)
 
virtual DtOutputPortlookupOutputPort (const DtString &portName)
 Returns a pointer to the output port registered on this component with the specified name. More...
 
virtual DtList outputPortList () const
 Returns the list of DtOutputPorts registered on this component. More...
 
virtual void addInputPortGroup (DtInputPortGroup *group)
 Adds this input port to the components input port list so that other components can look it up and attach to it. More...
 
virtual void removeInputPortGroup (DtInputPortGroup *group)
 
virtual DtInputPortGrouplookupInputPortGroup (const DtString &groupName)
 Returns a pointer the input port group registered on this component with the specified name. More...
 
virtual DtList inputPortGroupList () const
 Returns the list of DtInputPortGroups registered on this component. More...
 
virtual void addOutputPortGroup (DtOutputPortGroup *group)
 Adds this output port group to the components output port group list so that other components can look it up and attach to it. More...
 
virtual void removeOutputPortGroup (DtOutputPortGroup *group)
 
virtual DtOutputPortGrouplookupOutputPortGroup (const DtString &groupName)
 Returns a pointer the output port group registered on this component with the specified name. More...
 
virtual DtList outputPortGroupList () const
 Returns the list of DtOutputPortGroups registered on this component. More...
 
virtual int priority () const
 Return the current connection priority for this component. More...
 
virtual void setPriority (int priority)
 Sets a new connection priority for this component, and changes all current outgoing connections from this component to the new value. More...
 
double dT () const
 This is the delta-t for this component, which may or may not be the same as the exerciseClock dT. More...
 
virtual void setDT (double deltaT)
 Note that while dT is calculated internally, this makes it possible to 'lie' to the component about dT if necessary. More...
 
virtual void setComponentDescriptor (DtComponentDescriptor *componentDescriptor)
 The component descriptor specified in the order of battle file or parameter file that was used to create this component. More...
 
virtual const
DtComponentDescriptor
componentDescriptor () const
 
DtVrfProcessStateRepositoryManagerpsrManager ()
 
virtual const DtSymbolStringcomponentFullName () const
 
DtPhysicalWorldphysicalWorld ()
 Gets the physical world that this component's entity exists in. More...
 
const DtPhysicalWorldphysicalWorld () const
 
DtAttachedTerrainterrainAttachedTo ()
 Gets the terrain that this component's entity is attached to, if any. More...
 
const DtAttachedTerrainterrainAttachedTo () const
 
DtVrfObjectentity ()
 Gets the entity. More...
 
const DtVrfObjectentity () const
 
const DtVrfObjectconst_entity () const
 You would want to use this call if you could be either a const or non-const entity, and you wanted to be sure you only had const access. More...
 
DtSimManagersimManager ()
 Gets the sim manager. More...
 
const DtSimManagersimManager () const
 
const Coordinate_SystemcoordinateSystem () const
 Gets the coordinate system, as it should always exist if the physical world is in a valid state! More...
 
DtVrfObjectStateRepositorylocalStateRepository ()
 Gets the local state repository. More...
 
const DtVrfObjectStateRepositorylocalStateRepository () const
 
const DtVrfObjectStateRepositoryconst_localStateRepository () const
 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. More...
 
virtual DtTaskVisualizationMaptaskVisualizations ()
 Returns the list of task visualizations for this component. More...
 
virtual bool taskVisualizationsActive () const
 Returns true if task visualizations are currently active for this component. More...
 
virtual bool taskVisualizationsEnabled () const
 Returns true if task visualizations are enabled for this component. More...
 
virtual bool isThreadSafe () const
 Returns true if this component is marked as being thread safe. More...
 
virtual void addVRLinkDeferredJob (const boost::function< void()> &callback)
 Adds a deferred job to the VRLink job queue in the DtParallelTickManager, but only if this component is marked at thread safe. More...
 
virtual void onRestore ()
 Called whenever a component is restored. Default is no-op. More...
 
virtual bool isEnabled ()
 
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 DtSimResourceManagerresourceManager ()
 
virtual const
DtSimResourceManager
resourceManager () const
 
- Public Member Functions inherited from DtReaderWriter
 DtReaderWriter ()
 default constructor More...
 
 DtReaderWriter (const DtString &name, DtReaderWriterRegistry *parentRegistry=NULL, bool readonly=false)
 real constructor Setting the readonly flag prevents object from writing itself to the stream. More...
 
 DtReaderWriter (const DtSymbolString &name, DtReaderWriterRegistry *parentRegistry=NULL, bool readonly=false)
 
 DtReaderWriter (const DtString &name, const DtReaderWriter &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 pseudo-copy constructor More...
 
 DtReaderWriter (const DtSymbolString &name, const DtReaderWriter &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 
 DtReaderWriter (const DtReaderWriter &, DtReaderWriterRegistry *parentRegistry=NULL)
 copy constructor More...
 
const DtReaderWriteroperator= (const DtReaderWriter &orig)
 assignment operator More...
 
bool operator== (const DtReaderWriter &) const
 Equivalence operator. More...
 
bool operator!= (const DtReaderWriter &rhs)
 
virtual ~DtReaderWriter ()
 destructor More...
 
virtual void putSelf (std::string &fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename())
 Top level call to write itself to file. More...
 
virtual void postPutSelf ()
 Called after either version of put self (file or environment). Default is no-op. More...
 
virtual void prePutSelf ()
 Called before either version of put self (file or environment). Default is no-op. More...
 
virtual void getSelf (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference())
 Top level to read itself from an input stream. More...
 
virtual void postGetSelf ()
 Called after either version of getSelf (mtl or environment). Default is no-op. More...
 
virtual void preGetSelf ()
 Called before either version of get self (file or environment). Default is no-op. More...
 
virtual void writeSelf (std::string &fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename())
 Called from putSelf, calls myRegistry.putSelf which in turn calls putSelf on each reader/writer in the registry. More...
 
virtual DtSymbolString name () const
 Accessor for name of this readable/writable object. More...
 
virtual void addAlias (const DtSymbolString &alias)
 Add an alias as an alternative name for this object. More...
 
virtual void addAlias (const DtString &alias)
 
virtual bool hasAlias (const DtSymbolString &alias)
 
virtual const aliasContaineraliases () const
 
virtual void setReadonly (bool flag)
 Set read-only flag. More...
 
bool isReadonly () const
 
virtual void reset ()
 For those reader/writer items that support it, resets the reader/writer value to original state Default is no-op. More...
 
virtual int alignment () const
 For those items that are sent over the network via HLA, this will give the network alignment. More...
 
virtual bool variableIsBound () const
 
virtual void unbindVariable ()
 Sets the myVariableIsBound flag to false. More...
 
virtual void setName (const DtString &)
 Set the name of the object. More...
 
virtual const charreaderWriterType () const
 Used to supply a string type that this reader writer type is. More...
 
virtual const charxmlType () const
 
virtual DtString prettyPrint () const
 Routine to return a human readable form of the reader/writer variable. More...
 
std::string debugText () const
 
virtual void bindVariables (DtVariableBindingsList variableBindings)
 Runs a variable binding pass on this reader writer and any of its children. More...
 
virtual std::list
< DtVariableNameType
unboundVariables () const
 
bool invalid () const
 
virtual bool hasChild (const DtReaderWriter *p) const
 Returns true if this variable has a child p in it's chain. More...
 
virtual bool hasVariableReference () const
 Returns true if this item or any item in the registry (recursive) is a variable reference. More...
 
virtual void bindLocalVariables (const DtVariableBindingsList &variableBindings)
 Checks to see if this RW object is a variable reference that can be bound using the provided bindings. More...
 
virtual void recordUpdateTime () const
 Can be implemented in subclasses to stamp the time when updated. More...
 
virtual bool wasUpdatedSince (DtTime t) const
 Can be implemented in subclasses to return true if an update occurred after the specified time. More...
 
virtual bool changedSinceLastChecked ()
 Returns true if this objects value has changed since the last time this function was called. More...
 
virtual bool peekChangedSinceLastChecked () const
 Returns the value that changedSinceLastChecked would return but does not reset the internal flag. More...
 
virtual void setValueSpecified (bool specified, bool recurse=false)
 The specified flags are used for optional values. More...
 
virtual bool valueSpecified () const
 
virtual bool isVariableReference () const
 Specifies whether or not this reader writer is really a variable that is specified elsewhere. More...
 
virtual void setIsVariableReference (bool value)
 
virtual void clearAllVariableReferenceFlags ()
 Clears out all variable reference flags from all readerwriter items in registry recursively. More...
 
virtual DtSymbolString variableName () const
 The variable name, if this object is a variable reference. More...
 
virtual void setVariableName (const DtSymbolString variableName)
 
virtual const DtReaderWriterdefaultRWValue () const
 The default value to use if the reader/writer object is a variable and that variable is not specified. More...
 
virtual DtReaderWriterdefaultRWValue ()
 
virtual void setDefaultRWValue (DtReaderWriter *)
 Previous default value, if exists, will be removed and replaced with a clone of the supplied variable. More...
 
virtual bool checkAndSetDefaultRWValue (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference())
 Give the stream, if the stream contains a default value then set it here. More...
 
const DtReaderWriterRegistryregistry () const
 Collection of child DtReaderWriter nodes owned by this object. More...
 
DtReaderWriterRegistryregistry ()
 
virtual DtPropertyInterfaceproperty ()
 
virtual const DtPropertyInterfaceproperty () const
 
virtual DtString toXml () const
 
virtual DtRwVariableBindingsgenerateVariableBindings () const
 Iterates over the registry (recursively) and returns a variable bindings object that contains all the variables that are contained in this read/writer class. More...
 
virtual bool toXml (const DtFilename &) const
 Writes contents of xml result to the given filename. More...
 
virtual bool fromXml (const DtString &)
 Restores object from given xml string. Returns true if valid. More...
 
virtual bool fromXmlFile (const DtFilename &)
 Restores object from given xml file. More...
 
virtual void putSelf (DtEnvironmentSP, DtEnvValueSP parent) const
 
virtual void putData (DtEnvironmentSP, DtEnvValueSP value) const
 Override to add attributes of actual data. More...
 
virtual void putVariableReference (DtEnvironmentSP, DtEnvValueSP value) const
 Called when the item is a variable reference. More...
 
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())
 Gets data from the environment value. More...
 
virtual void unrecognizedItem (const DtEnvironmentSP env, const DtEnvValueSP root, const SearchPaths &searchPaths, const DtVariableBindingsList &varBindings)
 Called when the xml reader tries to parse an unknown reader/writer item. Default is a no-op. More...
 
virtual void getVariableReference (DtEnvironmentSP, DtEnvValueSP value)
 Called when the item is a variable reference. More...
 

Static Public Member Functions

static DtSimComponentcreator (const DtString &name, DtVrfObject *owner, DtSimManager *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
 
- Static Public Member Functions inherited from DtPassiveSonarSensor
static void setSonarDepthCallback (DtSimMessage *msg, void *usrData)
 
static DtSimComponentcreator (const DtString &name, DtVrfObject *owner, DtSimManager *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
 
- Static Public Member Functions inherited from DtSignatureObjectSensor
static DtSimComponentcreator (const DtString &name, DtVrfObject *owner, DtSimManager *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
 
- Static Public Member Functions inherited from DtObjectSensor
static DtSimComponentcreator (const DtString &name, DtVrfObject *owner, DtSimManager *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
 
static bool setTypesToDetectAttribute (void *ctrlr, DtReaderWriter *val)
 Attribute set functions to accept types to detect or clear the list of task-specific types. More...
 
static bool clearTypesToDetect (void *ctrlr, DtReaderWriter *val)
 This function ignores the value passed in. More...
 
- Static Public Member Functions inherited from DtSimComponent
static DtSimComponentMarkThreadSafe (DtSimComponent *)
 Marks an instance of a component as being thread safe. More...
 
static DtSimComponentFactoryfactory ()
 A DtSimComponentFactory is allocated by the DtSimCreator, and this pointer is set. More...
 
static void setFactory (DtSimComponentFactory *factory)
 
static DtSimComponentcreateComponent (const DtString &name, const DtString &type, DtVrfObject *owner, DtSimManager *simManager, DtComponentSystem *parentSystem, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
 Creates a DtSimComponent using the factory, then initializes it via the MTL stream. More...
 
static void addSimComponentCreatorFcn (const DtString &type, DtSimComponentCreatorFcn fcn)
 Adds a DtSimComponent creation function to the DtSimComponentFactory, using the given type as the key. More...
 
- 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 ()
 The type that is used when archiving to an XML stream. More...
 
static const DtFilename & appPath ()
 Gets the current working directory. More...
 
static void setFactoryCreatorFunction (DtReaderWriterFactoryCreatorFcn fcn)
 Sets the function to create the DtReaderWriterFactory. More...
 
static void createReaderWriterFactory ()
 
static void cleanupFactory ()
 
static DtReaderWriterFactoryfactory ()
 
static void setOutputStream (DtOutputStream *stream)
 
static DtOutputStream & outputStream ()
 
static DtReaderWritercreateFromXmlFile (const DtFilename &, bool createAsProperty=false)
 Given a filename, returns a newly created reader/writer object from the object found within. More...
 
static DtReaderWritercreateFromXml (const DtString &, bool createAsProperty=false)
 Given a xml string, returns a newly created reader/writer object from the object found within. More...
 
static DtReaderWritercreateFromEnvironment (DtEnvironmentSP, bool createAsProperty=false)
 Given a xml environment, returns a newly created reader/writer object from the object found within. More...
 
static DtString getAttribute (DtEnvironmentSP env, const DtString &name, DtEnvValueSP root)
 Gets the named attribute from a DtEnvValueSP. More...
 

Protected Member Functions

virtual bool detectObject (const DtVrfObject *object, DtRwSensorContactInfo *contactInfo)
 Overridden from DtSignatureObjectSensor to check if beam emitter beam is turned on or off. More...
 
virtual ContinueDetectingResult continueDetectingObject (const DtVrfObject *object, DtRwSensorContactInfo *contactInfo, bool &contactInfoModified)
 Overridden from DtSignatureObjectSensor to check if beam emitter beam is turned on or off. More...
 
virtual const chardefaultPSRType () const
 
virtual void createAndInitActiveSonarSystem ()
 Creates a new DtVrfEmitterSystem and assigns it to myEmitterSystem. More...
 
virtual void destroyActiveSonarSystem ()
 Removes the active sonar system. More...
 
virtual void processSetActiveSonarMode (DtSimMessage *msg)
 Calls setEmitterSystemOn() with the value specified in the message if the message matches our emitter system ID. More...
 
virtual void processRequestActiveSonarModes (const DtUUID &receiver, const DtUUID &sender, const DtVrfObjectMessage *msg)
 
virtual void updateActiveSonarMode (const DtString modeToUse="")
 If modeToUse is empty, finds the right descriptor mode entry based on the value specified in the PSR, then based on active-by-default in the descriptor. More...
 
virtual void timedTick ()
 See if sonar system should be initialized and created. More...
 
virtual void preFirstTickInit ()
 Initializes the component before it is ticked for the first time. More...
 
- Protected Member Functions inherited from DtPassiveSonarSensor
virtual bool sonarCanDetectObjects () const
 Returns true if: 1) the entity is moving below the maximum effective speed 2) the sonar is either at a specified depth or usable while retracted 3) the sonar is in water or underneath an unspecified surface. More...
 
- Protected Member Functions inherited from DtSignatureObjectSensor
virtual bool createPortGroups ()
 Creates and initializes port groups. More...
 
virtual bool createPorts ()
 Overridden to create local ports. More...
 
virtual double minimumSignatureThreshold (double sensorSensitivity) const
 
virtual bool detectedThisPeriod (double appSignature) const
 Uses the detection probability table to determine if the object was detected during this detection period. More...
 
virtual bool determineIdentificationLevel (const DtVrfObject *object, DtRwSensorContactInfo *contactInfo, double appSignature, int &level, bool &contactInfoModified)
 Determine varying levels of detection. More...
 
virtual bool updateSensorContactInfo (const DtVrfObject *object, DtRwSensorContactInfo *contactInfo, int updateLevel)
 
virtual void addDetectionError (DtRwSensorContactInfo *info, int level)
 Uses the sensor positional error set in the sensor descriptor to add error to the contact information. More...
 
virtual double sensitivity () const
 The current sensitivity of the sensor. More...
 
virtual double sensitivityModifier () const
 The modifier for this sensor's sensitivity. More...
 
virtual bool objectInSector (const DtVrfObject *object) const
 
virtual double windEffects () const
 How wind (if it does) effects the sensors. More...
 
virtual double precipitationEffects () const
 How precipitation (if it does) effects the sensors. More...
 
virtual void setupGeometryForDetection ()
 Sets up the current sensor geometry evaluator with the current position, orientation, and frustum of the sensor. More...
 
virtual double suppressionEffects () const
 How suppression effects sensors. More...
 
virtual const DtStringprobabilityString () const
 
- Protected Member Functions inherited from DtObjectSensor
virtual DtObjectSensorPSRcreatePSR ()
 Creates myProcessState data member, and adds it to our process state repository manager. More...
 
virtual void initSensorRangeRing ()
 Adds a sensor range ring to the range rings published for this object with the system-name.sensor-name as the title. More...
 
virtual void updateDetectableObjectsList ()
 Sets up myDetectableObjectList as a list that contains all entity types/forces specified in both the descriptor and the myObjectsToDetectInputPort input port. More...
 
virtual bool initSensorGeometry ()
 Creates the geometry evaluator based on the sensor-geometry entry in the descriptor, and the sensor geometry evaluator factory. More...
 
virtual DtVector localSensorPosition () const
 
virtual DtVector bodySensorPosition () const
 
virtual DtTaitBryan localSensorOrientation () const
 
virtual DtTaitBryan bodySensorOrientation () const
 
virtual DtUUID targetObject () const
 
virtual DtVector targetLocation () const
 
virtual DtSensorTrackingMode trackingMode () const
 
virtual bool processObjects ()
 Checks detectability of each of the detectable objects. More...
 
virtual bool objectWithinSensorGeometry (const DtVrfObject *object) const
 
virtual double rangeSquaredToObject (const DtVrfObject *object) const
 
virtual double rangeToObject (const DtVrfObject *object) const
 
virtual void clearObjectRangeCache () const
 Invalidates the current object range cache. More...
 
virtual void printTargets () const
 Prints the current target list to the console. More...
 
virtual void updateDetectedObjectListPort ()
 Clears the list port, then adds all target infos from the previous target list in the PSR, and sends the data. More...
 
virtual bool createAndInitSensorMonitor ()
 Creates a DtObjectSensorMonitor, and calls init() on it. More...
 
virtual bool objectInDetectableList (const DtVrfObject *) const
 Returns true if the object is in the myDetectableObjectList. More...
 
virtual void processHostilitiesChanged (DtU8 force)
 
virtual DtTaitBryan worldOrientationOfObject (const DtVrfObject *object) const
 Given the object, if this is a single point object return the orientation in the vrfState() else return orientation as calculated for multi-point objects (closed figure is origin to first point, non-closed is origin to last point). More...
 
virtual bool canDetectForceOfObject (const DtVrfObject *)
 Return false if the force of the object supplied cannot be detected by this force. More...
 
virtual void processSetSensorEnabledRequestMessage (DtSimMessage *msg)
 Calls setSensorEnabled() with the value specified in the message if the message matches our sensor name. More...
 
DtCompositePredicate objectTypeForcePredicate (const DtObjectType &, const DtNLengthIntegerVector &forceTypes)
 Specifies force types as s DtNLenghtIntegerVector. More...
 
DtCompositePredicate objectTypeForcePredicate (const DtObjectType &, const std::list< DtU8 > &forceTypes)
 Specifies force types as a std::list. More...
 
- Protected Member Functions inherited from DtSimComponent
virtual double computeCurrentTime ()
 Compute current time and myDT. More...
 
bool testInvariant () const
 
DtVrfProcessStateRepositorycreateComponentPsr (const DtString &defaultPsrType, const DtString &defaultPsrName, bool useDescriptorParams=true)
 Creates a PSR for this component and registers it with the PSR manager. More...
 
virtual void updateTaskVisualizations ()
 Called to update task visualizations after every tick. More...
 
virtual void destroyTaskVisualizations ()
 Destroys all task visualizations for this component. More...
 
virtual void destroyTaskVisualization (const DtString &name)
 Destroys an existing task visualization. More...
 
virtual DtPointTaskVisualizationPtr pointTaskVisualization (const DtString &name)
 Finds an existing or creates a new point task visualization with the given name. More...
 
virtual DtLineTaskVisualizationPtr lineTaskVisualization (const DtString &name)
 Finds an existing or creates a new line task visualization with the given name. More...
 
virtual DtAreaTaskVisualizationPtr areaTaskVisualization (const DtString &name)
 Finds an existing or creates a new area task visualization with the given name. More...
 
virtual DtTextTaskVisualizationPtr textTaskVisualization (const DtString &name)
 Finds an existing or creates a new text task visualization with the given name. More...
 
double calculateNextTaskVisTickTime () const
 Determines the next time the task visualizations should be ticked. More...
 
- Protected Member Functions inherited from DtReaderWriter
virtual void bindToRwAsVariable (const DtReaderWriter *rw)
 Copies values from the specified DtReaderWriter. More...
 

Static Protected Member Functions

static void setActiveSonarModeCallback (DtSimMessage *msg, void *usrData)
 Static callback method for setEmitter messages. More...
 
static void requestActiveSonarModesCallback (const DtVrfObjectMessage *msg, void *usr)
 
- Static Protected Member Functions inherited from DtObjectSensor
static void hostilitiesChangedCallback (DtU8 force, void *usr)
 If who were hostile towards has changed we will need to update our myDetectableObjectList. More...
 
static void setSensorEnabledRequestCallback (DtSimMessage *msg, void *usrData)
 Static callback method for setSensorEnabled messages. More...
 

Protected Attributes

DtVrfActiveSonarSystemmyActiveSonarSystem
 Contains the active sonar system publisher. More...
 
DtActiveSonarSensorPSRmyActiveSonarSensorPSR
 DtObjectSensor's myProcessState cast to our PSR type. More...
 
DtActiveSonarSensorDescriptormyDescriptor
 
DtU8 myActiveSonarSystemId
 
bool myInitializeSonar
 
bool mySkipFirstTick
 
- Protected Attributes inherited from DtPassiveSonarSensor
const
DtPassiveSonarSensorDescriptor
myPassiveSonarSensorDescriptor
 
DtPassiveSonarSensorPSRmyPassiveSonarPSR
 DtObjectSensor's myProcessState cast to our PSR type. More...
 
- Protected Attributes inherited from DtSignatureObjectSensor
const
DtSignatureObjectSensorDescriptor
mySignatureObjectSensorDescriptor
 
DtSymbolString mySensorDomain
 
DtVector myLocalSensorPosition
 Computed once per tick: More...
 
double mySensitivity
 
DtVrfSensorFieldOfViewmyFieldOfView
 The field of view of the sensor. More...
 
DtSignatureDetectLevelDeterminatormyDetectionLevelDeterminator
 
DtSignatureObjectSensorPSRmySignatureSensorPSR
 DtObjectSensor's myProcessState cast to our PSR type. More...
 
DtAnalogInputPortmyZoomLevelPort
 Input Port Name: zoom-level
Input Port Description: Desired zoom level of the sensor. More...
 
DtIntegerInputPortmyFieldOfViewColorPort
 Input Port Name: field-of-view-color
Input Port Description: Desired color for the sensor field of view. More...
 
DtInputPortGroupmySensorFieldOfViewLimitsPortGroup
 Input Port Group Name: sensor-field-of-view-limits
Input Port Group Description: Allows the actuator to communicate the azimuth and elevation limits of the sensor gimbal. More...
 
DtAnalogInputPortmyMinFieldOfViewAzimuthPort
 Input Port Name: min-azimuth
Input Port Description: The minimum azimuth at which the field of view can aim. More...
 
DtAnalogInputPortmyMaxFieldOfViewAzimuthPort
 Input Port Name: max-azimuth
Input Port Description: The maximum azimuth at which the field of view can aim. More...
 
DtAnalogInputPortmyMinFieldOfViewElevationPort
 Input Port Name: min-elevation
Input Port Description: The minimum elevation at which the field of view can aim. More...
 
DtAnalogInputPortmyMaxFieldOfViewElevationPort
 Input Port Name: max-elevation
Input Port Description: The maximum elevation at which the field of view can aim. More...
 
- Protected Attributes inherited from DtObjectSensor
DtManagedObjectListConstPtr myDetectableObjectList
 
const DtObjectSensorDescriptormyObjectSensorDescriptor
 
DtObjectSensorPSRmyProcessState
 Container for state data associated with this component. More...
 
DtObjectSensorMonitormyMonitor
 Sends out sensor contact information to the GUI if the GUI or other application has requested the information. More...
 
DtSpatialFilterEvaluatormySensorGeometryEvaluator
 
DtForceType myForceType
 The force type the last time the detectable object list was updated. More...
 
const DtVrfObjectmyMutableObjectCached
 The VrfObject whose range is currently cached. More...
 
bool myMutableObjectRangeCalculated
 Keeps track of whether the range has been calculated for the current cached object. More...
 
double myMutableObjectRangeCache
 The current range to the cached object, if calculated. More...
 
bool myMutableObjectRangeSquaredCalculated
 Keeps track of whether the range squared has been calculated for the current cached object. More...
 
double myMutableObjectRangeSquaredCache
 The current range squared to the cached object, if calculated. More...
 
bool myGeometrySetup
 Whether setupGeometryForDetection() has been called yet. More...
 
bool myPrep_invokeNewContactCallbacks
 
DtSensorContactListOutputPortmyDetectedObjectListPort
 Outputs: Output Port Name: detected-objects
Output Port Description: The list of contacts detected by this sensor. More...
 
DtObjectTypesListMultiInputPortmyObjectsToDetectInputPort
 Inputs: DtObjectTypesListMultiInputPort : object-types-to-detect Input Port Name: object-types-to-detect
Input Port Description: List of contacts to be considered for target selection. More...
 
DtInputPortGroupmySensorOffsetInputPortGroup
 Input Port Group Name: sensor-offset
Input Port Group Description: Allows an external controller to provide position and orientation of the sensor relative to the entity's position. More...
 
DtOrientationInputPortmyOrientationInputPort
 Input Port Name: orientation
Input Port Description: Specifies the orientation of the sensor relative to the entity on which it is mounted. More...
 
DtVectorInputPortmyPositionInputPort
 Input Port Name: position
Input Port Description: Specifies the position of the sensor in body coordinates relative to the entity which it is mounted on. More...
 
DtStringInputPortmyTargetObjectInputPort
 Input Port Name: target-object
Input Port Description: Specifies the name of the object be targeted by this sensor. More...
 
DtVectorInputPortmyTargetLocationInputPort
 Input Port Name: target-location
Input Port Description: Specifies the location to be targeted by this sensor. More...
 
DtIntegerInputPortmyTrackingModeInputPort
 Input Port Name: tracking-mode
Input Port Description: Specifies the tracking mode of the sensor. More...
 
DtBooleanInputPortmyTargetAcquiredInputPort
 Input Port Name: target-acquired
Input Port Description: Specifies whether the sensor was able to acquire the target. More...
 
- Protected Attributes inherited from DtSimComponent
DtVrfObjectmyEntity
 
DtVrfObjectStateRepositorymyLocalStateRepository
 
DtSimManagermySimManager
 
DtComponentSystemmySystem
 Pointer to the DtComponentSystem that this component belongs. More...
 
DtListItem * myListItem
 
DtInputPortMap myInputPortList
 
DtOutputPortMap myOutputPortList
 
DtInputPortGroupMap myInputPortGroupList
 
DtOutputPortGroupMap myOutputPortGroupList
 
int myPriority
 
double myMinTickPeriod
 
double myMinTickPeriodVariance
 
double myNextTickTime
 
double myLastTickSimTime
 
double myDT
 
bool myIsEnabled
 Indicates whether this component should be enabled for ticking or not. More...
 
bool myFirstTick
 Initialized to true in the constructor, set to false by the first call to postTick. More...
 
bool myIsThreadSafe
 Whether this component can be use the DtCriticalSection versions of the tick functions and be ticked in parallel with other components Defaults to false. More...
 
const DtComponentDescriptormyComponentDescriptor
 
std::list
< DtVrfProcessStateRepository * > 
myComponentPsrs
 List of PSRs made using createComponentPsr() that will be deleted by this component when it is destroyed. More...
 
bool myTickEveryFrame
 Flag indicating that tickPeriod is set to 0, and the component will tick every frame. More...
 
DtTaskVisualizationMap myTaskVisualizations
 The visualization objects to be drawn for this component. More...
 
double myNextTaskVisTickTime
 The next tick time for updating the task visualizations. More...
 
DtSymbolString myFullComponentName
 
- Protected Attributes inherited from DtReaderWriter
const DtSymbolString myName
 
DtReaderWriterRegistry myRegistry
 
DtReaderWriterRegistrymyParentRegistry
 
bool myValueSpecified
 
bool myReadOnlyFlag
 
bool myIsVariableReference
 
DtSymbolString myVariableName
 
bool myVariableIsBound
 
DtReaderWritermyDefaultValue
 
aliasContainer myAliases
 Container for the aliases which represent alternative names for the object. More...
 
bool myInvalid
 Set to true if there is a problem reading this item. More...
 
bool myChangedFlag
 Set to true when value changes Set to false when value checked with changedSinceLastChecked. More...
 

Private Member Functions

 DtActiveSonarSensor ()
 default constructor; not implemented More...
 
 DtActiveSonarSensor (const DtActiveSonarSensor &orig)
 copy constructor; not implemented More...
 
const DtActiveSonarSensoroperator= (const DtActiveSonarSensor &orig)
 assignment operator; not implemented More...
 

Additional Inherited Members

- Public Types inherited from DtObjectSensor
enum  ContinueDetectingResult { DetectionLost = 0, DetectionContinued = 1, DetectionMissed = 2 }
 
- 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 )()
 
- Protected Types inherited from DtSimComponent
typedef std::map< DtString,
DtInputPort * > 
DtInputPortMap
 
typedef std::map< DtString,
DtOutputPort * > 
DtOutputPortMap
 
typedef std::map< DtString,
DtInputPortGroup * > 
DtInputPortGroupMap
 
typedef std::map< DtString,
DtOutputPortGroup * > 
DtOutputPortGroupMap
 
- Static Protected Attributes inherited from DtSimComponent
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
 

Constructor & Destructor Documentation

DtActiveSonarSensor::DtActiveSonarSensor ( )
private

default constructor; not implemented

DtActiveSonarSensor::DtActiveSonarSensor ( const DtActiveSonarSensor orig)
private

copy constructor; not implemented

DtActiveSonarSensor::DtActiveSonarSensor ( const DtString name,
DtVrfObject owner,
DtSimManager simManager,
DtComponentDescriptor desc = 0,
DtReaderWriterRegistry parentRegistry = 0 
)

Parameters
nameReader writer name of this component.
ownerThe DtVrfObject 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 DtActiveSonarSensor::~DtActiveSonarSensor ( )
virtual

destructor

Member Function Documentation

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

assignment operator; not implemented

virtual bool DtActiveSonarSensor::init ( )
virtual

Calls createPSR(), createDetectableObjectList(), createAndInitSensorMonitor() and initSensorGeometry().

This must be called after construction and before the sensor is used on an entity.

Reimplemented from DtPassiveSonarSensor.

virtual const char* DtActiveSonarSensor::type ( ) const
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.

Returns
DtRadarObjectSensorType

Reimplemented from DtPassiveSonarSensor.

virtual int DtActiveSonarSensor::sensorType ( ) const
virtual

Returns DtSensorTypeRadar.

Reimplemented from DtPassiveSonarSensor.

virtual void DtActiveSonarSensor::tick ( )
virtual

Overridden from base class to update myLocalSensorPosition (using localSensorPosition()) at the start of each tick.

It then calls DtObjectSensor::tick.

Reimplemented from DtSignatureObjectSensor.

static DtSimComponent* DtActiveSonarSensor::creator ( const DtString name,
DtVrfObject owner,
DtSimManager simManager,
DtComponentDescriptor desc = 0,
DtReaderWriterRegistry parentRegistry = 0 
)
static

Parameters
nameReader writer name of this component.
ownerThe DtVrfObject 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).
Returns
New instance of this class.
virtual void DtActiveSonarSensor::setSensorEnabled ( bool  )
virtual

If sensor is disabled clear out beam list.

Reimplemented from DtSignatureObjectSensor.

virtual bool DtActiveSonarSensor::detectObject ( const DtVrfObject object,
DtRwSensorContactInfo contactInfo 
)
protectedvirtual

Overridden from DtSignatureObjectSensor to check if beam emitter beam is turned on or off.

Returns
DtSignatureObjectSensor::dectedObject() if beam is on, otherwise false.

Reimplemented from DtPassiveSonarSensor.

virtual ContinueDetectingResult DtActiveSonarSensor::continueDetectingObject ( const DtVrfObject object,
DtRwSensorContactInfo contactInfo,
bool contactInfoModified 
)
protectedvirtual

Overridden from DtSignatureObjectSensor to check if beam emitter beam is turned on or off.

Returns
DtSignatureObjectSensor::continueDetectingObject() if beam is on, otherwise false.

Reimplemented from DtPassiveSonarSensor.

virtual const char* DtActiveSonarSensor::defaultPSRType ( ) const
protectedvirtual
Returns
DtVrfActiveSonarSensorProcessStateRepositoryType.

Reimplemented from DtPassiveSonarSensor.

virtual void DtActiveSonarSensor::createAndInitActiveSonarSystem ( )
protectedvirtual

Creates a new DtVrfEmitterSystem and assigns it to myEmitterSystem.

Sets the emitter system data from the descriptor. Registers for setEmitter message callbacks.

virtual void DtActiveSonarSensor::destroyActiveSonarSystem ( )
protectedvirtual

Removes the active sonar system.

static void DtActiveSonarSensor::setActiveSonarModeCallback ( DtSimMessage msg,
void *  usrData 
)
staticprotected

Static callback method for setEmitter messages.

Calls processSetActiveSonarMode().

virtual void DtActiveSonarSensor::processSetActiveSonarMode ( DtSimMessage msg)
protectedvirtual

Calls setEmitterSystemOn() with the value specified in the message if the message matches our emitter system ID.

static void DtActiveSonarSensor::requestActiveSonarModesCallback ( const DtVrfObjectMessage msg,
void *  usr 
)
staticprotected
virtual void DtActiveSonarSensor::processRequestActiveSonarModes ( const DtUUID receiver,
const DtUUID sender,
const DtVrfObjectMessage msg 
)
protectedvirtual
virtual void DtActiveSonarSensor::updateActiveSonarMode ( const DtString  modeToUse = "")
protectedvirtual

If modeToUse is empty, finds the right descriptor mode entry based on the value specified in the PSR, then based on active-by-default in the descriptor.

Else If modeToUse is "first-enabled-mode", finds the first descriptor mode entry that has beams. Else finds the descriptor mode entry named by modeToUse.

Once the right mode is found, it is set in the PSR. It is also set in the system, if the system exists.

virtual void DtActiveSonarSensor::timedTick ( )
protectedvirtual

See if sonar system should be initialized and created.

Reimplemented from DtSimComponent.

virtual void DtActiveSonarSensor::preFirstTickInit ( )
protectedvirtual

Initializes the component before it is ticked for the first time.

It is called by timedTick if myFirstTick is true.

Reimplemented from DtObjectSensor.

Member Data Documentation

DtVrfActiveSonarSystem* DtActiveSonarSensor::myActiveSonarSystem
protected

Contains the active sonar system publisher.

DtActiveSonarSensorPSR* DtActiveSonarSensor::myActiveSonarSensorPSR
protected

DtObjectSensor's myProcessState cast to our PSR type.

This class will not new or delete this object. Base class does that.

DtActiveSonarSensorDescriptor* DtActiveSonarSensor::myDescriptor
protected
DtU8 DtActiveSonarSensor::myActiveSonarSystemId
protected
bool DtActiveSonarSensor::myInitializeSonar
protected
bool DtActiveSonarSensor::mySkipFirstTick
protected

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

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)