VR-Forces 4.0.4 Class Documentation
include/vrfmodel/vrfObjectDataMessenger.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2005 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: vrfObjectDataMessenger.h,v $ $Revision: 1.1 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00014 
00015 #ifndef DtVrfObjectDataMessenger_H_
00016 #define DtVrfObjectDataMessenger_H_
00017 
00018 #include <vrfobjcore/cntrlCmpnt.h>
00019 #include <vrfExtObjects/vrfExtensions.h>
00020 #include "vrfmodel/vrfmodelDefines.h"
00021 
00022 class DtSimMessage;
00023 class DtVrfObjectMessage;
00024 class DtReflectedEntity;
00025 
00028 class DT_DLL_vrfmodel DtVrfObjectDataMessenger : public DtControllerComponent
00029 {
00030 private:
00032    DtVrfObjectDataMessenger();
00034    DtVrfObjectDataMessenger(const DtVrfObjectDataMessenger& orig);
00036    DtVrfObjectDataMessenger& operator=(
00037       const DtVrfObjectDataMessenger& orig);
00038 public:
00039 
00042    DtVrfObjectDataMessenger(const DtString& name, DtVrfObject* owner,
00043       DtSimManager* simManager, DtComponentDescriptor* desc=0,
00044       DtReaderWriterRegistry *parentRegistry=0);
00045 
00047    virtual ~DtVrfObjectDataMessenger();
00048 
00050    virtual bool init();
00051 
00053 
00054    DtTime maxSendInterval() const;
00055    void setMaxSendInterval(DtTime ival);
00057 
00059 
00060    DtTime minSendInterval() const;
00061    void setMinSendInterval(DtTime ival);
00063 
00066    virtual bool prepMessage();
00067 
00069    virtual void processEntityUpdated(DtReflectedEntity* pEnt);
00070 
00073    virtual bool sendMessage();
00074 
00075    virtual void setComponentDescriptor(DtComponentDescriptor* componentDescriptor);
00076 
00079    virtual DtString type() const;
00080 
00083    virtual void tick();
00084 
00086    DtTime timeLastSent() const;
00087 
00089    static void entityUpdatedCallback(DtReflectedEntity* pEnt, void* pUsr);
00090 
00094    static DtSimComponent * creator(const DtString& name,
00095       DtVrfObject* owner,
00096       DtSimManager* simManager,
00097       DtComponentDescriptor* desc = 0,
00098       DtReaderWriterRegistry* parentRegistry = 0);
00099 
00100 protected:
00101 
00102 protected:
00103    DtTime myMaxSendInterval;
00104 
00105    DtTime myMinSendInterval;
00106 
00107    bool  myNeedToSendUpdate;
00108 
00109    DtTime myTimeLastSent;
00110 
00111    DtVrfExtensions myVrfExtensions;
00112 };
00113 
00114 inline DtTime DtVrfObjectDataMessenger::maxSendInterval() const {return (myMaxSendInterval);}
00115 
00116 inline void DtVrfObjectDataMessenger::setMaxSendInterval(DtTime ival) {myMaxSendInterval = ival;}
00117 
00118 inline DtTime DtVrfObjectDataMessenger::minSendInterval() const {return (myMinSendInterval);}
00119 inline void DtVrfObjectDataMessenger::setMinSendInterval(DtTime ival) {myMinSendInterval = ival;}
00120 
00121 inline DtTime DtVrfObjectDataMessenger::timeLastSent() const {return (myTimeLastSent);}
00122 
00123 #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)