VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtOsg3DSegmentedLineModel.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>
13 
15 #include <vrvCore/DtUniqueID.h>
16 
17 #include <vrvUtil/signalslib.h>
18 
19 #include <matrix/vlVector.h>
20 
21 namespace makVrv
22 {
23  class DtDe;
24 
25  class DtOsgSceneConnector;
26 
30  {
31  public:
32 
35 
37  virtual ~DtOsg3DSegmentedLineModel();
38 
39  //@name Distributed Interface
41 
43  virtual void setPosition( int vtx, const DtVector& position );
44 
46  virtual void removePosition( int vtx );
47 
49  virtual void setOrientation( int vtx, const DtTaitBryan& orientation );
50 
52  virtual void setColor( float r, float g, float b, float a );
53 
55  virtual void setWidth( float width );
56 
58  virtual void setStipplePattern( unsigned int pattern, int repeatFactor );
59 
62  virtual void setStyleSegments(const std::vector<double>& segmentPercentages);
63 
65  virtual void setSegmentColor(unsigned int segmentIndex,
66  float r, float g, float b, float a);
67 
69  virtual const std::vector<DtVector>& points() const;
70 
72  virtual void setArrowSize(double);
73 
75  virtual void setArrowStyle(int);
76 
78  virtual void setSegmentLightningStyle(unsigned int segmentIndex,
79  bool enableLightningStyle);
80 
82  virtual void setSegmentStartArrow(unsigned int segmentIndex,
83  bool enableArrow);
84 
86  virtual void setSegmentEndArrow(unsigned int segmentIndex,
87  bool enableArrow);
88 
91  virtual void setSegmentStipplePattern(unsigned int segmentIndex,
92  unsigned int stipplePattern, int repeatFactor);
93 
95  virtual void setSegmentWidth(unsigned int segmentIndex,
96  double width);
97 
100  virtual void setSegmentStartColor( unsigned int segmentIndex, float r,
101  float g, float b, float a );
102 
105  virtual void setSegmentEndColor( unsigned int segmentIndex, float r,
106  float g, float b, float a );
107 
109  virtual void setStopOnTerrainIntersection(bool enabled);
110 
112  virtual void setOcclusionEnabled(bool enabled);
113 
115  virtual void setPickable( bool pickable );
116 
119  virtual void setVisible(bool isVisible);
120 
123  virtual void setIsSupportModel(bool isSupport);
124 
126  virtual void setModelDefinition( const std::string& str );
127 
129 
130  //@name Local Interface
132 
134  virtual void addToScene( const DtUniqueID& sceneObjectId, DtModelSetId modelSet,
135  int visualizerType );
136 
138  virtual void removeFromScene();
139 
141  virtual void update();
143 
144 
145  protected:
146 
148  virtual void needsUpdate();
149 
150  protected:
153 
154  boost::signalslib::connection mySignalPostUpdateConnection;
155  };
156 }
157 
bool myNeedsUpdate
Definition: DtOsg3DSegmentedLineModel.h:152
Contains declaration of Dt3DSegmentedLineModel.
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
OSG implementation of distributed attachable segmented line model.
Definition: DtOsg3DSegmentedLineModel.h:29
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: DtOsg3DSegmentedLineModel.h:154
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
Contains makVrv::DtUniqueID type.
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
DtOsgSceneConnector * mySceneConnector
Definition: DtOsg3DSegmentedLineModel.h:151
DtModelSetId
Definition: DtModelSetEnums.h:19
The model interface for remote graphics segmented lines.
Definition: Dt3DSegmentedLineModel.h:18

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)