VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtIntervisibilitySettingsRecord.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2012 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
13 
14 namespace makArchives
15 {
16 
20  {
21  public:
22 
25 
28 
31 
34 
36  bool operator == ( const DtIntervisibilitySettingsRecord& rhs ) const;
37 
39  inline bool operator != ( const DtIntervisibilitySettingsRecord& rhs ) const
40  {
41  return !( *this == rhs );
42  }
43 
46 
48  void setIntervisibilityEnabled( bool enabled );
50  bool intervisibilityEnabled() const;
51 
53  void setLeftClickMakesObjectsPermanent( bool enabled );
55  bool leftClickMakesObjectsPermanent() const;
56 
58  void setOriginIntervisibilityElevation( double height );
60  double originIntervisibilityElevation() const;
61 
63  void setEndPointIntervisibilityElevation( double height );
65  double endPointIntervisibilityElevation() const;
66 
68  void setFanModeSamplingRate( double radAngle );
70  double fanModeSamplingRate() const;
71 
74  void setEntityFanUpdateRate( double interval );
77  double entityFanUpdateRate() const;
78 
80  void setHatLinesEnabled( bool hatEnabled );
82  bool hatLinesEnabled() const;
83 
85  void setHatLinesOnSelectionOnly( bool selOnly );
87  bool hatLinesOnSelectionOnly() const;
88 
90  void setVisibleColor( float r, float g, float b, float a );
92  void visibleColor( float& r, float& g, float& b, float& a ) const;
93 
95  void setBlockedColor( float r, float g, float b, float a );
97  void blockedColor( float& r, float& g, float& b, float& a ) const;
98 
100  void setCircleColor( float r, float g, float b, float a );
102  void circleColor( float& r, float& g, float& b, float& a ) const;
103 
105  void setRangeInfoLabelsEnabled( bool enabled );
107  bool rangeInfoLabelsEnabled() const;
108 
110  void setRangeInfoLabelBackgroundColor( float r, float g, float b, float a );
112  void rangeInfoLabelBackgroundColor( float& r, float& g, float& b, float& a ) const;
113 
115  void setRangeInfoAltChangeFieldEnabled( bool enabled );
117  bool rangeInfoAltChangeFieldEnabled() const;
118 
120  void setRangeInfoLocationFieldEnabled( bool enabled );
122  bool rangeInfoLocationFieldEnabled() const;
123 
125  void setRangeInfoHeadingFieldEnabled( bool enabled );
127  bool rangeInfoHeadingFieldEnabled() const;
128 
130  void setRangeInfoRangeFieldEnabled( bool enabled );
132  bool rangeInfoRangeFieldEnabled() const;
133 
135 
136  protected:
137 
138  friend class boost::serialization::access;
139 
143  template<class Archive>
144  void serialize(Archive & ar, const unsigned int version)
145  {
146  ar & BOOST_SERIALIZATION_NVP(myLeftClickMakesObjectsPermanent);
147  ar & BOOST_SERIALIZATION_NVP(myOriginIntervisibilityElevation);
148  ar & BOOST_SERIALIZATION_NVP(myEndPointIntervisibilityElevation);
149  ar & BOOST_SERIALIZATION_NVP(myFanModeSamplingRate);
150  ar & BOOST_SERIALIZATION_NVP(myEntityFanUpdateRate);
151  ar & BOOST_SERIALIZATION_NVP(myHatLinesEnabled);
152  ar & BOOST_SERIALIZATION_NVP(myHatLinesOnSelectionOnly);
153 
154  ar & BOOST_SERIALIZATION_NVP(myVisibleColorR);
155  ar & BOOST_SERIALIZATION_NVP(myVisibleColorG);
156  ar & BOOST_SERIALIZATION_NVP(myVisibleColorB);
157  ar & BOOST_SERIALIZATION_NVP(myVisibleColorA);
158 
159  ar & BOOST_SERIALIZATION_NVP(myBlockedColorR);
160  ar & BOOST_SERIALIZATION_NVP(myBlockedColorG);
161  ar & BOOST_SERIALIZATION_NVP(myBlockedColorB);
162  ar & BOOST_SERIALIZATION_NVP(myBlockedColorA);
163 
164  ar & BOOST_SERIALIZATION_NVP(myCircleColorR);
165  ar & BOOST_SERIALIZATION_NVP(myCircleColorG);
166  ar & BOOST_SERIALIZATION_NVP(myCircleColorB);
167  ar & BOOST_SERIALIZATION_NVP(myCircleColorA);
168 
169  if ( version >= 2 )
170  {
171  ar & BOOST_SERIALIZATION_NVP( myIntervisibilityEnabled );
172  }
173 
174  if ( version >= 3 )
175  {
176  ar & BOOST_SERIALIZATION_NVP( myRangeInfoLabelsEnabled );
177  ar & BOOST_SERIALIZATION_NVP( myRangeInfoLabelBackgroundColorR );
178  ar & BOOST_SERIALIZATION_NVP( myRangeInfoLabelBackgroundColorG );
179  ar & BOOST_SERIALIZATION_NVP( myRangeInfoLabelBackgroundColorB );
180  ar & BOOST_SERIALIZATION_NVP( myRangeInfoLabelBackgroundColorA );
181  ar & BOOST_SERIALIZATION_NVP( myRangeInfoAltChangeFieldEnabledFlag );
182  ar & BOOST_SERIALIZATION_NVP( myRangeInfoLocationFieldEnabledFlag );
183  ar & BOOST_SERIALIZATION_NVP( myRangeInfoHeadingFieldEnabledFlag );
184  ar & BOOST_SERIALIZATION_NVP( myRangeInfoRangeFieldEnabledFlag );
185  }
186  }
187 
188  protected:
189 
192 
195 
200 
201  float myVisibleColorR, myVisibleColorG, myVisibleColorB, myVisibleColorA;
202  float myBlockedColorR, myBlockedColorG, myBlockedColorB, myBlockedColorA;
203  float myCircleColorR, myCircleColorG, myCircleColorB, myCircleColorA;
204 
206 
207  float myRangeInfoLabelBackgroundColorR, myRangeInfoLabelBackgroundColorG;
208  float myRangeInfoLabelBackgroundColorB, myRangeInfoLabelBackgroundColorA;
209 
214 
215  };
216 
217 }
218 
bool myHatLinesEnabled
Definition: DtIntervisibilitySettingsRecord.h:193
BOOST_CLASS_VERSION(makArchives::DtDiGuySettingsRecord, 3)
double myOriginIntervisibilityElevation
Definition: DtIntervisibilitySettingsRecord.h:196
float myRangeInfoLabelBackgroundColorR
Definition: DtIntervisibilitySettingsRecord.h:207
double myFanModeSamplingRate
Definition: DtIntervisibilitySettingsRecord.h:198
void serialize(Archive &ar, const unsigned int version)
When the class Archive corresponds to an output archive, the &amp; operator is defined similar to &lt;&lt;...
Definition: DtIntervisibilitySettingsRecord.h:144
float myVisibleColorR
Definition: DtIntervisibilitySettingsRecord.h:201
DT_DLL_terrainCS bool operator==(const DtDegMinSec &lhs, const DtDegMinSec &rhs)
float myCircleColorR
Definition: DtIntervisibilitySettingsRecord.h:203
bool myRangeInfoAltChangeFieldEnabledFlag
Definition: DtIntervisibilitySettingsRecord.h:210
Contains DLL export macros.
bool myRangeInfoLocationFieldEnabledFlag
Definition: DtIntervisibilitySettingsRecord.h:211
float myBlockedColorR
Definition: DtIntervisibilitySettingsRecord.h:202
bool myRangeInfoRangeFieldEnabledFlag
Definition: DtIntervisibilitySettingsRecord.h:213
bool myHatLinesOnSelectionOnly
Definition: DtIntervisibilitySettingsRecord.h:194
bool myRangeInfoLabelsEnabled
Definition: DtIntervisibilitySettingsRecord.h:205
bool myRangeInfoHeadingFieldEnabledFlag
Definition: DtIntervisibilitySettingsRecord.h:212
float myRangeInfoLabelBackgroundColorB
Definition: DtIntervisibilitySettingsRecord.h:208
double myEndPointIntervisibilityElevation
Definition: DtIntervisibilitySettingsRecord.h:197
bool myLeftClickMakesObjectsPermanent
Definition: DtIntervisibilitySettingsRecord.h:191
double myEntityFanUpdateRate
Definition: DtIntervisibilitySettingsRecord.h:199
DT_DLL_terrainCS bool operator!=(const DtDegMinSec &lhs, const DtDegMinSec &rhs)
Record class for Intervisibility settings.
Definition: DtIntervisibilitySettingsRecord.h:19
#define DT_DLL_MAKARCHIVES
Definition: makArchives.h:31
bool myIntervisibilityEnabled
Definition: DtIntervisibilitySettingsRecord.h:190

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)