VR-Forces 4.1 Class Documentation
DtExtrudedLineModelSegmentInstance.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2012 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvOsg/vrvOsg.h>
15 
16 #include <matrix/vlVector.h>
17 
18 #include <osg/PrimitiveSet>
19 #include <osg/Geometry>
20 #include <osg/LineWidth>
21 
22 namespace osg
23 {
24  class Geode;
25  class Array;
26  class Texture;
27  class Group;
28 }
29 
30 namespace makVrv
31 {
32  class DtOsgSegmentPickable;
33  class DtDe;
34 
38  {
39  public:
41  {
45  FullExtrusion
46  };
47 
50 
53 
55  virtual void setStipplePattern(unsigned int, int repeatFactor);
56 
58  virtual void getStipplePattern(unsigned int&, int&);
59 
61  virtual void setColor(const osg::Vec4&);
62 
64  virtual void getColor(float& r, float& g, float& b, float& a);
65 
67  virtual void setPoints(const DtVector& start, const DtVector& end);
68  virtual void updatePoints(const DtVector&, const DtVector&);
69 
71  virtual void setTextureHeight(double height);
72 
74  virtual void setTextureWidth(double width);
75 
77  virtual void setTexture(osg::Texture* texture);
78 
80  virtual void setUpExtent(float height);
81 
83  virtual void setDownExtent(float height);
84 
86  virtual void setLeftExtent(float height);
87 
89  virtual void setRightExtent(float heigh);
90 
92  virtual void setWidth(float);
93 
96  virtual void setHeight(float);
97 
100  virtual void setLineWidth(float width);
101 
103  virtual void setScribed(bool b);
104 
107  virtual void setScribeColor(const osg::Vec4&);
108 
110  virtual void setScribeOccluded(bool b);
111 
113  virtual void setOcclusionEnabled(bool enabled);
114 
116  virtual void setPickable(bool);
117 
119  bool pickable() const;
120 
122  osg::Node* rootNode();
123 
125  void setOrigin(const DtVector& origin);
126 
128  virtual void setSolid(bool);
129 
131  virtual void setEndArrow(bool);
132 
134  virtual bool endArrow() const;
135 
137  virtual void setStartArrow(bool);
138 
140  virtual bool startArrow() const;
141 
143  virtual void setArrowSize(double);
144 
146  virtual void setArrowStyle(vrvTacticalGraphicUtilities::ArrowStyle);
147 
148  protected:
150  virtual void updateMode();
151 
153  virtual void updateTextureCoordinates();
154 
156  virtual int addPointsForExtentExtrusion(const DtVector& point);
157 
159  virtual int addFaceForRotation(const osg::Quat& rotation, const DtVector& point);
160 
162  virtual int addPointsForFullExtrusion(const DtVector& from,
163  const DtVector& to);
164 
166  virtual void updateStippling();
167 
169  virtual void updateScribeLine();
170 
172  virtual void updateColors();
173 
175  virtual bool frontAndBackFaceRendered() const;
176 
178  virtual void updatePointsForLineStrip();
179 
181  virtual void updatePointsForTriangleStrip();
182 
184  virtual void updatePointsForExtrusion();
185 
187  virtual void createFaces();
188 
190  virtual void updateScribeForTriangleStrip();
191 
193  virtual void updateScribeForExtrusion(osg::Vec3Array*);
194 
196  virtual void updatePointsWithArrows();
197 
198  protected:
199  typedef std::vector<DtVector> PointVector;
200 
201  osg::ref_ptr<osg::Geode> myShapeGeode;
202  osg::ref_ptr<osg::Geometry> myShapeGeometry;
203  osg::ref_ptr<osg::Vec3Array> myShapePoints;
204 
205  osg::ref_ptr<osg::Geode> myScribeGeode;
206  osg::ref_ptr<osg::Geometry> myScribeGeometry;
207  osg::ref_ptr<osg::Vec3Array> myScribePoints;
208 
209  osg::ref_ptr<osg::Texture> myTexture;
210  osg::ref_ptr<osg::Vec2Array> myTextureCoordinates;
211 
212  osg::ref_ptr<osg::LineWidth> myLineWidth;
213  osg::ref_ptr<osg::Group> myMainTransform;
214 
218  osg::ref_ptr<osg::Vec3Array> myFaces;
219 
220  osg::Vec4 myColor;
221 
224 
225  float myUpExtent;
229 
233 
236  double myArrowSize;
238 
240 
242  bool myScribed;
243  bool mySolid;
244 
245  unsigned int myStipplePattern;
247 
249 
254 
255  osg::Vec4 myScribeColor;
257 
259  };
260 }

Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)