VR-Forces 4.0.4 Class Documentation
include/vrfobjcore/lclEnvNetIf.h
Go to the documentation of this file.
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

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)