VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtOsg3DVolumetricLineModel.h
Go to the documentation of this file.
1 // /******************************************************************************
2 // ** Copyright (c) 2025 MAK Technologies, Inc.
3 // ** All rights reserved.
4 // ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvOsg/vrvOsg.h>
14 
16 
17 #include <matrix/coordTransform.h>
18 #include <matrix/vlVector.h>
19 
20 #include <vector>
21 
22 namespace geos
23 {
24  namespace geom
25  {
26  class CoordinateSequence;
27  }
28 }
29 
30 namespace makVrv
31 {
32  class DtOsgSceneConnector;
33  class DtCoordinateSystem;
34 
42  {
43  public:
46 
48  virtual ~DtOsg3DVolumetricLineModel();
49 
51  virtual void setColor( float r, float g, float b, float a );
52 
54  virtual void setInsideColor( float r, float g, float b, float a );
55 
57  virtual void getInsideColor(float& r, float& g, float& b, float& a);
58 
60  virtual void setOutsideColor( float r, float g, float b, float a );
61 
63  virtual void getOutsideColor(float& r, float& g, float& b, float& a);
64 
66  virtual void setPhysicalLineHeight( double height );
67 
69  virtual void setPhysicalLineWidth( double height );
70 
72  virtual void setDimensions( double w, double h );
73 
75  virtual void setPickable( bool );
76 
78  virtual void setSolid(bool);
79 
81  virtual void setScribed(bool);
82 
84  virtual void setScribeColor( float r, float g, float b, float a );
85 
87  virtual void setScribeWidth( float );
88 
90  virtual void addPoint(const DtVector& position, int index = -1);
91 
93  virtual void removePoint(int index);
94 
96  virtual void removePosition(int index);
97 
99  virtual void setPoint(int index, const DtVector& position);
100 
102  virtual void setPosition(int index, const DtVector& position);
103 
105  void setOrigin(const DtVector& origin);
106 
108  virtual void setVisible(bool isVisible);
109 
111  virtual void setFill(bool f);
112 
114  virtual void setOrientation( int vtx, const DtTaitBryan& orientation );
115 
119  virtual void setScribeAllPolygons(bool);
120 
124  virtual void setIsSupportModel(bool isSupport);
125 
127  virtual void setModelDefinition( const std::string& str );
128 
129  protected:
131  virtual void update();
132 
134  virtual void needsUpdate();
135 
136  // @name Inherited DtModel methods
137  // @{
138 
140  virtual void addToScene( const DtUniqueID& sceneObjectId, DtModelSetId modelSet, int visualizerType );
141 
143  virtual void removeFromScene();
144  // @}
145 
146 
148  virtual void slot_coordinateSystemChanged();
149 
150  protected:
152  DtVector myOrigin;
153 
159 
160  std::unique_ptr<geos::geom::CoordinateSequence> myCoordinateSequence;
163 
165 
168  DtCoordinateSystem* myCoordinateSystem = nullptr;
169 
170  boost::signalslib::connection mySignalPostUpdateConnection;
171  };
172 }
173 
bool myGeometryChanged
Definition: DtOsg3DVolumetricLineModel.h:155
bool myNeedsUpdate
Definition: DtOsg3DVolumetricLineModel.h:154
DtSignalConnectionManager myConnections
Definition: DtOsg3DVolumetricLineModel.h:164
DtCoordTransform myGeocentricToTopographicTransform
Definition: DtOsg3DVolumetricLineModel.h:161
Dt3DVolumetricLineModel is the model interface 3D volumetric lines.
Definition: Dt3DVolumetricLineModel.h:35
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
voidpf uLong int origin
Definition: ioapi.h:42
DtVector myOrigin
Definition: DtOsg3DVolumetricLineModel.h:152
DtOsgSceneConnector is used by models to create an OSG position/orientation transform so that it can ...
Definition: DtOsgSceneConnector.h:77
boost::signalslib::connection mySignalPostUpdateConnection
Definition: DtOsg3DVolumetricLineModel.h:170
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
std::unique_ptr< geos::geom::CoordinateSequence > myCoordinateSequence
Definition: DtOsg3DVolumetricLineModel.h:160
float myPhysicalLineHeight
Definition: DtOsg3DVolumetricLineModel.h:157
float myPhysicalLineWidth
Definition: DtOsg3DVolumetricLineModel.h:156
DtOsgSceneConnector * mySceneConnector
Definition: DtOsg3DVolumetricLineModel.h:151
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
The DtCoordinateSystem is used to manage the current coordinate system of the scene.
Definition: DtCoordinateSystem.h:40
Base class to provide boost signal/slot management.
Contains declaration of Dt3DVolumetricLineModel.
DtOsg3DVolumetricLineModel is the model implementation of 3D volumetric lines. Use this class to crea...
Definition: DtOsg3DVolumetricLineModel.h:41
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:76
DtModelSetId
Definition: DtModelSetEnums.h:19
bool myUseDynamicOrigin
Definition: DtOsg3DVolumetricLineModel.h:158
DtCoordTransform myTopographicToGeocentricTransform
Definition: DtOsg3DVolumetricLineModel.h:162

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)