VR-Forces 5.0.3 Developer's Guide
 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) 2022 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
9 #pragma once
10 
11 #include <vrvCore/vrvCore.h>
12 #include <vrvUtil/DtUnicode.h>
13 
14 #include <boost/tuple/tuple.hpp>
15 
16 #include <matrix/vlVector.h>
17 
18 #include <string>
19 #include <map>
20 #include <vector>
21 
22 namespace makVrv
23 {
27  {
28  public:
29 
31  virtual ~DtVisualizerAttribute();
32 
35  bool operator==(const DtVisualizerAttribute&) const;
36 
39  bool operator!=(const DtVisualizerAttribute&) const;
40 
41  //Type info struct.
42  struct TypeInfo
43  {
44  TypeInfo(const std::string& name)
45  : className(name)
46  {
47  }
48 
49  std::string className;
50  };
51 
53  virtual DtVisualizerAttribute* clone() const = 0;
54 
56  virtual const TypeInfo& typeInfo() const = 0;
57 
59  virtual DtUnicode getString() const = 0;
60 
62  virtual void setString(const DtUnicode& value) = 0;
63  };
64 
68  {
69  public:
71  DtVisualizerAttributeBool(bool value = false);
72 
75 
77  virtual const TypeInfo& typeInfo() const;
78 
80  static const TypeInfo& theTypeInfo();
81 
84  virtual DtUnicode getString() const;
85 
89  virtual void setString(const DtUnicode& value);
90 
92  virtual bool value() const;
93 
95  virtual void setValue(bool value);
96 
100  virtual DtVisualizerAttribute* clone() const;
101 
102  protected:
103  bool myValue;
104  };
105 
109  public DtVisualizerAttribute
110  {
111  public:
112  typedef std::vector<DtUnicode> StringVector;
113 
116 
119 
121  virtual const TypeInfo& typeInfo() const;
122 
124  static const TypeInfo& theTypeInfo();
125 
128  virtual DtUnicode getString() const;
129 
133  virtual void setString(const DtUnicode& value);
134 
136  virtual const StringVector& value() const
137  {
138  return myValue;
139  }
140 
141  inline bool findAndReplace(const DtUnicode& orig, const DtUnicode& newValue)
142  {
143  bool found = false;
144  StringVector::iterator i = myValue.begin();
145  StringVector::iterator e = myValue.end();
146  for (; i != e; ++i)
147  {
148  if (*i == orig)
149  {
150  *i = newValue;
151  found = true;
152  }
153  }
154  return found;
155  }
156 
158  inline bool contains(const DtUnicode& needle)
159  {
160  StringVector::iterator i = myValue.begin();
161  StringVector::iterator e = myValue.end();
162  for (; i != e; ++i)
163  {
164  if (*i == needle)
165  {
166  return true;
167  }
168  }
169  return false;
170  }
171 
173  virtual void setValue(const StringVector& value);
174 
178  virtual DtVisualizerAttribute* clone() const;
179 
180  protected:
182  };
183 
184 
188  public DtVisualizerAttribute
189  {
190  public:
193 
195  virtual const TypeInfo& typeInfo() const;
196 
198  static const TypeInfo& theTypeInfo();
199 
202  virtual DtUnicode getString() const;
203 
207  virtual void setString(const DtUnicode& value);
208 
210  virtual DtUnicode value() const;
211 
213  virtual void setValue(const DtUnicode& value);
214 
218  virtual DtVisualizerAttribute* clone() const;
219 
220  protected:
222  };
223 
224 
229  {
230  public:
233 
235  virtual const TypeInfo& typeInfo() const;
236 
238  static const TypeInfo& theTypeInfo();
239 
243  virtual DtVisualizerAttribute* clone() const;
244  };
245 
246 
251  public DtVisualizerAttribute
252  {
253  public:
256 
258  virtual const TypeInfo& typeInfo() const;
259 
261  static const TypeInfo& theTypeInfo();
262 
265  virtual DtUnicode getString() const;
266 
270  virtual void setString(const DtUnicode& value);
271 
273  virtual DtUnicode value() const;
274 
276  virtual void setValue(const DtUnicode& value);
277 
281  virtual DtVisualizerAttribute* clone() const;
282 
283  protected:
285  };
286 
287 
291  public DtVisualizerAttribute
292  {
293  public:
295  DtVisualizerAttributeInteger(int value = 0);
296 
299 
301  virtual const TypeInfo& typeInfo() const;
302 
304  static const TypeInfo& theTypeInfo();
305 
308  virtual DtUnicode getString() const;
309 
313  virtual void setString(const DtUnicode& value);
314 
316  virtual int value() const;
317 
319  virtual void setValue(int value);
320 
324  virtual DtVisualizerAttribute* clone() const;
325 
326  protected:
327  int myValue;
328  };
329 
333  public DtVisualizerAttribute
334  {
335  public:
337  DtVisualizerAttributeIntegerVector(const std::vector<int>& value = std::vector<int>());
338 
341 
343  virtual const TypeInfo& typeInfo() const;
344 
346  static const TypeInfo& theTypeInfo();
347 
350  virtual DtUnicode getString() const;
351 
355  virtual void setString(const DtUnicode& value);
356 
358  virtual std::vector<int> value() const;
359 
361  virtual void setValue(std::vector<int> value);
362 
366  virtual DtVisualizerAttribute* clone() const;
367 
368  protected:
369  std::vector<int> myValue;
370  };
371 
375  public DtVisualizerAttribute
376  {
377  public:
378  // FontGlyphs are represented as unsigned ints:
379  typedef unsigned int FontGlyph;
380 
383 
386 
388  virtual const TypeInfo& typeInfo() const;
389 
391  static const TypeInfo& theTypeInfo();
392 
395  virtual DtUnicode getString() const;
396 
400  virtual void setString(const DtUnicode& value);
401 
403  virtual FontGlyph value() const;
404 
406  virtual void setValue(FontGlyph value);
407 
411  virtual DtVisualizerAttribute* clone() const;
412 
413  protected:
415  };
416 
420  public DtVisualizerAttribute
421  {
422  public:
423  // Selected symbols are represented as a map between integer and string:
424  typedef std::map<int, DtUnicode> ForceTypeToUnicodeMap;
425 
428 
430  virtual const TypeInfo& typeInfo() const;
431 
433  static const TypeInfo& theTypeInfo();
434 
437  virtual DtUnicode getString() const;
438 
442  virtual void setString(const DtUnicode& value);
443 
445  virtual const ForceTypeToUnicodeMap& value() const;
446 
448  virtual void setValue(const ForceTypeToUnicodeMap& value);
449 
453  virtual DtVisualizerAttribute* clone() const;
454 
455  protected:
457  };
458 
462  public DtVisualizerAttribute
463  {
464  public:
466  DtVisualizerAttributeFloat(float value = 0.0f);
467 
470 
472  virtual const TypeInfo& typeInfo() const;
473 
475  static const TypeInfo& theTypeInfo();
476 
479  virtual DtUnicode getString() const;
480 
484  virtual void setString(const DtUnicode& value);
485 
487  virtual float value() const;
488 
490  virtual void setValue(float value);
491 
495  virtual DtVisualizerAttribute* clone() const;
496 
497  protected:
498  float myValue;
499  };
500 
503  {
504  public:
507 
509  virtual const TypeInfo& typeInfo() const;
510 
512  static const TypeInfo& theTypeInfo();
513 
516  virtual DtUnicode getString() const;
517 
521  virtual void setString(const DtUnicode& value);
522 
524  virtual DtUnicode value() const;
525 
527  virtual void setValue(const DtUnicode& value);
528 
532  virtual DtVisualizerAttribute* clone() const;
533 
534  protected:
536  };
537 
541  {
542  public:
543  // Colors are represented as boost 4-tuples of RGBA values (in that order)
544  typedef boost::tuple<unsigned int, unsigned int, unsigned int,
545  unsigned int> RGBAColor;
546 
548  //Changed the default alpha to opaque so the color picker defaults to opaque
549  // instead of transparent.
550  DtVisualizerAttributeColor(RGBAColor value = RGBAColor(0, 0, 0, 255));
551 
554 
556  virtual const TypeInfo& typeInfo() const;
557 
559  static const TypeInfo& theTypeInfo();
560 
563  virtual DtUnicode getString() const;
564 
568  virtual void setString(const DtUnicode& value);
569 
571  virtual RGBAColor value() const;
572 
574  virtual void setValue(const RGBAColor& value);
575 
579  virtual DtVisualizerAttribute* clone() const;
580 
581  protected:
583  };
584 
588  public DtVisualizerAttribute
589  {
590  public:
593 
596 
598  virtual const TypeInfo& typeInfo() const;
599 
601  static const TypeInfo& theTypeInfo();
602 
605  virtual DtUnicode getString() const;
606 
610  virtual void setString(const DtUnicode& value);
611 
613  virtual const DtVector& value() const;
614 
616  virtual void setValue(const DtVector& value);
617 
621  virtual DtVisualizerAttribute* clone() const;
622 
623  protected:
625  };
626 
630  public DtVisualizerAttribute
631  {
632  public:
635 
638 
640  virtual const TypeInfo& typeInfo() const;
641 
643  static const TypeInfo& theTypeInfo();
644 
647  virtual DtUnicode getString() const;
648 
652  virtual void setString(const DtUnicode& value);
653 
655  virtual const DtVector& value() const;
656 
658  virtual void setValue(const DtVector& value);
659 
663  virtual DtVisualizerAttribute* clone() const;
664 
665  protected:
667  };
668 }
DtVisualizerAttributeString myStringAttr
Definition: DtVisualizerAttribute.h:535
std::vector< DtUnicode > StringVector
Definition: DtVisualizerAttribute.h:112
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
3D point type visualizer attribute.
Definition: DtVisualizerAttribute.h:587
DtUnicode myValue
Definition: DtVisualizerAttribute.h:284
Integer type visualizer attribute.
Definition: DtVisualizerAttribute.h:290
std::vector< int > myValue
Definition: DtVisualizerAttribute.h:369
FontGlyph myValue
Definition: DtVisualizerAttribute.h:414
std::map< int, DtUnicode > ForceTypeToUnicodeMap
Definition: DtVisualizerAttribute.h:424
String vector type visualizer attribute.
Definition: DtVisualizerAttribute.h:108
DtVector myValue
Definition: DtVisualizerAttribute.h:666
Color visualizer attribute.
Definition: DtVisualizerAttribute.h:540
float type visualizer attribute.
Definition: DtVisualizerAttribute.h:461
typedef int(ZCALLBACK *close_file_func) OF((voidpf opaque
bool findAndReplace(const DtUnicode &orig, const DtUnicode &newValue)
Definition: DtVisualizerAttribute.h:141
Definition: DtVisualizerAttribute.h:42
Symbol Force-specific string visual attribute.
Definition: DtVisualizerAttribute.h:419
RGBAColor myValue
Definition: DtVisualizerAttribute.h:582
float myValue
Definition: DtVisualizerAttribute.h:498
Integer vector type visualizer attribute.
Definition: DtVisualizerAttribute.h:332
std::vector< std::string > StringVector
Definition: DtCommonTypes.h:18
virtual const StringVector & value() const
Get the attribute&#39;s value.
Definition: DtVisualizerAttribute.h:136
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
boolean type visualizer attribute.
Definition: DtVisualizerAttribute.h:67
vector 2D visualizer attribute.
Definition: DtVisualizerAttribute.h:629
String type visualizer attribute.
Definition: DtVisualizerAttribute.h:187
int myValue
Definition: DtVisualizerAttribute.h:327
ForceTypeToUnicodeMap myValue
Definition: DtVisualizerAttribute.h:456
Enumeration type visualizer attribute. Not used.
Definition: DtVisualizerAttribute.h:250
TypeInfo(const std::string &name)
Definition: DtVisualizerAttribute.h:44
DtUnicode myValue
Definition: DtVisualizerAttribute.h:221
Font glyph type visualizer attribute.
Definition: DtVisualizerAttribute.h:374
The abstract base visualizer attribute class.
Definition: DtVisualizerAttribute.h:26
Filename type visualizer attribute.
Definition: DtVisualizerAttribute.h:502
StringVector myValue
Definition: DtVisualizerAttribute.h:181
bool operator==(const DtTextureAtlasIndexParser::StringOrFloatAttrib &lhs, const DtTextureAtlasIndexParser::StringOrFloatAttrib &rhs)
needed for search comparison code
Definition: DtTextureAtlasIndexParser.h:153
std::string className
Definition: DtVisualizerAttribute.h:49
boost::tuple< unsigned int, unsigned int, unsigned int, unsigned int > RGBAColor
Definition: DtVisualizerAttribute.h:545
DT_DLL_terrainCS bool operator!=(const DtDegMinSec &lhs, const DtDegMinSec &rhs)
DtVector myValue
Definition: DtVisualizerAttribute.h:624
bool contains(const DtUnicode &needle)
Look for this value in the list of strings.
Definition: DtVisualizerAttribute.h:158
Single model definition.
Definition: DtVisualizerAttribute.h:227
unsigned int FontGlyph
Definition: DtVisualizerAttribute.h:379
bool myValue
Definition: DtVisualizerAttribute.h:103
Contains DLL export macros.

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)