VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
lineTaskVisualization.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
14 #include "matrix/vlVector.h"
15 #include "vl/globalObjectDesignator.h"
16 
18 
19 namespace vrvControlToolkit
20 {
21  class DtLine3DObject;
22 }
23 
27 {
28 public:
29 
30  class LineVertex
31  {
32  public:
35 
39 
40  bool operator==(const LineVertex& rhs) const
41  {
42  return (location == rhs.location && attachedObject == rhs.attachedObject);
43  }
44  };
45 
46  DtLineTaskVisualization(const DtString& name, const DtString& taskComp,
47  const DtVrfObject* taskedObject);
48  virtual ~DtLineTaskVisualization();
49 
51  virtual void setVertex(unsigned index, const DtVector& location);
52 
54  virtual void setVertices(const std::vector<DtVector>& locations);
55 
57  virtual void setVertex(unsigned index, const DtGlobalObjectDesignator& obj);
58 
60  virtual void setVertices(const std::vector<DtGlobalObjectDesignator>& objs);
61 
63  virtual void setVertices(const std::vector<LineVertex>& locations);
64 
66  virtual const std::vector<LineVertex>& vertices() const;
67 
69  virtual const LineVertex& vertex(unsigned index) const;
70 
72 
73  virtual bool arrowAtEnd() const;
74  virtual void setArrowAtEnd(bool drawArrow);
76 
78 
79  virtual bool arrowAtStart() const;
80  virtual void setArrowAtStart(bool drawArrow);
82 
84 
85  virtual unsigned thickness() const;
86  virtual void setThickness(unsigned thickness);
88 
90 
91  virtual bool projected() const;
92  virtual void setProjected(bool projected);
94 
98  static void setMaximumLineSegements(unsigned max);
99 
101  static unsigned maximumLineSegments();
102 
103 protected:
104 
106  virtual bool isPublished() const;
107 
110  virtual void publishDrawControlObjects(DtBoost::shared_ptr<DtBulkEnvironmentProcessManager> bulkMgr);
111 
113  virtual void createDrawControlObjects(DtExerciseConn* exConn);
114 
116  virtual void unpublishDrawControlObjects();
117 
119  virtual void updateDrawControlObjects();
120 
121 protected:
122 
124  std::vector<LineVertex> myVertices;
127  unsigned myThickness;
130 
131  DtBoost::weak_ptr<DtBulkEnvironmentProcessManager> myBulkManager;
132 
133  std::vector<vrvControlToolkit::DtLine3DObject*> mySegmentObjects;
134 
135  static unsigned theMaximumLineSegements;
136 };
137 
138 typedef DtBoost::shared_ptr<DtLineTaskVisualization> DtLineTaskVisualizationPtr;
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
A DtTaskVisualization describes a graphic to be displayed in the GUI to visualize the behavior of the...
Definition: taskVisualization.h:31
std::vector< LineVertex > myVertices
Definition: lineTaskVisualization.h:124
A DtLineTaskVisualization describes a line graphic to be displayed in the GUI to visualize the behavi...
Definition: lineTaskVisualization.h:26
bool myLocationsDirty
Definition: lineTaskVisualization.h:123
bool myIsSizeLimited
Definition: lineTaskVisualization.h:129
DtBoost::weak_ptr< DtBulkEnvironmentProcessManager > myBulkManager
Definition: lineTaskVisualization.h:131
std::vector< vrvControlToolkit::DtLine3DObject * > mySegmentObjects
Definition: lineTaskVisualization.h:133
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
virtual void createDrawControlObjects(DtExerciseConn *exConn)=0
Creates the draw control objects for this task visualization.
virtual bool isPublished() const =0
Returns true if the visualization is already published.
Definition: lineTaskVisualization.h:30
virtual void updateDrawControlObjects()=0
Updates the visualization object data. Must call publish first.
DtBoost::shared_ptr< DtLineTaskVisualization > DtLineTaskVisualizationPtr
Definition: lineTaskVisualization.h:138
bool myProjected
Definition: lineTaskVisualization.h:128
bool myArrowAtEnd
Definition: lineTaskVisualization.h:125
unsigned myThickness
Definition: lineTaskVisualization.h:127
static unsigned theMaximumLineSegements
Definition: lineTaskVisualization.h:135
virtual void publishDrawControlObjects(DtBoost::shared_ptr< DtBulkEnvironmentProcessManager > bulkMgr)
Creates the visualization object for publication to the network.
bool operator==(const LineVertex &rhs) const
Definition: lineTaskVisualization.h:40
DtBulkEnvironmentProcessManager.
Definition: bulkEnvironmentProcessManager.h:24
virtual void unpublishDrawControlObjects()=0
Removes the visualization object from the network.
DtVector location
Geocentric location of the vertex (if not attached).
Definition: lineTaskVisualization.h:34
DtGlobalObjectDesignator attachedObject
Global ID of the object the point is attached to.
Definition: lineTaskVisualization.h:38
bool myArrowAtStart
Definition: lineTaskVisualization.h:126

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)