VR-Link API Documentation for DIS
region1516.h
Go to the documentation of this file.
1 //********************************************************************
4 //********************************************************************
5 //********************************************************************
7 //********************************************************************
8 
9 #pragma once
10 
11 #if (DtHLA && DtHLA_1516)
12 
13 #include <map>
14 #include <vector>
15 #include "rtiNamespace.h"
16 #include <vlutil/vlExceptions.h>
17 #include <matrix/geodCoord.h>
18 
19 #include <vlutil/vlSmartPointers.h>
20 #include "vrlRtiAmb.h"
21 #include <set>
22 
25 
26 class DtExerciseConn;
27 class DtVrlRtiAmbassador;
28 class DtGeodeticNormalizer;
29 
30 class DtDDMRegion;
31 
32 typedef DtBoost::shared_ptr<DtDDMRegion> DtDDMRegionSP;
33 typedef std::set<DtDDMRegionSP> DtDDMRegionSet;
34 
35 
37 {
38  struct DtDimensionHandleBoundsStruct
39  {
40  RTI::DimensionHandle handle;
41  unsigned int lowerBound;
42  unsigned int upperBound;
43  };
44 
45 public:
48  DtDDMRegion(DtExerciseConn* exConn);
49 
53  DtDDMRegion(DtExerciseConn* exConn, const std::vector<DtString>& dimensionNameVector);
54 
55  DtDDMRegion(DtExerciseConn* exConn, const RTI::RegionHandle& region );
56 
58  DtDDMRegion(const DtDDMRegion& orig);
60  virtual ~DtDDMRegion();
61 
66  virtual void initializeDimensions(
67  const std::vector<DtString>& dimensionNameVector);
68 
69  virtual void initializeDimensions(
70  const RTI::DimensionHandleSet& dimHandles );
71 
74  virtual void setUpperBound(const DtString& dimensionName, unsigned long upperBound );
75 
78  virtual void setLowerBound(const DtString& dimensionName, unsigned long lowerBound );
79 
80  virtual void setDimensionBounds(const DtString& dimensionName, unsigned long
81  lowerBound, unsigned long upperBound);
82 
83  virtual void notifyRtiOfUpdate();
84 
86  virtual RTI::RegionHandle regionHandle();
87  virtual const RTI::RegionHandle regionHandle() const;
88 
89  virtual void init(const std::vector<DtString>& dimensionNameVector);
90 
91  virtual void addAttributeHandle(RTI::AttributeHandle handle);
92 
95  virtual void addAttributeHandle(const DtString& objClassName, const DtString& attrName);
96 
97  virtual const RTI::AttributeHandleSet& attributeHandles() const;
98 
99  virtual bool hasAttributeHandles() const;
100 
101  virtual int attributeHandleCount() const;
102 
103  bool operator<(const DtDDMRegion& other) const;
104 
105 
106 protected:
110  virtual void createRegion();
111 
112 protected:
113 
115  DtDDMRegion& operator=(const DtDDMRegion& orig);
116 
117  RTI::RegionHandle myRegionHandle;
118  DtVrlRtiAmbassador* myRtiAmb;
119  std::map<DtString, DtDimensionHandleBoundsStruct> myDimensionMap;
120 
121  // This is added to associate a region with particular attributes.
122  DtExerciseConn* myExConn;
123  RTI::AttributeHandleSet* myAttributeHandles;
124 };
125 
126 
127 #endif
128 

Document ID: Generated on Wed Aug 14 15:35:11 EDT 2013 from SVN revision 130445
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)