MAK RTIspy API Documentation for HLA 1.3
regionRealizationMsg.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 2004 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: regionRealizationMsg.h,v $ $Revision: 1.7 $ $State: Exp $
00007 *********************************************************************/
00008 
00011 
00012 #ifndef DtRegionRealizationMsg_H_
00013 #define DtRegionRealizationMsg_H_
00014 #ifdef DDM
00015 
00016 #include "rtiMsg.h"
00017 #include "netRegionRealization.h"
00018 #include "internalTypes.h"
00019 
00020 class DtConnectionMgr;
00021 class DtRegionRealizationMsg;
00022 class DtRegionExtent;
00023 class DtNetExtent;
00024 typedef void (*DtRegionRealizationCb)(const DtRegionRealizationMsg& msg, void* usr);
00025 
00026 class DT_DLL_LRC DtRegionRealizationMsg : public DtRtiMsg
00027 {
00028 public:
00029 
00031    DtRegionRealizationMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00032 
00034    DtRegionRealizationMsg(DtRegionHandle handleValue,
00035       DtRegionHandle regionHandleValue,
00036       DtDimensionHandleSet const* dimHandles=NULL,
00037       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00038 
00040    DtRegionRealizationMsg(const DtNetRegionReliazationMsg* netRepMsg,
00041       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00042 
00044    virtual ~DtRegionRealizationMsg();
00045 
00047    virtual DtRtiMsg* clone(bool copy = true) const; 
00048 
00050    virtual void set(DtRegionHandle handleValue, DtRegionHandle regionHandleValue,
00051       DtDimensionHandleSet const* dimHandles=NULL);
00052 
00054    virtual void setRegionRealizationHandle(DtRegionHandle handleValue);
00055    virtual DtRegionHandle regionRealizationHandle() const;
00056 
00058    virtual void setRegionHandle(DtRegionHandle handleValue);
00059    virtual DtRegionHandle regionHandle() const;
00060 
00062    virtual void setDimensionHandles(DtDimensionHandleSet const& dimHandles);
00063    virtual DtDimensionHandleSet const& dimensionHandles() const;
00064    
00066    unsigned long numberDimensions() const;
00067 
00069    virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
00070 
00071 public:
00072 
00074    static DtRtiMsg* create(const DtNetMsgHeader* initial, 
00075       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);    
00076 
00078    static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00079 
00081    static void addCallback(DtConnectionMgr *conn, 
00082       DtRegionRealizationCb cb, void *usr);
00083    static void removeCallback(DtConnectionMgr *conn, 
00084       DtRegionRealizationCb cb, void *usr);
00085    
00086 protected:
00087    
00089    virtual DtNetU32* netDimensionHandles();
00090 
00091    virtual void fillFromNetRep(DtNetU32* netDimHandles,
00092       DtDimensionHandleSet& dimHandles) const;
00093 
00094    virtual void fillNetRep(
00095       DtDimensionHandleSet const& dimHandles,
00096       DtNetU32* netDimHandles);
00097 
00099    virtual DtNetRegionReliazationMsg* netRegionRealizationMsg();
00100    virtual const DtNetRegionReliazationMsg* netRegionRealizationMsg() const;
00101 
00103    virtual DtRtiMsgKind internalDtRtiMsgKind();
00104 
00106    virtual int minSize(int numberDimensions=0) const;
00107 
00109    virtual DtRegionRealizationMsg* self() const;
00110 
00111 protected:
00112    DtDimensionHandleSet myDimensionHandles;
00113    bool myDirty;
00114 
00116    unsigned int myDimensionSlotCount;
00117 };
00118 
00119 
00120 inline DtRegionRealizationMsg* DtRegionRealizationMsg::self() const
00121 {
00122    return const_cast<DtRegionRealizationMsg*>( this );
00123 }
00124 
00125 #endif
00126 #endif
00127 

Document ID: Generated on Thu Jun 14 14:15:04 EDT 2012 from SVN revision 116116
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)