VR-Forces 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) 2023 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 <vrvMath/DtVector4.h>
15 
16 #include <matrix/vlVector.h>
17 
18 #include <string>
19 #include <map>
20 #include <vector>
21 #include <tuple>
22 
23 namespace makVrv
24 {
28  {
29  public:
30 
32  virtual ~DtVisualizerAttribute();
33 
36  bool operator==(const DtVisualizerAttribute&) const;
37 
40  bool operator!=(const DtVisualizerAttribute&) const;
41 
42  //Type info struct.
43  struct TypeInfo
44  {
45  TypeInfo(const std::string& name)
46  : className(name)
47  {
48  }
49 
50  std::string className;
51  };
52 
54  virtual DtVisualizerAttribute* clone() const = 0;
55 
57  virtual const TypeInfo& typeInfo() const = 0;
58 
60  virtual DtUnicode getString() const = 0;
61 
63  virtual void setString(const DtUnicode& value) = 0;
64  };
65 
69  {
70  public:
72  DtVisualizerAttributeBool(bool value = false);
73 
76 
78  virtual const TypeInfo& typeInfo() const;
79 
81  static const TypeInfo& theTypeInfo();
82 
85  virtual DtUnicode getString() const;
86 
90  virtual void setString(const DtUnicode& value);
91 
93  virtual bool value() const;
94 
96  virtual void setValue(bool value);
97 
101  virtual DtVisualizerAttribute* clone() const;
102 
103  protected:
104  bool myValue;
105  };
106 
110  public DtVisualizerAttribute
111  {
112  public:
113  typedef std::vector<DtUnicode> StringVector;
114 
117 
120 
122  virtual const TypeInfo& typeInfo() const;
123 
125  static const TypeInfo& theTypeInfo();
126 
129  virtual DtUnicode getString() const;
130 
134  virtual void setString(const DtUnicode& value);
135 
137  virtual const StringVector& value() const
138  {
139  return myValue;
140  }
141 
142  inline bool findAndReplace(const DtUnicode& orig, const DtUnicode& newValue)
143  {
144  bool found = false;
145  StringVector::iterator i = myValue.begin();
146  StringVector::iterator e = myValue.end();
147  for (; i != e; ++i)
148  {
149  if (*i == orig)
150  {
151  *i = newValue;
152  found = true;
153  }
154  }
155  return found;
156  }
157 
159  inline bool contains(const DtUnicode& needle)
160  {
161  StringVector::iterator i = myValue.begin();
162  StringVector::iterator e = myValue.end();
163  for (; i != e; ++i)
164  {
165  if (*i == needle)
166  {
167  return true;
168  }
169  }
170  return false;
171  }
172 
174  virtual void setValue(const StringVector& value);
175 
179  virtual DtVisualizerAttribute* clone() const;
180 
181  protected:
183  };
184 
185 
189  public DtVisualizerAttribute
190  {
191  public:
194 
196  virtual const TypeInfo& typeInfo() const;
197 
199  static const TypeInfo& theTypeInfo();
200 
203  virtual DtUnicode getString() const;
204 
208  virtual void setString(const DtUnicode& value);
209 
211  virtual DtUnicode value() const;
212 
214  virtual void setValue(const DtUnicode& value);
215 
219  virtual DtVisualizerAttribute* clone() const;
220 
221  protected:
223  };
224 
225 
230  {
231  public:
234 
236  virtual const TypeInfo& typeInfo() const;
237 
239  static const TypeInfo& theTypeInfo();
240 
244  virtual DtVisualizerAttribute* clone() const;
245  };
246 
247 
252  public DtVisualizerAttribute
253  {
254  public:
257 
259  virtual const TypeInfo& typeInfo() const;
260 
262  static const TypeInfo& theTypeInfo();
263 
266  virtual DtUnicode getString() const;
267 
271  virtual void setString(const DtUnicode& value);
272 
274  virtual DtUnicode value() const;
275 
277  virtual void setValue(const DtUnicode& value);
278 
282  virtual DtVisualizerAttribute* clone() const;
283 
284  protected:
286  };
287 
288 
292  public DtVisualizerAttribute
293  {
294  public:
296  DtVisualizerAttributeInteger(int value = 0);
297 
300 
302  virtual const TypeInfo& typeInfo() const;
303 
305  static const TypeInfo& theTypeInfo();
306 
309  virtual DtUnicode getString() const;
310 
314  virtual void setString(const DtUnicode& value);
315 
317  virtual int value() const;
318 
320  virtual void setValue(int value);
321 
325  virtual DtVisualizerAttribute* clone() const;
326 
327  protected:
328  int myValue;
329  };
330 
334  public DtVisualizerAttribute
335  {
336  public:
338  DtVisualizerAttributeIntegerVector(const std::vector<int>& value = std::vector<int>());
339 
342 
344  virtual const TypeInfo& typeInfo() const;
345 
347  static const TypeInfo& theTypeInfo();
348 
351  virtual DtUnicode getString() const;
352 
356  virtual void setString(const DtUnicode& value);
357 
359  virtual std::vector<int> value() const;
360 
362  virtual void setValue(std::vector<int> value);
363 
367  virtual DtVisualizerAttribute* clone() const;
368 
369  protected:
370  std::vector<int> myValue;
371  };
372 
376  public DtVisualizerAttribute
377  {
378  public:
379  // FontGlyphs are represented as unsigned ints:
380  typedef unsigned int FontGlyph;
381 
384 
387 
389  virtual const TypeInfo& typeInfo() const;
390 
392  static const TypeInfo& theTypeInfo();
393 
396  virtual DtUnicode getString() const;
397 
401  virtual void setString(const DtUnicode& value);
402 
404  virtual FontGlyph value() const;
405 
407  virtual void setValue(FontGlyph value);
408 
412  virtual DtVisualizerAttribute* clone() const;
413 
414  protected:
416  };
417 
421  public DtVisualizerAttribute
422  {
423  public:
424  // Selected symbols are represented as a map between integer and string:
425  typedef std::map<int, DtUnicode> ForceTypeToUnicodeMap;
426 
429 
431  virtual const TypeInfo& typeInfo() const;
432 
434  static const TypeInfo& theTypeInfo();
435 
438  virtual DtUnicode getString() const;
439 
443  virtual void setString(const DtUnicode& value);
444 
446  virtual const ForceTypeToUnicodeMap& value() const;
447 
449  virtual void setValue(const ForceTypeToUnicodeMap& value);
450 
454  virtual DtVisualizerAttribute* clone() const;
455 
456  protected:
458  };
459 
463  public DtVisualizerAttribute
464  {
465  public:
467  DtVisualizerAttributeFloat(float value = 0.0f);
468 
471 
473  virtual const TypeInfo& typeInfo() const;
474 
476  static const TypeInfo& theTypeInfo();
477 
480  virtual DtUnicode getString() const;
481 
485  virtual void setString(const DtUnicode& value);
486 
488  virtual float value() const;
489 
491  virtual void setValue(float value);
492 
496  virtual DtVisualizerAttribute* clone() const;
497 
498  protected:
499  float myValue;
500  };
501 
504  {
505  public:
508 
510  virtual const TypeInfo& typeInfo() const;
511 
513  static const TypeInfo& theTypeInfo();
514 
517  virtual DtUnicode getString() const;
518 
522  virtual void setString(const DtUnicode& value);
523 
525  virtual DtUnicode value() const;
526 
528  virtual void setValue(const DtUnicode& value);
529 
533  virtual DtVisualizerAttribute* clone() const;
534 
535  protected:
537  };
538 
542  {
543  public:
544  // Colors are represented as std 4-tuples of RGBA values (in that order)
545  typedef std::tuple<unsigned int, unsigned int, unsigned int,
546  unsigned int> RGBAColor;
547 
549  //Changed the default alpha to opaque so the color picker defaults to opaque
550  // instead of transparent.
551  DtVisualizerAttributeColor(RGBAColor value = RGBAColor(0, 0, 0, 255));
552 
555 
557  virtual const TypeInfo& typeInfo() const;
558 
560  static const TypeInfo& theTypeInfo();
561 
564  virtual DtUnicode getString() const;
565 
569  virtual void setString(const DtUnicode& value);
570 
572  virtual RGBAColor value() const;
573 
575  virtual void setValue(const RGBAColor& value);
576 
580  virtual DtVisualizerAttribute* clone() const;
581 
583  virtual void getNormalizedColor(float color[4]) const;
584 
586  virtual DtVector4<float> getNormalizedColor(void) const;
587 
588  protected:
590  };
591 
595  public DtVisualizerAttribute
596  {
597  public:
600 
603 
605  virtual const TypeInfo& typeInfo() const;
606 
608  static const TypeInfo& theTypeInfo();
609 
612  virtual DtUnicode getString() const;
613 
617  virtual void setString(const DtUnicode& value);
618 
620  virtual const DtVector& value() const;
621 
623  virtual void setValue(const DtVector& value);
624 
628  virtual DtVisualizerAttribute* clone() const;
629 
630  protected:
632  };
633 
637  public DtVisualizerAttribute
638  {
639  public:
642 
645 
647  virtual const TypeInfo& typeInfo() const;
648 
650  static const TypeInfo& theTypeInfo();
651 
654  virtual DtUnicode getString() const;
655 
659  virtual void setString(const DtUnicode& value);
660 
662  virtual const DtVector& value() const;
663 
665  virtual void setValue(const DtVector& value);
666 
670  virtual DtVisualizerAttribute* clone() const;
671 
672  protected:
674  };
675 }
DtVisualizerAttributeString myStringAttr
Definition: DtVisualizerAttribute.h:536
std::vector< DtUnicode > StringVector
Definition: DtVisualizerAttribute.h:113
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:594
DtUnicode myValue
Definition: DtVisualizerAttribute.h:285
Integer type visualizer attribute.
Definition: DtVisualizerAttribute.h:291
std::tuple< unsigned int, unsigned int, unsigned int, unsigned int > RGBAColor
Definition: DtVisualizerAttribute.h:546
std::vector< int > myValue
Definition: DtVisualizerAttribute.h:370
FontGlyph myValue
Definition: DtVisualizerAttribute.h:415
std::map< int, DtUnicode > ForceTypeToUnicodeMap
Definition: DtVisualizerAttribute.h:425
String vector type visualizer attribute.
Definition: DtVisualizerAttribute.h:109
DtVector myValue
Definition: DtVisualizerAttribute.h:673
Color visualizer attribute.
Definition: DtVisualizerAttribute.h:541
float type visualizer attribute.
Definition: DtVisualizerAttribute.h:462
typedef int(ZCALLBACK *close_file_func) OF((voidpf opaque
bool findAndReplace(const DtUnicode &orig, const DtUnicode &newValue)
Definition: DtVisualizerAttribute.h:142
Definition: DtVisualizerAttribute.h:43
Symbol Force-specific string visual attribute.
Definition: DtVisualizerAttribute.h:420
4 dimensional vector
RGBAColor myValue
Definition: DtVisualizerAttribute.h:589
float myValue
Definition: DtVisualizerAttribute.h:499
Integer vector type visualizer attribute.
Definition: DtVisualizerAttribute.h:333
std::vector< std::string > StringVector
Definition: DtCommonTypes.h:18
virtual const StringVector & value() const
Get the attribute&#39;s value.
Definition: DtVisualizerAttribute.h:137
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
boolean type visualizer attribute.
Definition: DtVisualizerAttribute.h:68
vector 2D visualizer attribute.
Definition: DtVisualizerAttribute.h:636
String type visualizer attribute.
Definition: DtVisualizerAttribute.h:188
int myValue
Definition: DtVisualizerAttribute.h:328
ForceTypeToUnicodeMap myValue
Definition: DtVisualizerAttribute.h:457
Enumeration type visualizer attribute. Not used.
Definition: DtVisualizerAttribute.h:251
TypeInfo(const std::string &name)
Definition: DtVisualizerAttribute.h:45
DtUnicode myValue
Definition: DtVisualizerAttribute.h:222
Font glyph type visualizer attribute.
Definition: DtVisualizerAttribute.h:375
The abstract base visualizer attribute class.
Definition: DtVisualizerAttribute.h:27
Filename type visualizer attribute.
Definition: DtVisualizerAttribute.h:503
StringVector myValue
Definition: DtVisualizerAttribute.h:182
bool operator==(const DtTextureAtlasIndexParser::StringOrFloatAttrib &lhs, const DtTextureAtlasIndexParser::StringOrFloatAttrib &rhs)
needed for search comparison code
Definition: DtTextureAtlasIndexParser.h:160
std::string className
Definition: DtVisualizerAttribute.h:50
DT_DLL_terrainCS bool operator!=(const DtDegMinSec &lhs, const DtDegMinSec &rhs)
DtVector myValue
Definition: DtVisualizerAttribute.h:631
bool contains(const DtUnicode &needle)
Look for this value in the list of strings.
Definition: DtVisualizerAttribute.h:159
Single model definition.
Definition: DtVisualizerAttribute.h:228
unsigned int FontGlyph
Definition: DtVisualizerAttribute.h:380
bool myValue
Definition: DtVisualizerAttribute.h:104
Contains DLL export macros.

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)