![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2000 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: lclEntNetIf.h,v $ $Revision: 1.26 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00017 00018 00019 #ifndef DtSimLocalEntityNetInterface_H_ 00020 #define DtSimLocalEntityNetInterface_H_ 00021 00022 #include "vrfobjcore/entNetIface.h" 00023 #include <vl/globalObjDes.h> 00024 #include "vrfobjcore/vrfObject.h" 00025 00035 00036 #include "vrfobjcore/vrfobjcoreDefines.h" 00037 class DT_DLL_vrfobjcore DtSimLocalEntityNetInterface : public DtSimEntityNetInterface 00038 { 00039 protected: 00041 DtSimLocalEntityNetInterface(); 00042 00043 public: 00044 00046 DtSimLocalEntityNetInterface(const DtString& name, DtVrfObject* vrfObject, 00047 DtReaderWriterRegistry* parentRegistry = 0, 00048 bool publishObject = true); 00049 00054 DtSimLocalEntityNetInterface(const DtSimLocalEntityNetInterface & orig, 00055 DtReaderWriterRegistry * parentRegistry = 0); 00056 00058 const DtSimLocalEntityNetInterface & operator=(const 00059 DtSimLocalEntityNetInterface & orig); 00060 00062 virtual ~DtSimLocalEntityNetInterface(); 00063 00065 virtual bool init(); 00066 00069 virtual void onTick(); 00070 00076 virtual void tick(); 00077 00080 virtual void setMinTickPeriod(double minTickPeriod); 00081 00083 virtual double minTickPeriod() const; 00084 00086 virtual void setMinTickPeriodVariance(double minTickPeriodVariance); 00087 00089 virtual double minTickPeriodVariance() const; 00090 00094 virtual void setNextTickTime(double nextTickTime); 00095 00097 virtual double nextTickTime() const; 00098 00104 virtual double calculateNextTickTime() const; 00105 00108 virtual bool publisherUserSupplied() const; 00109 00112 virtual void updatePublisher() = 0; 00113 00116 virtual bool createPublisher() = 0; 00117 00120 virtual void destroyPublisher() = 0; 00121 00124 virtual void updateNet(); 00125 00130 virtual void setupNetworkRepository() = 0; 00131 00132 DtVrfObject * vrfObject() const; 00133 00137 static bool isVrfGlobalId(const DtGlobalObjectDesignator& identifier); 00138 00140 virtual bool isLocal() const { return true; } 00141 00142 virtual bool isAggregate() const = 0; 00143 00147 static DtSimLocalEntityNetInterface * isLocalEntityNetInterface(const 00148 DtSimObjectNetInterface * objNetInterface); 00149 00154 static void setVrfDataTimeThreshold(DtTime time); 00155 00156 protected: 00157 bool myPublisherUserSupplied; 00158 00159 bool myPublishObject; 00160 00162 DtSimManager* mySimManager; 00163 00164 double myMinTickPeriod; 00165 double myMinTickPeriodVariance; 00166 double myNextTickTime; 00167 }; 00168 00169 #endif 00170 00171