VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtOsg3DGreatCircleArcModel.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2023 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvOsg/vrvOsg.h>
14 #include <vrvUtil/signalslib.h>
15 
16 namespace makVrv
17 {
18 
19  class DtOsgSceneConnector;
20 
24  {
25  public:
28 
30  virtual ~DtOsg3DGreatCircleArcModel();
31 
32  // @name Inherited Dt3DGreatCircleArcModel (and Dt3DLineModel) methods
33  // @{
34 
36  virtual void setPosition(int index, const DtVector& position);
37 
39  virtual void setOrientation( int index, const DtTaitBryan& orientation );
40 
42  virtual void setColor( float r, float g, float b, float a );
43 
45  virtual void setWidth( float width );
46 
48  virtual void setStipplePattern( unsigned int pattern, int repeatFactor );
49 
52  virtual void setStyleSegments(const std::vector<double>& segmentPercentages);
53 
55  virtual void setSegmentColor(unsigned int segmentIndex,
56  float r, float g, float b, float a);
57 
59  virtual void setSegmentLightningStyle(unsigned int segmentIndex,
60  bool enableLightningStyle);
61 
63  virtual void setSegmentStartArrow(unsigned int segmentIndex,
64  bool enableArrow);
65 
67  virtual void setSegmentEndArrow(unsigned int segmentIndex,
68  bool enableArrow);
69 
71  virtual void setArrowSize(double);
72 
74  virtual void setArrowStyle(int);
75 
77  virtual void setStopOnTerrainIntersection(bool enabled);
78 
80  virtual void setOcclusionEnabled(bool enabled);
81 
83  virtual const std::vector<DtVector>& points() const;
84 
86  virtual void setSegmentStipplePattern(unsigned int segmentIndex,
87  unsigned int stipplePattern, int repeatFactor);
88 
90  virtual void setSegmentWidth(unsigned int segmentIndex, double width);
91 
94  virtual void setSegmentStartColor( unsigned int segmentIndex, float r,
95  float g, float b, float a );
96 
99  virtual void setSegmentEndColor( unsigned int segmentIndex, float r,
100  float g, float b, float a );
101 
103  virtual void setPickable( bool pickable );
104 
108  virtual void setIsSupportModel(bool isSupport);
109 
111  virtual void setVisible(bool);
112 
115  virtual void setMaxSubdivisions( int subDivisions );
116 
120  virtual void setPreferredSubdivisionSize( double size );
121 
124  virtual void setHeightScale( double heightScale );
125  // @}
126 
128  virtual void setModelDefinition( const std::string& str );
129 
130  private:
131 
134 
137 
140 
141  protected:
142  // @name Inherited Dt3DGreatCircleArcModel methods
143  // @{
144 
146  virtual void addToScene( const DtUniqueID& sceneObjectId, DtModelSetId modelSet, int visualizerType );
147 
149  virtual void removeFromScene();
150 
151  // @}
152 
154  virtual void update();
155 
157  virtual void needsUpdate();
158 
159  protected:
163 
164  boost::signalslib::connection mySignalPostUpdateConnection;
165  };
166 }
Contains declaration of Dt3DGreatCircleArcModel, which draws great circle lines.
DtVector myOrigin
Definition: DtOsg3DGreatCircleArcModel.h:161
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
voidpf void uLong size
Definition: ioapi.h:39
This class is a pure virtual class that all segmented great circle arc models must implement...
Definition: Dt3DGreatCircleArcModel.h:21
DtOsgSceneConnector is used by models to create an OSG position/orientation transform so that it can ...
Definition: DtOsgSceneConnector.h:77
bool myNeedsUpdate
Definition: DtOsg3DGreatCircleArcModel.h:162
boost::signalslib::connection mySignalPostUpdateConnection
Definition: DtOsg3DGreatCircleArcModel.h:164
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
DtOsgSceneConnector * mySceneConnector
Definition: DtOsg3DGreatCircleArcModel.h:160
OSG implementation of segmentable, stylizable 3D Great Circle Arc.
Definition: DtOsg3DGreatCircleArcModel.h:23
Contains DLL export macros.
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:72
DtModelSetId
Definition: DtModelSetEnums.h:19

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)