![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2005 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: objectSensorPSR.h,v $ $Revision: 1.7 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00012 #ifndef objectSensorPSR_H_ 00013 #define objectSensorPSR_H_ 00014 00015 #include "vrfobjcore/processSR.h" 00016 #include "vrfutil/rwReal.h" 00017 #include <vlutil/vlTime.h> 00018 #include "vrfutil/sensorContactInfoList.h" 00019 00024 00025 class DtEntityIdentifier; 00026 00027 #include "vrfobjcore/vrfobjcoreDefines.h" 00028 class DT_DLL_vrfobjcore DtObjectSensorPSR : public DtVrfProcessStateRepository 00029 { 00030 public: 00031 00033 DtObjectSensorPSR(DtVrfObject* vrfObject, 00034 const DtString& rwName = DtString::nullString(), 00035 DtReaderWriterRegistry* parentRegistry = 0); 00036 00038 DtObjectSensorPSR(const DtObjectSensorPSR& orig, 00039 const DtString& rwName = DtString::nullString(), 00040 DtReaderWriterRegistry* parentRegistry = 0); 00041 00043 virtual ~DtObjectSensorPSR(); 00044 00046 DtObjectSensorPSR& operator=(const DtObjectSensorPSR& orig); 00047 00049 virtual DtVrfProcessStateRepository* clone( 00050 const DtString& rwName = DtString::nullString(), 00051 DtReaderWriterRegistry* parentRegistry = 0) const; 00052 00054 virtual DtString type() const; 00055 00058 virtual bool init(); 00059 00064 virtual DtSensorContactInfoList* contactInfoList(); 00070 virtual const DtSensorContactInfoList* contactInfoList() const; 00071 00074 virtual DtRwSensorContactInfo* lookupContactById(const DtEntityIdentifier& id) const; 00075 00077 virtual void clearContactInfoList(); 00078 00084 virtual DtRwSensorContactInfo* createSensorContactInfo() const; 00085 00091 virtual void putSelf(FILE *fp, int indentLevel = 0, 00092 bool writeUnspecified = false, const DtFilename& path = DtReaderWriter::appPath()); 00093 00096 virtual void getSelf(DtlObjPtr args, const DtFilename& searchPath, 00097 const DtVariableBindingsList& variableBindings); 00098 00099 protected: 00104 virtual DtSensorContactInfoList* createSensorContactInfoList(const DtString& name); 00105 00106 public: 00107 00109 static DtVrfProcessStateRepository* creator (const DtString& rwName, 00110 DtVrfObject* vrfObject, DtReaderWriterRegistry* parentRegistry); 00111 00112 protected: 00113 00118 virtual void mapContactIdsToContactNames(); 00119 00123 virtual void mapContactNamesToContactIds(); 00124 00125 protected: 00126 00129 DtSensorContactInfoList* myContactInfoList; 00130 00133 mutable bool myMutableMapContactNamesToContactIds; 00134 }; 00135 00136 #endif