VR-Forces 4.6.1 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  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;

Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)