VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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/geodeticCoord.h>
18 
19 #include <vlutil/vlSmartPointers.h>
20 #include "vrlRtiAmbassador.h"
21 #include <set>
22 
25 
26 class DtExerciseConn;
27 class DtVrlRtiAmbassador;
28 class DtGeodeticNormalizer;
29 class DtDDMRegion;
30 
31 typedef DtBoost::shared_ptr<DtDDMRegion> DtDDMRegionSP;
32 typedef std::set<DtDDMRegionSP> DtDDMRegionSet;
33 
37 {
38 public:
41  DtDDMRegion(DtExerciseConn* exConn);
42 
45  DtDDMRegion(DtExerciseConn* exConn, const std::vector<DtString>& dimensionNameVector);
46 
48  virtual ~DtDDMRegion();
49 
51  virtual void init(const std::vector<DtString>& dimensionNameVector);
52 
57  virtual void initializeDimensions(
58  const std::vector<DtString>& dimensionNameVector);
59 
61  virtual void initializeDimensions(
62  const RTI::DimensionHandleSet& dimHandles );
63 
66  virtual void setUpperBound(const DtString& dimensionName, unsigned long upperBound );
67 
70  virtual void setLowerBound(const DtString& dimensionName, unsigned long lowerBound );
71 
74  virtual void setDimensionBounds(const DtString& dimensionName, unsigned long
75  lowerBound, unsigned long upperBound);
76 
78  virtual void notifyRtiOfUpdate();
79 
81 
82  virtual RTI::RegionHandle regionHandle();
83  virtual const RTI::RegionHandle regionHandle() const;
85 
87  virtual void addAttributeHandle(RTI::AttributeHandle handle);
88 
91  virtual void addAttributeHandle(const DtString& objClassName, const DtString& attrName);
92 
94  virtual const RTI::AttributeHandleSet& attributeHandles() const;
95 
97  virtual int attributeHandleCount() const;
98 
100  virtual bool hasAttributeHandles() const;
101 
102 protected:
103 
107  virtual void createRegion();
108 
109 protected:
110 
112  DtDDMRegion(const DtDDMRegion& orig);
113 
115  DtDDMRegion& operator=(const DtDDMRegion& orig);
116 
117 protected:
118 
119  struct DtDimensionHandleBoundsStruct
120  {
121  RTI::DimensionHandle handle;
122  unsigned int lowerBound;
123  unsigned int upperBound;
124  };
125 
126  RTI::RegionHandle myRegionHandle;
127  DtVrlRtiAmbassador* myRtiAmb;
128  std::map<DtString, DtDimensionHandleBoundsStruct> myDimensionMap;
129 
130  // This is added to associate a region with particular attributes.
131  DtExerciseConn* myExConn;
132  RTI::AttributeHandleSet* myAttributeHandles;
133 };
134 
135 
136 #endif
137 

Document ID: Generated on Wed Jan 7 13:31:29 EST 2015 from SVN revision 149162
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)