VR-Link API Documentation for HLA 1.3
region1516.h
Go to the documentation of this file.
00001 //********************************************************************
00004 //********************************************************************
00005 //********************************************************************
00007 //********************************************************************
00008 
00009 #pragma once
00010 
00011 #if (DtHLA && DtHLA_1516)
00012 
00013 #include <map>
00014 #include <vector>
00015 #include "rtiNamespace.h"
00016 #include <vlutil/vlExceptions.h>
00017 #include <matrix/geodCoord.h>
00018 
00019 #include <vlutil/vlSmartPointers.h>
00020 #include "vrlRtiAmb.h"
00021 #include <set>
00022 
00025 
00026 class DtExerciseConn;
00027 class DtVrlRtiAmbassador;
00028 class DtGeodeticNormalizer;
00029 
00030 class DtDDMRegion;
00031 
00032 typedef DtBoost::shared_ptr<DtDDMRegion> DtDDMRegionSP;
00033 typedef std::set<DtDDMRegionSP> DtDDMRegionSet;
00034 
00035 
00036 class DT_DLL_VL DtDDMRegion 
00037 {
00038    struct DtDimensionHandleBoundsStruct
00039    {
00040       RTI::DimensionHandle handle;
00041       unsigned int lowerBound;
00042       unsigned int upperBound;
00043    };
00044 
00045 public:
00048    DtDDMRegion(DtExerciseConn* exConn);
00049 
00053    DtDDMRegion(DtExerciseConn* exConn, const std::vector<DtString>& dimensionNameVector);
00054 
00055    DtDDMRegion(DtExerciseConn* exConn, const RTI::RegionHandle& region );
00056 
00058    DtDDMRegion(const DtDDMRegion& orig);
00060    virtual ~DtDDMRegion();
00061 
00066    virtual void initializeDimensions(
00067       const std::vector<DtString>& dimensionNameVector);
00068 
00069    virtual void initializeDimensions(
00070       const RTI::DimensionHandleSet& dimHandles );
00071 
00074    virtual void setUpperBound(const DtString& dimensionName, unsigned long upperBound );
00075 
00078    virtual void setLowerBound(const DtString& dimensionName, unsigned long lowerBound );
00079 
00080    virtual void setDimensionBounds(const DtString& dimensionName, unsigned long
00081       lowerBound, unsigned long upperBound);
00082 
00083    virtual void notifyRtiOfUpdate();
00084 
00086    virtual RTI::RegionHandle regionHandle();
00087    virtual const RTI::RegionHandle regionHandle() const;
00088 
00089    virtual void init(const std::vector<DtString>& dimensionNameVector);
00090 
00091    virtual void addAttributeHandle(RTI::AttributeHandle handle);
00092 
00095    virtual void addAttributeHandle(const DtString& objClassName, const DtString& attrName);
00096 
00097    virtual const RTI::AttributeHandleSet& attributeHandles() const;
00098 
00099    virtual bool hasAttributeHandles() const;
00100 
00101    virtual int attributeHandleCount() const;
00102 
00103    bool operator<(const DtDDMRegion& other) const;
00104 
00105 
00106 protected:
00110    virtual void createRegion();
00111 
00112 protected:
00113 
00115    DtDDMRegion& operator=(const DtDDMRegion& orig);
00116 
00117    RTI::RegionHandle myRegionHandle;
00118    DtVrlRtiAmbassador* myRtiAmb;
00119    std::map<DtString, DtDimensionHandleBoundsStruct> myDimensionMap;
00120 
00121    // This is added to associate a region with particular attributes.
00122    DtExerciseConn* myExConn;
00123    RTI::AttributeHandleSet* myAttributeHandles;
00124 };
00125 
00126 
00127 #endif
00128 

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)