VR-Forces 4.0.4 Class Documentation
include/vrfobjcore/indLclNetIf.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2004 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: indLclNetIf.h,v $ $Revision: 1.22 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00017 
00018 #ifndef DtSimIndividualLocalEntityNetInterface_H_
00019 #define DtSimIndividualLocalEntityNetInterface_H_
00020 
00021 #include "vrfobjcore/lclEntNetIf.h"
00022 
00023 class DtVrfEntityPublisher;
00024 class DtExtEntityStateRepository;
00025 class DtVrfObjectStateRepository;
00026 
00036 #include "vrfobjcore/vrfobjcoreDefines.h"
00037 class DT_DLL_vrfobjcore DtSimIndividualLocalEntityNetInterface : public 
00038    DtSimLocalEntityNetInterface
00039 {
00040 protected:
00042    DtSimIndividualLocalEntityNetInterface();
00043 
00044 public:
00046    DtSimIndividualLocalEntityNetInterface(const DtString & name, 
00047       DtVrfObject* vrfObject,  
00048       DtReaderWriterRegistry* parentRegistry = 0,
00049       bool publishObject = true);
00050 
00052    DtSimIndividualLocalEntityNetInterface(const 
00053       DtSimIndividualLocalEntityNetInterface & orig, 
00054       DtReaderWriterRegistry * parentRegistry = 0);
00055 
00057    const DtSimIndividualLocalEntityNetInterface & operator=(const 
00058       DtSimIndividualLocalEntityNetInterface & orig);
00059 
00061    virtual ~DtSimIndividualLocalEntityNetInterface();
00062 
00064    virtual void updateNet();
00065 
00068    virtual void updatePublisher();
00069 
00075    virtual bool createPublisher();
00076 
00078    void destroyPublisher();
00079 
00089    virtual bool setEntityPublisher(DtVrfEntityPublisher * publisher);
00090 
00094    virtual void setupNetworkRepository();
00095 
00097    virtual DtVrfEntityPublisher * entityPublisher() const;
00098 
00101    virtual DtExtEntityStateRepository * individualNetworkState() const;
00102 
00108    virtual DtVrfObjectStateRepository * individualLocalState() const;
00109 
00110    virtual bool isAggregate() const { return false; }
00111 
00114    virtual DtString type() const;
00115 
00119    static DtSimIndividualLocalEntityNetInterface * 
00120       isIndividualLocalEntityNetInterface(const DtSimObjectNetInterface * 
00121       objNetInterface);
00122 
00123    static DtSimObjectNetInterface * creator(const DtString & name, 
00124       DtVrfObject* vrfObject,  
00125       DtReaderWriterRegistry * parentRegistry,
00126       bool publishObject);
00127 
00128 protected:
00129 
00130    virtual bool updateVrfDataAsSeenByRemote();
00131 
00136    virtual DtVector calculateWorldVelocityFromPosition(const DtVector & currentWorldPos,
00137                                                    const DtVector & currentLocalPos,
00138                                                    const DtVector & localVelocityworldVelocity);
00139 
00143    virtual void updateArtPartsNetState();
00144 
00145    virtual void updateDIGuyState();
00146 #ifdef DtDIS
00147    virtual void updateCharacterType(const DtString& appear);
00148    virtual void updateCharacterAppearance(const DtString& appear);
00149    virtual void updateCharacterAnimation(const DtString & animation,bool paused);
00150 #endif
00151 
00152 protected:
00153 
00154    DtVrfEntityPublisher * myEntityPublisher;
00155 
00156    DtTime myTimeLastCharacterAppearanceSent;
00157    DtTime myTimeLastCharacterTypeSent;
00158    DtTime myTimeLastAnimationSent;
00159 
00160    static DtTime theDiGuyCustomPduThreshold;
00161    bool myFirstTick;
00162    bool myPublishDIGuy;
00163 
00164 };
00165 
00166 #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)