VR-Forces 4.0.4 Class Documentation
include/vrfobjcore/aggLclNetIf.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2000 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: aggLclNetIf.h,v $ $Revision: 1.27 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00013 
00014 #ifndef DtSimAggregateLocalEntityNetInterface_H_
00015 #define DtSimAggregateLocalEntityNetInterface_H_
00016 
00017 #include "vrfobjcore/vrfobjcoreDefines.h"
00018 #include "vrfobjcore/lclEntNetIf.h"
00019 #include "vrfobjcore/vrfObjSR.h"
00020 #include <vl/varDatumRec.h>
00021 
00022 class DtVrfAggregatePublisher;
00023 class DtExtAggregateStateRepository;
00024 class DtVrfAggregateStateRepository;
00025 
00028 class DT_DLL_vrfobjcore DtSimAggregateLocalEntityNetInterface : public DtSimLocalEntityNetInterface
00029 {
00030 protected:
00031 
00033    DtSimAggregateLocalEntityNetInterface();
00034 
00035 public:
00036 
00038    DtSimAggregateLocalEntityNetInterface(const DtString & name, 
00039       DtVrfObject* vrfObject,  
00040       DtReaderWriterRegistry* parentRegistry = 0,
00041       bool publishObject = true);
00042 
00044    DtSimAggregateLocalEntityNetInterface(const 
00045       DtSimAggregateLocalEntityNetInterface & orig, 
00046       DtReaderWriterRegistry * parentRegistry = 0);
00047 
00049    const DtSimAggregateLocalEntityNetInterface & operator=(const 
00050       DtSimAggregateLocalEntityNetInterface & orig);
00051 
00053    virtual ~DtSimAggregateLocalEntityNetInterface();
00054 
00056    bool init();
00057 
00059    virtual void updateNet();
00060    
00066    virtual void tick();
00067 
00070    virtual void setMinTickPeriod(double minTickPeriod);
00071 
00073    virtual double minTickPeriod() const;
00074 
00076    virtual void setMinTickPeriodVariance(double minTickPeriodVariance);
00077 
00079    virtual double minTickPeriodVariance() const;
00080 
00084    virtual void setNextTickTime(double nextTickTime);
00085 
00087    virtual double nextTickTime() const;
00088 
00094    virtual void updatePublisher();
00095 
00097    virtual bool createPublisher();
00098 
00100    virtual void destroyPublisher();
00101 
00111    virtual bool setAggregatePublisher(DtVrfAggregatePublisher * publisher);
00112 
00116    virtual void setupNetworkRepository();
00117 
00120    virtual DtVrfAggregatePublisher * aggregatePublisher() const;
00121 
00124    virtual DtExtAggregateStateRepository * aggregateNetworkState() const;
00125 
00126    virtual DtVrfAggregateStateRepository * aggregateLocalState() const;
00127 
00131    virtual bool setUserVariableDatum( int userRecordNumber, 
00132                                       const DtVariableDatumRecord& record);
00133 
00135    virtual bool getUserVariableDatum( int userRecordNumber,
00136                                       DtVariableDatumRecord& rec);
00137 
00140    virtual bool encodeVariableDatum();
00141 
00147    virtual bool isANetSubordinate(const DtGlobalObjectDesignator& 
00148       globalId);
00149 
00152    virtual bool isPseudoAggregate() const { return false; }
00153 
00154    virtual bool isAggregate() const { return true; }
00155 
00158    virtual DtString type() const;
00159 
00163    virtual void setForceUpdate(bool flag);
00164 
00168    static DtSimAggregateLocalEntityNetInterface * 
00169       isAggregateLocalEntityNetInterface(const DtSimObjectNetInterface * 
00170       objNetInterface);
00171 
00172    static DtSimObjectNetInterface * creator(const DtString & name, 
00173       DtVrfObject* vrfObject, 
00174       DtReaderWriterRegistry* parentRegistry,
00175       bool publishObject);
00176 
00177 protected:
00179    virtual bool updateVrfDataAsSeenByRemote();
00180 
00181 protected:
00182 
00183    DtVrfAggregatePublisher* myAggregatePublisher;
00184 
00185    double myMinTickPeriod;
00186    double myMinTickPeriodVariance;
00187    double myNextTickTime;
00188 
00189    bool myFirstPause;
00190    bool myForceUpdate;
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)