VR-Link API Documentation for HLA 1516
thresholder.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
6 
9 
10 #ifndef DtThresholder_H_
11 #define DtThresholder_H_
12 
13 #include <vlutil/vlMachineTypes.h>
14 #include <matrix/vlMath.h>
15 #include "artPartThresholder.h"
16 
21 {
22 public:
23 
25  DtThresholder();
26 
28  virtual ~DtThresholder();
29 
31  DtThresholder(const DtThresholder& orig);
32 
34  DtThresholder& operator=(const DtThresholder& orig);
35 
38  virtual void setRotationThreshold(double thresh);
39  virtual double rotationThreshold() const;
40 
42  virtual double rotationTraceThreshold() const;
43 
46  virtual void setTranslationThreshold(double thresh);
47  virtual double translationThreshold() const;
48 
54  virtual void setAggDimensionThreshold(double thresh);
55  virtual double aggDimensionThreshold() const;
56 
62  virtual void setAntennaLocationThreshold(double thresh);
63  virtual double antennaLocationThreshold() const;
64 
70  virtual void setAntennaOrientationThreshold(double thresh);
71  virtual double antennaOrientationThreshold() const;
72 
75  virtual DtArtPartThresholder* artPartThresholder();
76  virtual const DtArtPartThresholder& artPartThresholder() const;
77 
78 public:
79 
81  static void setDfltTranslationThreshold(double thresh);
82  static double dfltTranslationThreshold();
83 
85  static void setDfltRotationThreshold(double thresh);
86  static double dfltRotationThreshold();
87 
89  static double dfltRotationTraceThreshold();
90 
95  static void setDfltAggDimensionThreshold(double thresh);
96  static double dfltAggDimensionThreshold();
97 
102  static void setDfltAntennaLocationThreshold(double thresh);
103  static double dfltAntennaLocationThreshold();
104 
109  static void setDfltAntennaOrientationThreshold(double thresh);
110  static double dfltAntennaOrientationThreshold();
111 
112 protected:
113 
115  double myRotThresh;
120 
126 
128 
129 protected:
130 
131  static double theDfltTransThresh;
132  static double theDfltRotThresh;
133  static double theDfltTraceRotThresh;
134  static double theDfltAggDimThresh;
135  static double theDfltAntennaLocThresh;
137 };
138 
140 {
141  theDfltTransThresh = thresh;
142 }
143 
145 {
146  return theDfltTransThresh;
147 }
148 
150 {
151  return theDfltRotThresh;
152 }
153 
154 inline void DtThresholder::setDfltRotationThreshold(double thresh)
155 {
156  theDfltRotThresh = DtLimit(thresh, -M_PI, M_PI);
157  theDfltTraceRotThresh = 2.0 * cos(dfltRotationThreshold()) + 1.0;
158 }
159 
161 {
162  return theDfltTraceRotThresh;
163 }
164 
166 {
167  theDfltAggDimThresh = thresh;
168 }
169 
171 {
172  return theDfltAggDimThresh;
173 }
174 
176 {
177  return &myArtPartThresh;
178 }
179 
181 {
182  return myArtPartThresh;
183 }
184 
185 #endif
186 

Document ID: Generated on Wed Oct 23 22:25:48 EDT 2013 from SVN revision 132765
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)