VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtVisualizerAttribute.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2018 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
7 #pragma once
8 
9 #include <vrvCore/vrvCore.h>
10 #include <vrvUtil/DtUnicode.h>
11 
12 #include <boost/tuple/tuple.hpp>
13 
14 #include <matrix/vlVector.h>
15 
16 #include <string>
17 #include <map>
18 #include <vector>
19 
20 namespace makVrv
21 {
25  {
26  public:
27 
29  virtual ~DtVisualizerAttribute();
30 
33  bool operator==(const DtVisualizerAttribute&) const;
34 
37  bool operator!=(const DtVisualizerAttribute&) const;
38 
39  //Type info struct.
40  struct TypeInfo
41  {
42  TypeInfo(const std::string& name)
43  : className(name)
44  {
45  }
46 
47  std::string className;
48  };
49 
51  virtual DtVisualizerAttribute* clone() const = 0;
52 
54  virtual const TypeInfo& typeInfo() const = 0;
55 
57  virtual DtUnicode getString() const = 0;
58 
60  virtual void setString(const DtUnicode& value) = 0;
61  };
62 
66  {
67  public:
69  DtVisualizerAttributeBool(bool value = false);
70 
73 
75  virtual const TypeInfo& typeInfo() const;
76 
78  static const TypeInfo& theTypeInfo();
79 
82  virtual DtUnicode getString() const;
83 
87  virtual void setString(const DtUnicode& value);
88 
90  virtual bool value() const;
91 
93  virtual void setValue(bool value);
94 
98  virtual DtVisualizerAttribute* clone() const;
99 
100  protected:
101  bool myValue;
102  };
103 
107  public DtVisualizerAttribute
108  {
109  public:
110  typedef std::vector<DtUnicode> StringVector;
111 
114 
117 
119  virtual const TypeInfo& typeInfo() const;
120 
122  static const TypeInfo& theTypeInfo();
123 
126  virtual DtUnicode getString() const;
127 
131  virtual void setString(const DtUnicode& value);
132 
134  virtual const StringVector& value() const
135  {
136  return myValue;
137  }
138 
139  inline bool findAndReplace(const DtUnicode& orig, const DtUnicode& newValue)
140  {
141  bool found = false;
142  StringVector::iterator i = myValue.begin();
143  StringVector::iterator e = myValue.end();
144  for (; i != e; ++i)
145  {
146  if (*i == orig)
147  {
148  *i = newValue;
149  found = true;
150  }
151  }
152  return found;
153  }
154 
156  inline bool contains(const DtUnicode& needle)
157  {
158  StringVector::iterator i = myValue.begin();
159  StringVector::iterator e = myValue.end();
160  for (; i != e; ++i)
161  {
162  if (*i == needle)
163  {
164  return true;
165  }
166  }
167  return false;
168  }
169 
171  virtual void setValue(const StringVector& value);
172 
176  virtual DtVisualizerAttribute* clone() const;
177 
178  protected:
180  };
181 
182 
186  public DtVisualizerAttribute
187  {
188  public:
191 
193  virtual const TypeInfo& typeInfo() const;
194 
196  static const TypeInfo& theTypeInfo();
197 
200  virtual DtUnicode getString() const;
201 
205  virtual void setString(const DtUnicode& value);
206 
208  virtual DtUnicode value() const;
209 
211  virtual void setValue(const DtUnicode& value);
212 
216  virtual DtVisualizerAttribute* clone() const;
217 
218  protected:
220  };
221 
222 
227  {
228  public:
231 
233  virtual const TypeInfo& typeInfo() const;
234 
236  static const TypeInfo& theTypeInfo();
237 
241  virtual DtVisualizerAttribute* clone() const;
242  };
243 
244 
249  public DtVisualizerAttribute
250  {
251  public:
254 
256  virtual const TypeInfo& typeInfo() const;
257 
259  static const TypeInfo& theTypeInfo();
260 
263  virtual DtUnicode getString() const;
264 
268  virtual void setString(const DtUnicode& value);
269 
271  virtual DtUnicode value() const;
272 
274  virtual void setValue(const DtUnicode& value);
275 
279  virtual DtVisualizerAttribute* clone() const;
280 
281  protected:
283  };
284 
285 
289  public DtVisualizerAttribute
290  {
291  public:
293  DtVisualizerAttributeInteger(int value = 0);
294 
297 
299  virtual const TypeInfo& typeInfo() const;
300 
302  static const TypeInfo& theTypeInfo();
303 
306  virtual DtUnicode getString() const;
307 
311  virtual void setString(const DtUnicode& value);
312 
314  virtual int value() const;
315 
317  virtual void setValue(int value);
318 
322  virtual DtVisualizerAttribute* clone() const;
323 
324  protected:
325  int myValue;
326  };
327 
331  public DtVisualizerAttribute
332  {
333  public:
335  DtVisualizerAttributeIntegerVector(const std::vector<int>& value = std::vector<int>());
336 
339 
341  virtual const TypeInfo& typeInfo() const;
342 
344  static const TypeInfo& theTypeInfo();
345 
348  virtual DtUnicode getString() const;
349 
353  virtual void setString(const DtUnicode& value);
354 
356  virtual std::vector<int> value() const;
357 
359  virtual void setValue(std::vector<int> value);
360 
364  virtual DtVisualizerAttribute* clone() const;
365 
366  protected:
367  std::vector<int> myValue;
368  };
369 
373  public DtVisualizerAttribute
374  {
375  public:
376  // FontGlyphs are represented as unsigned ints:
377  typedef unsigned int FontGlyph;
378 
381 
384 
386  virtual const TypeInfo& typeInfo() const;
387 
389  static const TypeInfo& theTypeInfo();
390 
393  virtual DtUnicode getString() const;
394 
398  virtual void setString(const DtUnicode& value);
399 
401  virtual FontGlyph value() const;
402 
404  virtual void setValue(FontGlyph value);
405 
409  virtual DtVisualizerAttribute* clone() const;
410 
411  protected:
413  };
414 
418  public DtVisualizerAttribute
419  {
420  public:
421  // Selected symbols are represented as a map between integer and string:
422  typedef std::map<int, DtUnicode> ImageSymbolMap;
423 
426 
428  virtual const TypeInfo& typeInfo() const;
429 
431  static const TypeInfo& theTypeInfo();
432 
435  virtual DtUnicode getString() const;
436 
440  virtual void setString(const DtUnicode& value);
441 
443  virtual const ImageSymbolMap& value() const;
444 
446  virtual void setValue(const ImageSymbolMap& value);
447 
451  virtual DtVisualizerAttribute* clone() const;
452 
453  protected:
455  };
456 
460  public DtVisualizerAttribute
461  {
462  public:
464  DtVisualizerAttributeFloat(float value = 0.0f);
465 
468 
470  virtual const TypeInfo& typeInfo() const;
471 
473  static const TypeInfo& theTypeInfo();
474 
477  virtual DtUnicode getString() const;
478 
482  virtual void setString(const DtUnicode& value);
483 
485  virtual float value() const;
486 
488  virtual void setValue(float value);
489 
493  virtual DtVisualizerAttribute* clone() const;
494 
495  protected:
496  float myValue;
497  };
498 
501  {
502  public:
505 
507  virtual const TypeInfo& typeInfo() const;
508 
510  static const TypeInfo& theTypeInfo();
511 
514  virtual DtUnicode getString() const;
515 
519  virtual void setString(const DtUnicode& value);
520 
522  virtual DtUnicode value() const;
523 
525  virtual void setValue(const DtUnicode& value);
526 
530  virtual DtVisualizerAttribute* clone() const;
531 
532  protected:
534  };
535 
539  {
540  public:
541  // Colors are represented as boost 4-tuples of RGBA values (in that order)
542  typedef boost::tuple<unsigned int, unsigned int, unsigned int,
543  unsigned int> RGBAColor;
544 
546  //Changed the default alpha to opaque so the color picker defaults to opaque
547  // instead of transparent.
548  DtVisualizerAttributeColor(RGBAColor value = RGBAColor(0, 0, 0, 255));
549 
552 
554  virtual const TypeInfo& typeInfo() const;
555 
557  static const TypeInfo& theTypeInfo();
558 
561  virtual DtUnicode getString() const;
562 
566  virtual void setString(const DtUnicode& value);
567 
569  virtual RGBAColor value() const;
570 
572  virtual void setValue(const RGBAColor& value);
573 
577  virtual DtVisualizerAttribute* clone() const;
578 
579  protected:
581  };
582 
586  public DtVisualizerAttribute
587  {
588  public:
591 
594 
596  virtual const TypeInfo& typeInfo() const;
597 
599  static const TypeInfo& theTypeInfo();
600 
603  virtual DtUnicode getString() const;
604 
608  virtual void setString(const DtUnicode& value);
609 
611  virtual const DtVector& value() const;
612 
614  virtual void setValue(const DtVector& value);
615 
619  virtual DtVisualizerAttribute* clone() const;
620 
621  protected:
623  };
624 
628  public DtVisualizerAttribute
629  {
630  public:
633 
636 
638  virtual const TypeInfo& typeInfo() const;
639 
641  static const TypeInfo& theTypeInfo();
642 
645  virtual DtUnicode getString() const;
646 
650  virtual void setString(const DtUnicode& value);
651 
653  virtual const DtVector& value() const;
654 
656  virtual void setValue(const DtVector& value);
657 
661  virtual DtVisualizerAttribute* clone() const;
662 
663  protected:
665  };
666 }
DtVisualizerAttributeString myStringAttr
Definition: DtVisualizerAttribute.h:533
std::vector< DtUnicode > StringVector
Definition: DtVisualizerAttribute.h:110
A unicode string.
Definition: DtUnicode.h:33
3D point type visualizer attribute.
Definition: DtVisualizerAttribute.h:585
DtUnicode myValue
Definition: DtVisualizerAttribute.h:282
Integer type visualizer attribute.
Definition: DtVisualizerAttribute.h:288
std::vector< int > myValue
Definition: DtVisualizerAttribute.h:367
FontGlyph myValue
Definition: DtVisualizerAttribute.h:412
String vector type visualizer attribute.
Definition: DtVisualizerAttribute.h:106
DtVector myValue
Definition: DtVisualizerAttribute.h:664
Color visualizer attribute.
Definition: DtVisualizerAttribute.h:538
float type visualizer attribute.
Definition: DtVisualizerAttribute.h:459
typedef int(ZCALLBACK *close_file_func) OF((voidpf opaque
bool findAndReplace(const DtUnicode &orig, const DtUnicode &newValue)
Definition: DtVisualizerAttribute.h:139
Definition: DtVisualizerAttribute.h:40
RGBAColor myValue
Definition: DtVisualizerAttribute.h:580
ImageSymbolMap myValue
Definition: DtVisualizerAttribute.h:454
float myValue
Definition: DtVisualizerAttribute.h:496
Integer vector type visualizer attribute.
Definition: DtVisualizerAttribute.h:330
std::vector< std::string > StringVector
Definition: DtCommonTypes.h:18
virtual const StringVector & value() const
Get the attribute&#39;s value.
Definition: DtVisualizerAttribute.h:134
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
boolean type visualizer attribute.
Definition: DtVisualizerAttribute.h:65
vector 2D visualizer attribute.
Definition: DtVisualizerAttribute.h:627
String type visualizer attribute.
Definition: DtVisualizerAttribute.h:185
int myValue
Definition: DtVisualizerAttribute.h:325
Enumeration type visualizer attribute.
Definition: DtVisualizerAttribute.h:248
TypeInfo(const std::string &name)
Definition: DtVisualizerAttribute.h:42
DtUnicode myValue
Definition: DtVisualizerAttribute.h:219
Symbol Selector visual attribute.
Definition: DtVisualizerAttribute.h:417
Font glyph type visualizer attribute.
Definition: DtVisualizerAttribute.h:372
The abstract base visualizer attribute class.
Definition: DtVisualizerAttribute.h:24
Filename type visualizer attribute.
Definition: DtVisualizerAttribute.h:500
StringVector myValue
Definition: DtVisualizerAttribute.h:179
bool operator==(const DtTextureAtlasIndexParser::StringOrFloatAttrib &lhs, const DtTextureAtlasIndexParser::StringOrFloatAttrib &rhs)
needed for search comparison code
Definition: DtTextureAtlasIndexParser.h:153
std::map< int, DtUnicode > ImageSymbolMap
Definition: DtVisualizerAttribute.h:422
std::string className
Definition: DtVisualizerAttribute.h:47
boost::tuple< unsigned int, unsigned int, unsigned int, unsigned int > RGBAColor
Definition: DtVisualizerAttribute.h:543
DT_DLL_terrainCS bool operator!=(const DtDegMinSec &lhs, const DtDegMinSec &rhs)
DtVector myValue
Definition: DtVisualizerAttribute.h:622
bool contains(const DtUnicode &needle)
Look for this value in the list of strings.
Definition: DtVisualizerAttribute.h:156
Single model definition.
Definition: DtVisualizerAttribute.h:225
unsigned int FontGlyph
Definition: DtVisualizerAttribute.h:377
bool myValue
Definition: DtVisualizerAttribute.h:101
Contains DLL export macros.

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)