11 #include <boost/signals2.hpp>
18 #define DtIntervisibilitySettingsLine "line"
19 #define DtIntervisibilitySettingsFan "fan"
20 #define DtIntervisibilitySettingsObjectFan "object_fan"
31 Color() : r(0.0f), g(0.0f), b(0.0f), a(0.0f) {};
34 r = ((float)
COLOR_R(color) / 255.0f);
35 g = ((float)
COLOR_G(color) / 255.0f);
36 b = ((float)
COLOR_B(color) / 255.0f);
37 a = ((float)
COLOR_A(color) / 255.0f);
40 explicit Color(
unsigned int iR,
unsigned int iG,
unsigned int iB,
unsigned int iA)
41 : r((float)iR / 255.0f)
42 , g((float)iG / 255.0f)
43 , b((float)iB / 255.0f)
44 , a((float)iA / 255.0f)
48 explicit Color(
float iR,
float iG,
float iB,
float iA)
56 Color(
const Color& orig) : r(orig.r), g(orig.g), b(orig.b), a(orig.a) {};
58 bool compare(
float c1,
float c2)
const {
return ((
int)(c1 * 255.0f) == (
int)(c2 * 255.0f)); };
59 bool operator==(
const Color& orig)
const {
return (compare(r, orig.
r) && compare(g, orig.
g) && compare(b, orig.
b) && compare(a, orig.
a)); };
63 return COLOR_TO_INT((
int)(r * 255.0f), (
int)(g * 255.0f), (
int)(b * 255.0f), (
int)(a * 255.0f));
71 UseBackendForIntersections = 0x00000001,
72 IntersectTerrain = 0x00000002,
73 IntersectFeatures = 0x00000004,
74 IntersectEntities = 0x00000008,
75 WaitForServer = 0x00000010,
77 Defaults = UseBackendForIntersections | IntersectTerrain
91 friend class boost::serialization::access;
101 return ((flags & UseBackendForIntersections) != 0);
106 return ((flags & IntersectTerrain) != 0);
111 return ((flags & IntersectFeatures) != 0);
116 return ((flags & IntersectEntities) != 0);
121 return ((flags & WaitForServer) != 0);
129 template<
class Archive>
130 void serialize(Archive & ar,
const unsigned int version)
132 ar & BOOST_SERIALIZATION_NVP(flags);
133 ar & BOOST_SERIALIZATION_NVP(waitTimeRequest);
134 ar & BOOST_SERIALIZATION_NVP(fanModeSamplingRate);
135 ar & BOOST_SERIALIZATION_NVP(waitingForServerColor);
146 virtual void setUseBackendForIntersections(
const std::string& key,
bool);
147 virtual bool useBackendForIntersections(
const std::string& key)
const;
150 virtual void setIntersectTerrain(
const std::string& key,
bool);
154 virtual void setIntersectFeatures(
const std::string& key,
bool);
155 virtual bool intersectFeatures(
const std::string& key)
const;
158 virtual void setIntersectEntities(
const std::string& key,
bool);
159 virtual bool intersectEntities(
const std::string& key)
const;
162 virtual void setFanModeSamplingRate(
const std::string& key,
double);
163 virtual double fanModeSamplingRate(
const std::string& key)
const;
169 virtual std::string classType()
const override;
171 virtual const IntervisibilitySettings& settingsFor(
const std::string& key)
const;
172 virtual IntervisibilitySettings& settingsFor(
const std::string& key);
175 virtual void write(boost::archive::xml_oarchive& out,
const unsigned int)
override;
176 virtual void read(boost::archive::xml_iarchive& in,
const unsigned int)
override;
181 virtual void setWaitTimeRequest(
const std::string& key,
double);
182 virtual double waitTimeRequest(
const std::string& key)
const;
185 virtual void setWaitingForServerColor(
const std::string& key,
unsigned int);
186 virtual unsigned int waitingForServerColor(
const std::string& key)
const;
188 virtual void setWaitForServer(
const std::string& key,
bool);
189 virtual bool waitForServer(
const std::string& key)
const;
195 virtual void setFlag(
const std::string& key, Flags,
bool);
196 virtual bool flagSet(
const std::string&, Flags)
const;
217 virtual void setUseBackendForIntersections(
const std::string& key,
bool);
218 virtual bool useBackendForIntersections(
const std::string& key)
const;
221 virtual void setIntersectTerrain(
const std::string& key,
bool);
225 virtual void setIntersectFeatures(
const std::string& key,
bool);
226 virtual bool intersectFeatures(
const std::string& key)
const;
229 virtual void setIntersectEntities(
const std::string& key,
bool);
230 virtual bool intersectEntities(
const std::string& key)
const;
235 virtual void setWaitTimeRequest(
const std::string& key,
double);
236 virtual double waitTimeRequest(
const std::string& key)
const;
242 virtual void setWaitingForServerColor(
const std::string&,
unsigned int);
243 virtual unsigned int waitingForServerColor(
const std::string&)
const;
246 virtual void setFanModeSamplingRate(
const std::string& key,
double);
247 virtual double fanModeSamplingRate(
const std::string& key)
const;
249 virtual void setWaitForServer(
const std::string&,
bool);
250 virtual bool waitForServer(
const std::string&)
const;
double waitTimeRequest
Definition: vrfExtendedIntervisibilitySettings.h:87
void serialize(Archive &ar, const unsigned int version)
When the class Archive corresponds to an output archive, the & operator is defined similar to <<...
Definition: vrfExtendedIntervisibilitySettings.h:130
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
Definition: vrfExtendedIntervisibilitySettings.h:29
#define COLOR_B(c)
Definition: radarCoverageAltitudeSettings.h:32
virtual int dataVersion() override
Override in subclass to version data.
Definition: vrfExtendedIntervisibilitySettings.h:192
bool useBackendForIntersections() const
Definition: vrfExtendedIntervisibilitySettings.h:99
unsigned int waitingForServerColor
Definition: vrfExtendedIntervisibilitySettings.h:89
Color(unsigned int iR, unsigned int iG, unsigned int iB, unsigned int iA)
Definition: vrfExtendedIntervisibilitySettings.h:40
int flags
Definition: vrfExtendedIntervisibilitySettings.h:85
bool intersectEntities() const
Definition: vrfExtendedIntervisibilitySettings.h:114
bool waitForServer() const
Definition: vrfExtendedIntervisibilitySettings.h:119
bool operator==(const Color &orig) const
Definition: vrfExtendedIntervisibilitySettings.h:59
Color()
Definition: vrfExtendedIntervisibilitySettings.h:31
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
Color(const Color &orig)
Definition: vrfExtendedIntervisibilitySettings.h:56
unsigned int color() const
Definition: vrfExtendedIntervisibilitySettings.h:61
ExtendedSettings myExtendedSettings
Definition: vrfExtendedIntervisibilitySettings.h:200
Definition: vrfGuiApplicationSettings.h:37
float r
Definition: vrfExtendedIntervisibilitySettings.h:66
#define COLOR_TO_INT(r, g, b, a)
Simple map of altitude in meters and colors as ARGB as an unsigned interger.
Definition: radarCoverageAltitudeSettings.h:29
Color waitingForServerColorRGBA() const
Definition: vrfExtendedIntervisibilitySettings.h:93
makVrv::DtDe & myDe
Definition: vrfExtendedIntervisibilitySettings.h:256
float g
Definition: vrfExtendedIntervisibilitySettings.h:66
float b
Definition: vrfExtendedIntervisibilitySettings.h:66
bool intersectFeatures() const
Definition: vrfExtendedIntervisibilitySettings.h:109
DT_DLL_gdb bool intersectTerrain(DtTerrainDatabase &terrainDatabase, const DtVector &localLocation, DtChordIntersectionRecord &record, DtGdbNode::DtIntersectRecordType irtFlag, DtVectorNetworkRecord *vectorRecord, DtVectorNetworkIntersectionRecord *vectorIntersectionRecord)
Color(unsigned int color)
Definition: vrfExtendedIntervisibilitySettings.h:32
#define COLOR_G(c)
Definition: radarCoverageAltitudeSettings.h:31
Flags
Definition: vrfExtendedIntervisibilitySettings.h:69
This class will be used to store the extended intervisibility states and will be referenced by the Dt...
Definition: vrfExtendedIntervisibilitySettings.h:26
bool operator!=(const Color &orig) const
Definition: vrfExtendedIntervisibilitySettings.h:60
#define COLOR_R(c)
Definition: radarCoverageAltitudeSettings.h:30
float a
Definition: vrfExtendedIntervisibilitySettings.h:66
bool intersectTerrain() const
Definition: vrfExtendedIntervisibilitySettings.h:104
#define COLOR_A(c)
Definition: radarCoverageAltitudeSettings.h:33
Color(float iR, float iG, float iB, float iA)
Definition: vrfExtendedIntervisibilitySettings.h:48
double fanModeSamplingRate
Definition: vrfExtendedIntervisibilitySettings.h:88
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:76
boost::signals2::signal< void(const std::string &, DtVrfExtendedIntervisibilitySettingsData::IntervisibilitySettings)> signal_extendedIntervisibilityOptionsChanged
Signal sent any time an option changes.
Definition: vrfExtendedIntervisibilitySettings.h:253
double alpha
Definition: vrfExtendedIntervisibilitySettings.h:86
Color & operator=(const Color &orig)
Definition: vrfExtendedIntervisibilitySettings.h:57
The DtVrfExtendedIntervisibilitySettings class will use the DtVrfGuiApplicationSettings class to keep...
Definition: vrfExtendedIntervisibilitySettings.h:206
bool compare(float c1, float c2) const
Definition: vrfExtendedIntervisibilitySettings.h:58
std::map< std::string, IntervisibilitySettings > ExtendedSettings
Definition: vrfExtendedIntervisibilitySettings.h:199
Definition: vrfExtendedIntervisibilitySettings.h:80