![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2000 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: lclEnvNetIf.h,v $ $Revision: 1.26 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00017 00018 00019 #ifndef DtSimLocalEnvironmentalNetInterface_H_ 00020 #define DtSimLocalEnvironmentalNetInterface_H_ 00021 00022 #include "vrfobjcore/envNetIface.h" 00023 #include <vlutil/vlString.h> 00024 #include <vlutil/vlList.h> 00025 #include <vl/globalObjDes.h> 00026 #include <vrfExtObjects/envModelType.h> 00027 00028 class DtVrfObject; 00029 class DtVrfOverlayObjectStateRepository; 00030 class DtEnvironmentProcessPublisher; 00031 class DtEnvironmentProcessRepository; 00032 00033 class DtSimManager; 00034 00042 #include "vrfobjcore/vrfobjcoreDefines.h" 00043 class DT_DLL_vrfobjcore DtSimLocalEnvironmentalNetInterface : 00044 public DtSimEnvironmentalNetInterface 00045 { 00046 protected: 00048 DtSimLocalEnvironmentalNetInterface(); 00049 00050 public: 00051 00053 DtSimLocalEnvironmentalNetInterface(const DtString& name, 00054 DtVrfObject* vrfObject, 00055 DtReaderWriterRegistry* parentRegistry = 0, 00056 bool publishObject = true); 00057 00062 DtSimLocalEnvironmentalNetInterface( 00063 const DtSimLocalEnvironmentalNetInterface & orig, 00064 DtReaderWriterRegistry * parentRegistry = 0); 00065 00067 const DtSimLocalEnvironmentalNetInterface & operator=(const 00068 DtSimLocalEnvironmentalNetInterface & orig); 00069 00071 virtual ~DtSimLocalEnvironmentalNetInterface(); 00072 00074 virtual bool init(); 00075 00077 virtual DtString type() const = 0; 00078 00084 virtual void tick(); 00085 00088 virtual void setMinTickPeriod(double minTickPeriod); 00089 00091 virtual double minTickPeriod() const; 00092 00094 virtual void setMinTickPeriodVariance(double minTickPeriodVariance); 00095 00097 virtual double minTickPeriodVariance() const; 00098 00102 virtual void setNextTickTime(double nextTickTime); 00103 00105 virtual double nextTickTime() const; 00106 00112 virtual double calculateNextTickTime() const; 00113 00117 virtual void onTick(); 00118 00121 virtual bool publisherUserSupplied() const; 00122 00125 virtual void updatePublisher() = 0; 00126 00129 virtual bool createPublisher(); 00130 00133 virtual void destroyPublisher(); 00134 00144 virtual bool setEntityPublisher(DtEnvironmentProcessPublisher* publisher); 00145 00146 virtual DtEnvironmentProcessPublisher* environmentalPublisher() const; 00147 00152 virtual void setupNetworkRepository(); 00153 00154 DtVrfObject* vrfObject() const; 00155 00157 virtual bool isLocal() const { return true; } 00158 virtual bool isEnvironmental() const { return true; } 00159 00163 static DtSimLocalEnvironmentalNetInterface* isLocalEnvironmentalNetInterface( 00164 const DtSimObjectNetInterface * objNetInterface); 00165 00166 static void verticesChanged(DtVrfObject*, void* usr); 00167 virtual void processVerticesChanged(DtVrfObject*); 00168 00169 protected: 00170 00172 virtual DtEnvironmentProcessPublisher* _createPublisher() const; 00173 00175 virtual DtEnvironmentProcessRepository* _createSR() const; 00176 00178 protected: 00179 bool myPublisherUserSupplied; 00180 00181 DtEnvironmentProcessPublisher* myEnvironmentalPublisher; 00182 bool myPublishObject; 00184 DtSimManager* mySimManager; 00185 00186 double myMinTickPeriod; 00187 double myMinTickPeriodVariance; 00188 double myNextTickTime; 00189 00190 bool myVerticesChanged; 00191 }; 00192 00193 #endif