VR-Link API Documentation for HLA Evolved
region13.h
Go to the documentation of this file.
00001 //********************************************************************
00004 //********************************************************************
00005 //********************************************************************
00007 //********************************************************************
00008 
00009 #ifndef region13_H_
00010 #define region13_H_
00011 
00012 #if (DtHLA && !DtHLA_1516)
00013 
00014 #include <map>
00015 #include <vector>
00016 #include <RTI.hh>
00017 #include <vlutil/vlExceptions.h>
00018 #include <matrix/geodCoord.h>
00019 
00020 #include <vlutil/vlSmartPointers.h>
00021 
00022 #include <set>
00023 
00026 
00027 class DtExerciseConn;
00028 class DtVrlRtiAmbassador;
00029 class DtGeodeticNormalizer;
00030 
00031 class DtDDMRegion;
00032 
00033 typedef DtBoost::shared_ptr<DtDDMRegion> DtDDMRegionSP;
00034 typedef std::set<DtDDMRegionSP> DtDDMRegionSet;
00035 
00036 class DT_DLL_VL DtDDMRegion 
00037 {
00038 public:
00041    DtDDMRegion(DtExerciseConn* exConn);
00042    
00047    DtDDMRegion(DtExerciseConn* exConn, const DtString& spaceName, 
00048       int numberOfExtents = 1);
00049 
00056    DtDDMRegion(DtExerciseConn* exConn, const DtString& spaceName, 
00057       const std::vector<DtString>& dimensionNameVector, int numberOfExtents = 1);
00058 
00061    DtDDMRegion( DtExerciseConn* exConn, const RTI::Region& region );
00062 
00064    DtDDMRegion(const DtDDMRegion& orig);
00065 
00067    virtual ~DtDDMRegion();
00068 
00072    virtual void initializeDimensions(
00073       const std::vector<DtString>& dimensionNameVector);
00074    
00077    virtual void setUpperBound(const DtString& dimensionName, unsigned long upperBound,
00078       int extentIndex = 0);
00079    
00082    virtual void setLowerBound(const DtString& dimensionName, unsigned long lowerBound,
00083       int extentIndex = 0);
00084 
00085    virtual void setDimensionBounds(const DtString& dimensionName, unsigned long
00086       lowerBound, unsigned long upperBound, int extentIndex = 0);
00087 
00088    virtual void notifyRtiOfUpdate();
00089 
00092    void init(const DtString& spaceName, const std::vector<DtString>& 
00093       dimensionNameVector, int numberOfExtents = 1);
00094 
00096    virtual const RTI::Region* region() const;
00097    virtual RTI::Region* region();
00098 
00099    virtual void addAttributeHandle(RTI::AttributeHandle handle);
00100 
00103    virtual void addAttributeHandle(const DtString& objClassName, const DtString& attrName);
00104 
00105    virtual int attributeHandleCount() const;
00106 
00107    virtual const RTI::AttributeHandleSet& attributeHandles() const;
00108 
00109    virtual bool hasAttributeHandles() const;
00110 
00112    DtDDMRegion& operator=(const DtDDMRegion& orig);
00113 
00114 
00115 protected:
00116 
00117    RTI::Region* myRegion;
00118    DtVrlRtiAmbassador* myRtiAmb;
00119    std::map<DtString, RTI::DimensionHandle> myDimensionMap;
00120    RTI::SpaceHandle mySpaceHandle;
00121 
00122    // This is added to associate a region with particular attributes.
00123    DtExerciseConn* myExConn;
00124    RTI::AttributeHandleSet* myAttributeHandles;
00125 };
00126 
00127 #endif
00128 
00129 #endif
00130 

Document ID: Generated on Mon May 14 08:06:18 EDT 2012 from SVN revision 114750
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)