![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2007 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: contactFusionCtlr.h,v $ $Revision: 1.4 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00014 00015 #ifndef contactFusionCtlr_H_ 00016 #define contactFusionCtlr_H_ 00017 00018 #include "vrfobjcore/cntrlCmpnt.h" 00019 #include "vrfmodel/vrfmodelDefines.h" 00020 00021 class DtSensorContactListMultiInputPort; 00022 class DtRwSensorContactInfo; 00023 class DtSensorContactListOutputPort; 00024 class DtSensorContactInfoList; 00025 00038 class DT_DLL_vrfmodel DtContactFusionController : public DtControllerComponent 00039 { 00040 private: 00042 DtContactFusionController(); 00044 DtContactFusionController(const DtContactFusionController& orig); 00046 DtContactFusionController& operator=( 00047 const DtContactFusionController& orig); 00048 public: 00049 00052 DtContactFusionController(const DtString& name, DtVrfObject* owner, 00053 DtSimManager* simManager, DtComponentDescriptor* desc=0, 00054 DtReaderWriterRegistry *parentRegistry=0); 00055 00057 virtual ~DtContactFusionController(); 00058 00061 virtual bool init(); 00062 00065 virtual DtString type() const; 00066 00070 virtual void tick(); 00071 00075 static DtSimComponent * creator(const DtString& name, 00076 DtVrfObject* owner, 00077 DtSimManager* simManager, 00078 DtComponentDescriptor* desc = 0, 00079 DtReaderWriterRegistry* parentRegistry = 0); 00080 00081 protected: 00083 virtual bool createPorts(); 00084 00089 virtual void fuseSensorContacts(); 00090 00093 virtual void updateContactInfo(DtRwSensorContactInfo * entry, const DtRwSensorContactInfo * incomingInfo); 00094 00095 00096 protected: 00097 00106 00107 00114 DtSensorContactListMultiInputPort* myDetectedObjectsInputPort; 00116 00122 DtSensorContactInfoList * myFusedContactsList; 00123 }; 00124 00125 #endif