VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
taskVisualizationStateComponent.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
12 #include "vlpi/entityIdentifier.h"
13 #include <vrfutil/rwUUID.h>
14 
15 namespace makVrf
16 {
18  {
20  {
21  Unknown = 0,
26  };
27 
28  struct LineVertex
29  {
30  public:
31  LineVertex() : attachedObject(DtUUID::nullUUID()) {};
32 
34  DtVector location;
35 
39 
40  bool operator==(const LineVertex& rhs) const
41  {
42  return (location == rhs.location && attachedObject == rhs.attachedObject);
43  }
44  };
45 
47  : myVisualizationType(Unknown)
48  , myRed(0)
49  , myGreen(0)
50  , myBlue(0)
51  , myAlpha(255)
52  , mySize(1)
53  , myArrowAtStart(false)
54  , myArrowAtEnd(false)
55  , myIsSizeLimited(false)
56  , myProjected(false)
57  , myActive(false)
58  , myUseDrawControlForTaskVisualizations(false)
59  , myAttachedObject(DtUUID::nullUUID())
60  , myHostId(DtUUID::nullUUID())
61  , myNeedsPointVerticesUpdate(false)
62  {
63  }
64 
66  : myComponentName(orig.myComponentName)
67  , myVisualizationName(orig.myVisualizationName)
68  , myVisualizationType(orig.myVisualizationType)
69  , myRed(orig.myRed)
70  , myGreen(orig.myGreen)
71  , myBlue(orig.myBlue)
72  , myAlpha(orig.myAlpha)
73  , myLocationOffset(orig.myLocationOffset)
74  , myLocation(orig.myLocation)
75  , mySize(orig.mySize)
76  , myAttachedObject(orig.myAttachedObject)
77  , myArrowAtStart(orig.myArrowAtStart)
78  , myArrowAtEnd(orig.myArrowAtEnd)
79  , myIsSizeLimited(orig.myIsSizeLimited)
80  , myProjected(orig.myProjected)
81  , myLineVertices(orig.myLineVertices)
82  , myText(orig.myText)
83  , myActive(orig.myActive)
84  , myUseDrawControlForTaskVisualizations(orig.myUseDrawControlForTaskVisualizations)
85  , myHostId(orig.myHostId)
86  , myEntityId(orig.myEntityId)
87  , myPointVertices(orig.myPointVertices)
88  , myNeedsPointVerticesUpdate(orig.myNeedsPointVerticesUpdate)
89  {
90  if (myNeedsPointVerticesUpdate)
91  {
92  pointVertices();
93  }
94  }
95 
97  {
98  myComponentName = rhs.myComponentName;
99  myVisualizationName = rhs.myVisualizationName;
100  myVisualizationType = rhs.myVisualizationType;
101  myRed = rhs.myRed;
102  myGreen = rhs.myGreen;
103  myBlue = rhs.myBlue;
104  myAlpha = rhs.myAlpha;
105  myLocationOffset = rhs.myLocationOffset;
106  mySize = rhs.mySize;
107  myLocation = rhs.myLocation;
108  myAttachedObject = rhs.myAttachedObject;
109  myArrowAtStart = rhs.myArrowAtStart;
110  myArrowAtEnd = rhs.myArrowAtEnd;
111  myIsSizeLimited = rhs.myIsSizeLimited;
112  myProjected = rhs.myProjected;
113  myLineVertices = rhs.myLineVertices;
114  myText = rhs.myText;
115  myActive = rhs.myActive;
116  myUseDrawControlForTaskVisualizations = rhs.myUseDrawControlForTaskVisualizations;
117  myHostId = rhs.myHostId;
118  myEntityId = rhs.myEntityId;
119  myPointVertices = rhs.myPointVertices;
120  myNeedsPointVerticesUpdate = rhs.myNeedsPointVerticesUpdate;
121 
122  if (myNeedsPointVerticesUpdate)
123  {
124  pointVertices();
125  }
126 
127  return *this;
128  }
129 
131  DEFINE_ACCESSOR_MUTATOR(DtString, componentName, ComponentName)
132  DEFINE_ACCESSOR_MUTATOR(DtString, visualizationName, VisualizationName)
133  DEFINE_ACCESSOR_MUTATOR(DtUUID, attachedObject, AttachedObject)
134  DEFINE_ACCESSOR_MUTATOR(DtString, text, Text)
135  DEFINE_ACCESSOR_MUTATOR(DtUUID, hostId, HostId)
136  DEFINE_ACCESSOR_MUTATOR(DtEntityIdentifier, entityId, EntityId)
137  DEFINE_ACCESSOR_MUTATOR(unsigned int, red, Red)
138  DEFINE_ACCESSOR_MUTATOR(unsigned int, green, Green)
139  DEFINE_ACCESSOR_MUTATOR(unsigned int, blue, Blue)
140  DEFINE_ACCESSOR_MUTATOR(unsigned int, alpha, Alpha)
141  DEFINE_ACCESSOR_MUTATOR(unsigned int, size, Size)
142  DEFINE_ACCESSOR_MUTATOR(DtVector, locationOffset, LocationOffset)
143  DEFINE_ACCESSOR_MUTATOR(DtVector, location, Location)
144  DEFINE_REF_ACCESSORS(std::vector<LineVertex>, lineVertices, LineVertices)
145  DEFINE_ACCESSOR_MUTATOR(bool, arrowAtStart, ArrowAtStart)
146  DEFINE_ACCESSOR_MUTATOR(bool, arrowAtEnd, ArrowAtEnd)
147  DEFINE_ACCESSOR_MUTATOR(bool, projected, Projected)
148  DEFINE_ACCESSOR_MUTATOR(bool, isSizeLimited, IsSizeLimited)
149  DEFINE_ACCESSOR_MUTATOR(bool, active, Active)
150  DEFINE_ACCESSOR_MUTATOR(bool, useDrawControlForTaskVisualizations, UseDrawControlForTaskVisualizations)
151 
152  const std::vector<DtVector>& pointVertices() const
153  {
154  if (myNeedsPointVerticesUpdate)
155  {
156  myPointVertices.resize(myLineVertices.size());
157 
158  std::vector<LineVertex>::const_iterator iter = myLineVertices.begin();
159  std::vector<LineVertex>::const_iterator end = myLineVertices.end();
160  std::vector<DtVector>::iterator ptIter = myPointVertices.begin();
161  while (iter != end)
162  {
163  (*ptIter) = iter->location;
164  ++iter;
165  ++ptIter;
166  }
167 
168  myNeedsPointVerticesUpdate = false;
169  }
170 
171  return myPointVertices;
172  }
173 
174  void setVertices(const std::vector<LineVertex>& v) { myLineVertices = v; myNeedsPointVerticesUpdate = true;};
175  void setVertices(const std::vector<DtVector>& v)
176  {
177  myLineVertices.resize(v.size());
178  int i, iLimit = v.size();
179  for (i = 0; i < iLimit; i++)
180  {
181  myLineVertices[i].location = v[i];
182  }
183 
184  myPointVertices = v;
185  }
186 
187  void setVertices(const std::vector<DtUUID>& v)
188  {
189  myLineVertices.resize(v.size());
190  int i, iLimit = v.size();
191  for (i = 0; i < iLimit; i++)
192  {
193  myLineVertices[i].attachedObject = v[i];
194  }
195 
196  myNeedsPointVerticesUpdate = true;
197  }
198 
199  void setVertex(int i, const DtVector& v)
200  {
201  if (i >= myLineVertices.size())
202  {
203  myLineVertices.resize(i+1);
204  myPointVertices.resize(i + 1);
205  }
206 
207  myPointVertices[i] = v;
208  myLineVertices[i].location = v;
209  }
210 
211  void setVertex(int i, const DtUUID& v)
212  {
213  if (i >= myLineVertices.size())
214  {
215  myLineVertices.resize(i+1);
216  myPointVertices.resize(i + 1);
217  }
218 
219  myLineVertices[i].attachedObject = v;
220  }
221 
222  const std::vector<LineVertex>& linVertices() const { return myLineVertices; };
223 
224  protected:
225  DtString myComponentName;
227  DtEntityIdentifier myEntityId;
230  unsigned int myRed;
231  unsigned int myGreen;
232  unsigned int myBlue;
233  unsigned int myAlpha;
234  bool myActive;
236 
239  mutable std::vector<DtVector> myPointVertices;
240 
242  unsigned int mySize;
245 
247  std::vector<LineVertex> myLineVertices;
253 
256  };
257 
261  {
262  public:
264 
266  : DtFrameStateInterface(storage)
267  {
268  }
269 
271  UNDEFINED_RETURNREF_ACCESSOR_MUTATOR(DtString, componentName, ComponentName)
272  UNDEFINED_RETURNREF_ACCESSOR_MUTATOR(DtString, visualizationName, VisualizationName)
273  UNDEFINED_RETURNREF_ACCESSOR_MUTATOR(DtUUID, attachedObject, AttachedObject)
275  UNDEFINED_RETURNREF_ACCESSOR_MUTATOR(unsigned int, red, Red)
276  UNDEFINED_RETURNREF_ACCESSOR_MUTATOR(unsigned int, green, Green)
277  UNDEFINED_RETURNREF_ACCESSOR_MUTATOR(unsigned int, blue, Blu)
278  UNDEFINED_RETURNREF_ACCESSOR_MUTATOR(unsigned int, alpha, Alpha)
279  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(unsigned int, size, Size)
280  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(unsigned int, thickness, Thickness)
281  UNDEFINED_RETURNREF_ACCESSOR_MUTATOR(DtVector, locationOffset, LocationOffset)
282  UNDEFINED_RETURNREF_ACCESSOR_MUTATOR(DtVector, location, Location)
283  UNDEFINED_RETURNREF_ACCESSORS(std::vector<DtTaskVisualizationStateComponentData::LineVertex>, vertices)
284  UNDEFINED_RETURNVALUE_ACCESSOR(unsigned int, numberOfVertices)
285  UNDEFINED_RETURNREF_ACCESSOR_MUTATOR(bool, arrowAtStart, ArrowAtStart)
286  UNDEFINED_RETURNREF_ACCESSOR_MUTATOR(bool, arrowAtEnd, ArrowAtEnd)
287  UNDEFINED_RETURNREF_ACCESSOR_MUTATOR(bool, projected, Projected)
288  UNDEFINED_RETURNREF_ACCESSOR_MUTATOR(bool, isSizeLimited, IsSizeLimited)
289  UNDEFINED_RETURNREF_ACCESSOR_MUTATOR(bool, active, Active)
290  UNDEFINED_METHOD(void, setVertices, const std::vector<DtTaskVisualizationStateComponentData::LineVertex>&)
291  UNDEFINED_METHOD(void, setVertices, const std::vector<DtVector>&)
292  UNDEFINED_METHOD(void, setVertices, const std::vector<DtUUID>&)
293  UNDEFINED_RETURNREF_ACCESSOR_MUTATOR(bool, useDrawControlForTaskVisualizations, UseDrawControlForTaskVisualizations)
294  UNDEFINED_RETURNREF_ACCESSOR_MUTATOR(DtUUID, hostId, HostId)
295  UNDEFINED_RETURNREF_ACCESSOR_MUTATOR(DtEntityIdentifier, entityId, EntityId)
296 
297  virtual const std::vector<DtVector>& pointVertices() const { throw DtUnimplementedMethod("void pointVertices() is unimplemented by this class."); };
298  virtual void setColor(unsigned int r, unsigned int g, unsigned int b, unsigned int a) { throw DtUnimplementedMethod("setColor(r, g, b, a) is unimplemented by this class."); };
299  virtual void setVertex(unsigned int i, const DtVector&) { throw DtUnimplementedMethod("void setVertex(unsigned int i, const DtVector&) is unimplemented by this class."); };
300  virtual void setVertex(unsigned int i, const DtUUID&) { throw DtUnimplementedMethod("void setVertex(unsigned int i, const DtUUID&) is unimplemented by this class."); };
301  virtual void setupAsLineTaskVisualization(const DtEntityIdentifier& entityIdentifier, const DtString& visualizationName, const DtString& componentName)
302  { throw DtUnimplementedMethod("void setupAsLineTaskVisualization is unimplemented by this class."); };
303  virtual void setupAsAreaTaskVisualization(const DtEntityIdentifier& entityIdentifier, const DtString& visualizationName, const DtString& componentName)
304  { throw DtUnimplementedMethod("void setupAsLineTaskVisualization is unimplemented by this class."); };
305  virtual void setupAsTextTaskVisualization(const DtEntityIdentifier& entityIdentifier, const DtString& visualizationName, const DtString& componentName)
306  { throw DtUnimplementedMethod("void setupAsLineTaskVisualization is unimplemented by this class."); };
307  virtual void setupAsPointTaskVisualization(const DtEntityIdentifier& entityIdentifier, const DtString& visualizationName, const DtString& componentName)
308  { throw DtUnimplementedMethod("void setupAsLineTaskVisualization is unimplemented by this class."); };
309  };
310 
313  {
314  public:
316 
318  const DtTaskVisualizationStateComponentData& frameState() const { return myData; };
320 
321  const DtTaskVisualizationStateComponentData::VisualizationType& visualizationType() const;
322 
323  const std::vector<DtTaskVisualizationStateComponentData::LineVertex>& vertices() const;
324  std::vector<DtTaskVisualizationStateComponentData::LineVertex>& vertices();
325 
326  const unsigned int numberOfVertices() const;
327 
328  void setComponentName(const DtString&);
329  const DtString& componentName() const;
330 
331  void setVisualizationName(const DtString&);
332  const DtString& visualizationName() const;
333 
334  void setAttachedObject(const DtUUID&);
335  const DtUUID& attachedObject() const;
336 
337  void setText(const DtString&);
338  const DtString& text() const;
339 
340  void setRed(const unsigned int&);
341  const unsigned int& red() const;
342 
343  void setGreen(const unsigned int&);
344  const unsigned int& green() const;
345 
346  void setBlue(const unsigned int&);
347  const unsigned int& blue() const;
348 
349  void setAlpha(const unsigned int&);
350  const unsigned int& alpha() const;
351 
352  void setSize(const unsigned int&);
353  const unsigned int size() const;
354 
355  void setThickness(const unsigned int& i) { setSize(i); };
356  const unsigned int thickness() const { return size(); };
357 
358  void setLocationOffset(const DtVector&);
359  const DtVector& locationOffset() const;
360 
361  void setLocation(const DtVector&);
362  const DtVector& location() const;
363 
364  void setArrowAtStart(const bool&);
365  const bool& arrowAtStart() const;
366 
367  void setArrowAtEnd(const bool&);
368  const bool& arrowAtEnd() const;
369 
370  void setIsSizeLimited(const bool&);
371  const bool& isSizeLimited() const;
372 
373  void setProjected(const bool&);
374  const bool& projected() const;
375 
376  void setActive(const bool&);
377  const bool& active() const;
378 
379  void setUseDrawControlForTaskVisualizations(const bool&);
380  const bool& useDrawControlForTaskVisualizations() const;
381 
382  virtual void setColor(unsigned int r, unsigned int g, unsigned int b, unsigned int a);
383  virtual void setVertices(const std::vector<DtTaskVisualizationStateComponentData::LineVertex>&);
384  virtual void setVertices(const std::vector<DtVector>&);
385  virtual void setVertices(const std::vector<DtUUID>&);
386  virtual void setVertex(unsigned int i, const DtVector&);
387  virtual void setVertex(unsigned int i, const DtUUID&);
388 
389  const DtUUID& hostId() const;
390  void setHostId(const DtUUID&);
391 
392  const DtEntityIdentifier& entityId() const;
393  void setEntityId(const DtEntityIdentifier&);
394 
395  virtual const std::vector<DtVector>& pointVertices() const;
396 
398  virtual void makeWritable() {};
399 
401  virtual void makeReadOnly() {};
402 
403  void setupAsLineTaskVisualization(const DtEntityIdentifier& entityIdentifier, const DtString& visualizationName, const DtString& componentName);
404  void setupAsTextTaskVisualization(const DtEntityIdentifier& entityIdentifier, const DtString& visualizationName, const DtString& componentName);
405  void setupAsAreaTaskVisualization(const DtEntityIdentifier& entityIdentifier, const DtString& visualizationName, const DtString& componentName);
406  void setupAsPointTaskVisualization(const DtEntityIdentifier& entityIdentifier, const DtString& visualizationName, const DtString& componentName);
407 
408  protected:
411 
412  protected:
414  };
415 
418  {
419  public:
421 
423  const DtTaskVisualizationStateComponentData& frameState() const { return myData; };
424 
425  const DtTaskVisualizationStateComponentData::VisualizationType& visualizationType() const;
426 
427  const DtString& componentName() const;
428  const DtString& visualizationName() const;
429  const DtUUID& attachedObject() const;
430  const DtString& text() const;
431 
432  const unsigned int& red() const;
433  const unsigned int& green() const;
434  const unsigned int& blue() const;
435  const unsigned int& alpha() const;
436  const unsigned int size() const;
437  const unsigned int thickness() const
438  {
439  return size();
440  }
441 
442  const DtVector& locationOffset() const;
443  const DtVector& location() const;
444  const std::vector<DtTaskVisualizationStateComponentData::LineVertex>& vertices() const;
445  const unsigned int numberOfVertices() const;
446 
447  const bool& arrowAtStart() const;
448  const bool& arrowAtEnd() const;
449  const bool& isSizeLimited() const;
450  const bool& projected() const;
451  const bool& active() const;
452  const bool& useDrawControlForTaskVisualizations() const;
453  const DtUUID& hostId() const;
454  const DtEntityIdentifier& entityId() const;
455  virtual const std::vector<DtVector>& pointVertices() const;
456 
457  protected:
460  {
461  myData = d;
462  }
463 
464  protected:
466  };
467 
471  {
472  public:
474 
475  bool isDoubleBuffered() { return true; };
476  const DtFrameStateInterface* currentFrameState() const { return &myCurrentFrameState; }
477  virtual DtFrameStateInterface* nextFrameState() { return &myNextFrameState; };
478  virtual const DtFrameStateInterface* nextFrameState() const { return &myNextFrameState; };
479 
481  {
482  if (myNextFrameState.isWritable())
483  {
484  myCurrentFrameState.advanceFrame(myNextFrameState.frameState());
485  }
486 
487  myCurrentFrameState.emitComponentUpdated();
488  }
489 
491  {
492  myCurrentFrameState.updateStateData(sd);
493  myNextFrameState.updateStateData(sd);
494  }
495 
496  static void setMaximumLineSegements(unsigned max);
497  static unsigned maximumLineSegments();
498 
499  DtTaskVisualizationStateComponent* lineTaskVisualization(const DtString& v, const DtString& c);
500  DtTaskVisualizationStateComponent* areaTaskVisualization(const DtString& v, const DtString& c);
501  DtTaskVisualizationStateComponent* pointTaskVisualization(const DtString& v, const DtString& c);
502  DtTaskVisualizationStateComponent* textTaskVisualization(const DtString& v, const DtString& c);
503 
504  virtual void aboutToBeDeleted() override
505  {
507  myCurrentFrameState.aboutToBeDeleted();
508  myNextFrameState.aboutToBeDeleted();
509  }
510 
511  protected:
515  };
516 
520 }
virtual void setupAsAreaTaskVisualization(const DtEntityIdentifier &entityIdentifier, const DtString &visualizationName, const DtString &componentName)
Definition: taskVisualizationStateComponent.h:303
UUID is a unique ID wrapper class.
Definition: uuid.h:59
virtual void setupAsTextTaskVisualization(const DtEntityIdentifier &entityIdentifier, const DtString &visualizationName, const DtString &componentName)
Definition: taskVisualizationStateComponent.h:305
Definition: taskVisualizationStateComponent.h:28
virtual void aboutToBeDeleted() override
Definition: taskVisualizationStateComponent.h:504
Definition: stateDataTypes.h:23
Definition: taskVisualizationStateComponent.h:24
DtTaskVisualizationStateComponentData & frameState()
Definition: taskVisualizationStateComponent.h:319
virtual void makeReadOnly()
Override to make component read-only.
Definition: taskVisualizationStateComponent.h:401
#define UNDEFINED_METHOD(Type, Method,...)
Definition: doubleBufferedDataStorage.h:68
Definition: taskVisualizationStateComponent.h:17
DtUUID myAttachedObject
Definition: taskVisualizationStateComponent.h:244
VisualizationType
Definition: taskVisualizationStateComponent.h:19
void updateStateData(DtStateData *sd)
Implement to update data storage to the new state data.
Definition: taskVisualizationStateComponent.h:490
void advanceFrame(const DtTaskVisualizationStateComponentData &d)
Definition: taskVisualizationStateComponent.h:459
const DtTaskVisualizationStateComponentData & frameState() const
Next frame access write access. Ensure this is only used in a single thread (i.e.a controller thread)...
Definition: taskVisualizationStateComponent.h:318
Definition: stateComponent.h:266
DtVector myLocationOffset
Location offset in forward, right, down entity coordinates.
Definition: taskVisualizationStateComponent.h:238
DtString myComponentName
Definition: taskVisualizationStateComponent.h:222
bool myIsSizeLimited
Definition: taskVisualizationStateComponent.h:251
voidpf void uLong size
Definition: ioapi.h:39
unsigned int myRed
Definition: taskVisualizationStateComponent.h:230
bool myArrowAtEnd
Definition: taskVisualizationStateComponent.h:248
const unsigned int thickness() const
Definition: taskVisualizationStateComponent.h:356
#define UNDEFINED_RETURNREF_ACCESSORS(ReturnType, Member)
Definition: doubleBufferedDataStorage.h:40
#define UNDEFINED_RETURNVALUE_ACCESSOR(ReturnType, Member)
Definition: doubleBufferedDataStorage.h:31
DtTaskVisualizationStateComponentData myData
Definition: taskVisualizationStateComponent.h:465
Contains the DtUUID class declaration.
DtUUID myHostId
Definition: taskVisualizationStateComponent.h:228
#define UNDEFINED_RETURNREF_ACCESSOR(ReturnType, Member)
Definition: doubleBufferedDataStorage.h:34
2) Define the next frame class. This will be used for write access.
Definition: taskVisualizationStateComponent.h:312
DtTaskVisualizationStateComponentNextFrame myNextFrameState
Definition: taskVisualizationStateComponent.h:513
virtual void setupAsLineTaskVisualization(const DtEntityIdentifier &entityIdentifier, const DtString &visualizationName, const DtString &componentName)
Definition: taskVisualizationStateComponent.h:301
DtEntityIdentifier myEntityId
Definition: taskVisualizationStateComponent.h:227
Definition: taskVisualizationStateComponent.h:22
virtual void setupAsPointTaskVisualization(const DtEntityIdentifier &entityIdentifier, const DtString &visualizationName, const DtString &componentName)
Definition: taskVisualizationStateComponent.h:307
void setVertices(const std::vector< DtUUID > &v)
Definition: taskVisualizationStateComponent.h:187
virtual DtFrameStateInterface * nextFrameState()
Definition: taskVisualizationStateComponent.h:477
virtual void setColor(unsigned int r, unsigned int g, unsigned int b, unsigned int a)
Definition: taskVisualizationStateComponent.h:298
DtTaskVisualizationStateComponentData()
Definition: taskVisualizationStateComponent.h:46
bool myUseDrawControlForTaskVisualizations
Definition: taskVisualizationStateComponent.h:235
DtStateComponentCreator< DtTaskVisualizationStateComponentImplementation > DtTaskVisualizationStateComponentCreator
5) Define the creator. This will need to be registered with the REGISTER_STATE_COMPONENT macro in the...
Definition: taskVisualizationStateComponent.h:519
The overall structure of the DtStateData mechanism is: The DtStateData contains a list of double buff...
Definition: stateData.h:339
#define DEFINE_STATE_COMPONENT_TYPE(CreatedComponent)
Definition: stateComponent.h:228
virtual void setVertex(unsigned int i, const DtVector &)
Definition: taskVisualizationStateComponent.h:299
IMGUI_API void Text(const char *fmt,...) IM_FMTARGS(1)
std::vector< LineVertex > myLineVertices
For line objects.
Definition: taskVisualizationStateComponent.h:247
DtTaskVisualizationStateComponentData(const DtTaskVisualizationStateComponentData &orig)
Definition: taskVisualizationStateComponent.h:65
bool myActive
Definition: taskVisualizationStateComponent.h:234
Subclass from this to indicate that this will be a double buffered state component.
Definition: stateComponent.h:379
void setVertices(const std::vector< LineVertex > &v)
Definition: taskVisualizationStateComponent.h:174
void setThickness(const unsigned int &i)
Definition: taskVisualizationStateComponent.h:355
std::vector< DtVector > myPointVertices
Definition: taskVisualizationStateComponent.h:239
#define UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(Type, Member, Set)
Definition: doubleBufferedDataStorage.h:53
virtual void aboutToBeDeleted()
DtTaskVisualizationStateComponentData::VisualizationType myVisualizationType
Definition: taskVisualizationStateComponent.h:229
4) Define the state component that will contain the wrappers to the next and current frame states tha...
Definition: taskVisualizationStateComponent.h:470
void setVertices(const std::vector< DtVector > &v)
Definition: taskVisualizationStateComponent.h:175
DtTaskVisualizationStateComponentData & operator=(const DtTaskVisualizationStateComponentData &rhs)
Definition: taskVisualizationStateComponent.h:96
unsigned int mySize
Not all of these are used by all task visualizations.
Definition: taskVisualizationStateComponent.h:242
DtTaskVisualizationStateComponentCurrentFrame myCurrentFrameState
Definition: taskVisualizationStateComponent.h:512
bool operator==(const LineVertex &rhs) const
Definition: taskVisualizationStateComponent.h:40
virtual void setVertex(unsigned int i, const DtUUID &)
Definition: taskVisualizationStateComponent.h:300
const DtFrameStateInterface * currentFrameState() const
Definition: taskVisualizationStateComponent.h:476
#define UNDEFINED_RETURNREF_ACCESSOR_MUTATOR(Type, Member, Set)
Definition: doubleBufferedDataStorage.h:57
bool myArrowAtStart
Definition: taskVisualizationStateComponent.h:249
#define DEFINE_REF_ACCESSORS(ReturnType, Method, Member)
Definition: doubleBufferedDataStorage.h:13
#define DEFINE_ACCESSOR_MUTATOR(ReturnType, Accessor, Mutator)
Definition: doubleBufferedDataStorage.h:23
void setVertex(int i, const DtUUID &v)
Definition: taskVisualizationStateComponent.h:211
static int theMaximumLineSegments
Definition: taskVisualizationStateComponent.h:514
DtString myText
Text.
Definition: taskVisualizationStateComponent.h:255
unsigned int myGreen
Definition: taskVisualizationStateComponent.h:231
bool isDoubleBuffered()
Definition: taskVisualizationStateComponent.h:475
3) Define the current frame class. This will be used for read access.
Definition: taskVisualizationStateComponent.h:417
#define DT_DLL_vrfStateData
This file is used to determine how to build Disable inconsistent dll linkage warning Visual Studio 6...
Definition: vrfStateDataDefines.h:26
DtVector location
Geocentric location of the vertex (if not attached).
Definition: taskVisualizationStateComponent.h:31
void updateDataStorage()
Implement to update data storage. Called from advanceFrame.
Definition: taskVisualizationStateComponent.h:480
DtUUID attachedObject
Global ID of the object the point is attached to. If blank, use specified location instead...
Definition: taskVisualizationStateComponent.h:38
bool myNeedsPointVerticesUpdate
Definition: taskVisualizationStateComponent.h:252
const DtTaskVisualizationStateComponentData & frameState() const
Current frame state only can access current frame buffers. This ensures thread safety.
Definition: taskVisualizationStateComponent.h:423
virtual void makeWritable()
Override to make component writable.
Definition: taskVisualizationStateComponent.h:398
DtTaskVisualizationStateComponentData myData
Definition: taskVisualizationStateComponent.h:413
Definition: taskVisualizationStateComponent.h:23
void setVertex(int i, const DtVector &v)
Definition: taskVisualizationStateComponent.h:199
const unsigned int thickness() const
Definition: taskVisualizationStateComponent.h:437
unsigned int myBlue
Definition: taskVisualizationStateComponent.h:232
1) Define the interface class that will be used to represent the next and current frames...
Definition: taskVisualizationStateComponent.h:260
DtVector myLocation
Definition: taskVisualizationStateComponent.h:243
Contains the DtStateComponent class declaration.
virtual const DtFrameStateInterface * nextFrameState() const
Definition: taskVisualizationStateComponent.h:478
This is a simple base class that will be used to return a pointer to current or next frame state...
Definition: stateComponent.h:291
DtString myVisualizationName
Definition: taskVisualizationStateComponent.h:226
bool myProjected
Definition: taskVisualizationStateComponent.h:250
unsigned int myAlpha
Definition: taskVisualizationStateComponent.h:233

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)