VR-Forces 4.1 Class Documentation
Dt3DGreatCircleArcModelInstanceSegment.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>
14 
15 #include <osg/Geode>
16 
17 class DtVector;
18 
19 namespace makVrv
20 {
21  class DtGreatCircleCurveGenerator;
22 
31  {
32  public:
35 
38 
41  virtual void setStartPercentage( double startPct );
42 
44  virtual double startPercentage() const;
45 
47  virtual void setEndPercentage( double endPct );
48 
50  virtual double endPercentage() const;
51 
54  virtual void setMaxSubdivisions( int subdivisions );
55 
59  virtual void setPreferredSubdivisionSize( double size );
60 
63  virtual void setHeightScale( double heightScale );
64 
69  virtual void setStartPoint(const osg::Vec3d& startPoint);
70 
75  virtual void setEndPoint(const osg::Vec3d& endPoint);
76 
78  const osg::Vec3d& startPoint() const;
79 
81  const osg::Vec3d& endPoint() const;
82 
84  virtual void setColor(const osg::Vec4& color);
85 
87  virtual void setVertexColor( unsigned int vertexIndex, const osg::Vec4& color );
88 
90  virtual void setWidth(double lineWidth);
91 
93  virtual double width() const;
94 
96  virtual void setStipplePattern(unsigned int stipplePattern, int repeatFactor);
97 
99  virtual osg::Node* rootNode();
100 
102  const std::vector<osg::Vec3>& pickableVertices() const;
103 
105  virtual void update();
106 
109  virtual void setOrigin( const osg::Vec3d origin );
110 
111  private:
112 
115 
118 
121 
122  protected:
123 
125  virtual void buildVertices();
126 
128  virtual void buildLinePrimitive( int numVertices );
129 
132  virtual int calculateNumSubdivisions(
133  const DtGreatCircleCurveGenerator& curveGen,
134  const DtVector& endGeod) const;
135 
137  virtual void build();
138 
140  virtual void buildColorArray();
141 
143  DtVector localToGeodetic( const osg::Vec3d& local );
144 
146  osg::Vec3d geodeticToLocal( const DtVector& geodetic );
147 
148  protected:
152  osg::Vec3d myOrigin;
157 
160  {
161  osg::Vec3d startPoint;
162  osg::Vec3d endPoint;
163  osg::Vec4 color[2];
164  double width;
165  unsigned int stipplePattern;
166  };
167 
169 
170  osg::ref_ptr<osg::Geode> myGeode;
171  osg::ref_ptr<osg::Geometry> myGeometry;
172  osg::ref_ptr<osg::Vec3Array> myVertices;
173  };
174 }
175 
176 

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)