![]() |
VR-Forces 4.0.4 Class Documentation
|
DtContactFusionController populates the objectContactList in the DtVrfObjectStateRepository by gathering contact information from various sources and fuses them into one list. More...

Public Member Functions | |
| DtContactFusionController (const DtString &name, DtVrfObject *owner, DtSimManager *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0) | |
| (const DtString&,DtVrfObject*,DtSimManager*, | |
| virtual | ~DtContactFusionController () |
| Destructor. | |
| virtual bool | init () |
| Init. | |
| virtual DtString | type () const |
| Returns a string identifies the class type of component. | |
| virtual void | tick () |
| This components simulation tick. | |
Static Public Member Functions | |
| static DtSimComponent * | creator (const DtString &name, DtVrfObject *owner, DtSimManager *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0) |
| (const DtString&,DtVrfObject*,DtSimManager*, | |
Protected Member Functions | |
| virtual bool | createPorts () |
| Creates and initializes ports. | |
| virtual void | fuseSensorContacts () |
| Walks the lists of sensor contacts coming from the sensors, and constructs the myFusedContactsList by removing any duplicates, and keeping ones with higher confidence values if there are duplicates. | |
| virtual void | updateContactInfo (DtRwSensorContactInfo *entry, const DtRwSensorContactInfo *incomingInfo) |
| If an entry already exists it's contact info is updated. | |
Protected Attributes | |
| DtSensorContactInfoList * | myFusedContactsList |
| This holds the fused list of sensor contacts. | |
Ports and Port Groups | |
Port I/O Interface: Inputs: DtSensorContactListMultiInputPort : detected-objects Outputs: DtObjectTypesListOutputPort() : object-types-to-spot-report. | |
| DtSensorContactListMultiInputPort * | myDetectedObjectsInputPort |
| Input Port Name: detected-objects Input Port Description: List of contacts to send spot reports for. | |
Private Member Functions | |
| DtContactFusionController () | |
| Not Implemented. | |
| DtContactFusionController (const DtContactFusionController &orig) | |
| Not Implemented. | |
| DtContactFusionController & | operator= (const DtContactFusionController &orig) |
| Not Implemented. | |
DtContactFusionController populates the objectContactList in the DtVrfObjectStateRepository by gathering contact information from various sources and fuses them into one list.
End User Description: This controller monitors contact info from various sources-- sensor input ports, spot reports. It goes through all the contacts fusing redundant information into one list. This list is stored in the entity state repository, and can be accessed by other controllers there. Both the target selection controller and spot report generator controller utilize this list.
Uses Descriptor Type: DtComponentDescriptor
| DtContactFusionController::DtContactFusionController | ( | ) | [private] |
Not Implemented.
| DtContactFusionController::DtContactFusionController | ( | const DtContactFusionController & | orig | ) | [private] |
Not Implemented.
| DtContactFusionController::DtContactFusionController | ( | const DtString & | name, |
| DtVrfObject * | owner, | ||
| DtSimManager * | simManager, | ||
| DtComponentDescriptor * | desc = 0, |
||
| DtReaderWriterRegistry * | parentRegistry = 0 |
||
| ) |
(const DtString&,DtVrfObject*,DtSimManager*,
| name | Reader writer name of this component. |
| owner | The DtVrfObject that owns this component |
| simManager | The simulation manager (provides access to terrain, message interface, simulation clock). |
| desc | The component descriptor used to initialize this component. |
| parentRegistry | Pointer to the parent reader writer registry (the containing object that reads/writes this object). |
| virtual DtContactFusionController::~DtContactFusionController | ( | ) | [virtual] |
Destructor.
| DtContactFusionController& DtContactFusionController::operator= | ( | const DtContactFusionController & | orig | ) | [private] |
Not Implemented.
| virtual bool DtContactFusionController::init | ( | ) | [virtual] |
Init.
Call immediately after construction. calls registerSpotReportCallback().
Reimplemented from DtControllerComponent.
| virtual DtString DtContactFusionController::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.
Reimplemented from DtControllerComponent.
| virtual void DtContactFusionController::tick | ( | ) | [virtual] |
This components simulation tick.
If any connected sensor has provided new data since the last tick, fuseSensorContacts() is called.
Reimplemented from DtSimComponent.
| static DtSimComponent* DtContactFusionController::creator | ( | const DtString & | name, |
| DtVrfObject * | owner, | ||
| DtSimManager * | simManager, | ||
| DtComponentDescriptor * | desc = 0, |
||
| DtReaderWriterRegistry * | parentRegistry = 0 |
||
| ) | [static] |
(const DtString&,DtVrfObject*,DtSimManager*,
| name | Reader writer name of this component. |
| owner | The DtVrfObject that owns this component |
| simManager | The simulation manager (provides access to terrain, message interface, simulation clock). |
| desc | The component descriptor used to initialize this component. |
| parentRegistry | Pointer to the parent reader writer registry (the containing object that reads/writes this object). |
| virtual bool DtContactFusionController::createPorts | ( | ) | [protected, virtual] |
Creates and initializes ports.
Reimplemented from DtSimComponent.
| virtual void DtContactFusionController::fuseSensorContacts | ( | ) | [protected, virtual] |
Walks the lists of sensor contacts coming from the sensors, and constructs the myFusedContactsList by removing any duplicates, and keeping ones with higher confidence values if there are duplicates.
Clears the list each tick if new data is present to keep the list current.
| virtual void DtContactFusionController::updateContactInfo | ( | DtRwSensorContactInfo * | entry, |
| const DtRwSensorContactInfo * | incomingInfo | ||
| ) | [protected, virtual] |
If an entry already exists it's contact info is updated.
Calls mergeContactInfo function which is defined in rwSensorContactInfo.h.
DtSensorContactListMultiInputPort* DtContactFusionController::myDetectedObjectsInputPort [protected] |
Input Port Name: detected-objects
Input Port Description: List of contacts to send spot reports for.
As many contact lists as desired can be connected and work simultaneously.
Input Port Range:
Input Port Default Value:
Input Group Parent:
This holds the fused list of sensor contacts.
(i.e. only one entry per potential target, even if it was spotted by multiple sensors), keyed by name of contact. This list points to the object's state repository list which is responsible for the creation and destruction of the list.