VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtOsgExtrudedLineModel.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2023 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 #pragma once
6 
10 
14 
15 namespace makVrv
16 {
17  class DtChannelConfiguration;
18  class DtOsgSceneConnector;
19  class DtChannelManager;
20  class DtChannel;
21  class DtExtrudedLineModelInstance;
22  class DtModelDefinition;
23 
27  {
28  public:
31 
33  virtual ~DtOsgExtrudedLineModel();
34 
35  // @name Inherited DtExtrudedLineModel methods
36  // @{
37 
39  virtual void removePosition(int index);
40 
42  virtual void setPosition(int index, const DtVector& position);
43 
46  virtual void setPositions(const std::vector<DtVector>&, const DtVector& origin);
47 
49  virtual void setOrientation( int vtx, const DtTaitBryan& orientation );
50 
52  virtual void setStipplePattern(unsigned int stipple, int repeatFactor);
53 
55  virtual void setSegmentStipplePattern(int, unsigned int, int repeatFactor);
56 
58  virtual void setLineStyle(int);
59 
61  virtual void setArrowStyle(int);
62 
64  virtual const std::vector<DtVector>& points() const;
65 
67  virtual void setColor(float r, float g, float b, float a);
68 
70  virtual void setWidth(float width);
71 
73  virtual void setScribeWidth(float width);
74 
77  virtual void setSolid(bool solid);
78 
80  virtual void setPickable(bool);
81 
84  virtual void setStopOnTerrainIntersection(bool enabled);
85 
87  virtual void setOcclusionEnabled(bool enabled);
88 
90  virtual void setVisible(bool);
91 
98 
100  virtual void setUpExtent(float);
101 
103  virtual void setDownExtent(float);
104 
106  virtual void setLeftExtent(float);
107 
109  virtual void setRightExtent(float);
111 
114  virtual void setHeight(float);
115 
117  virtual void setDimensions(float width, float height);
118 
121  virtual void setLineWidth(float width);
122 
124  virtual void setScribed(bool b);
125 
128  virtual void setScribeColor(float r, float g, float b, float a);
129 
131  virtual void setSegmentStartArrow(int, bool);
132 
134  virtual void setSegmentEndArrow(int, bool);
135 
137  virtual void setArrowSize(double);
138 
140  virtual void setHeightLinesEnabled(bool enabled) override;
141 
143  virtual void setHeightLinesColor(float r, float g, float b, float a) override;
144 
146  virtual void setHeightLinesSpacing(float spacing) override;
147 
149  virtual void setOrigin(const DtVector& v);
150 
152  virtual const DtVector& origin() const;
153 
156  virtual bool arePointsOffsetFromOrigin() const;
157 
159  virtual void setModelDefinition( const std::string& str );
160 
161  // @}
162 
163  protected:
164 
165  // @name Inherited DtModel methods
166  // @{
167 
169  virtual void addToScene( const DtUniqueID& sceneObjectId, DtModelSetId modelSet, int visualizerType );
170 
172  virtual void removeFromScene();
173 
177  virtual void setIsSupportModel(bool isSupport);
178 
179  // @}
180 
184  virtual void moveInstancesFromChannelSpecific();
185 
189  virtual void moveInstancesToChannelSpecific();
190 
192  virtual void update();
193 
195  virtual void needsUpdate();
196 
198  virtual void setSegmentColor(int, float r, float g, float b, float a);
199 
202  virtual void setFixedWidthSizing(bool);
203 
206  virtual void slot_channelCreated( DtChannel* channel);
207 
209  virtual void slot_channelDestroyed( DtChannelManager* channelManager, DtChannel* channel);
210 
213  virtual void slot_channelConfigurationModified(const std::string& deName,
214  const std::string& winName, const std::string& oldChannelName,
215  const DtChannelConfiguration& config);
216 
218  virtual void setupModelInstance(DtModelInstance*, const DtModelDefinition*);
219 
221  virtual void setupInstanceWithCurrentValues(DtExtrudedLineModelInstance*,
222  const std::vector<DtVector>& points);
223 
225  virtual bool hasArrows() const;
226 
227  virtual void disconnectChannelSignals(void);
228 
229  protected:
236 
240 
242  {
245  };
246 
247  typedef std::map<DtChannel*, ChannelInstance> ChannelInstances;
249 
250  std::string myModelDefinition;
251 
252  float myColor[4];
253  float myScribeColor[4];
254  bool mySolid;
256 
257  float myWidth;
258  float myHeight;
259  float myLineWidth;
262  float myUpExtent;
264  double myArrowSize;
265  bool myScribed;
266 
268 
269  unsigned int myStipplePattern;
271 
272  std::vector<DtExtrudedLineModelInstance::SegmentInformation> mySegmentInformation;
274 
277 
279 
281  float myHeightLinesColor[4];
283 
284  boost::signalslib::connection mySignalChannelCreatedConnection;
285  boost::signalslib::connection mySignalChannelToBeDestroyedConnection;
286  boost::signalslib::connection mySignalChannelConfigurationModifiedConnection;
287 
288  boost::signalslib::connection mySignalPostUpdateConnection;
289 
290  boost::signalslib::connection myModelInstanceConnection;
291  };
292 }
bool myFixedWidthSizing
Definition: DtOsgExtrudedLineModel.h:235
The base class for all model instances.
Definition: DtModelInstance.h:41
Definition: DtOsgExtrudedLineModel.h:241
std::map< DtChannel *, ChannelInstance > ChannelInstances
Definition: DtOsgExtrudedLineModel.h:247
float myUpExtent
Definition: DtOsgExtrudedLineModel.h:262
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
bool myOriginSetByCode
Definition: DtOsgExtrudedLineModel.h:275
voidpf uLong int origin
Definition: ioapi.h:42
DtVector myOrigin
Definition: DtOsgExtrudedLineModel.h:231
bool myIsSupportModel
Definition: DtOsgExtrudedLineModel.h:276
Contains makVrv::DtExtrudedLineModelInstance class.
bool myChannelSpecificMode
Set to true if displaying model instances on a per channel basis. Default is false.
Definition: DtOsgExtrudedLineModel.h:239
bool myNeedsUpdate
Definition: DtOsgExtrudedLineModel.h:232
DtExtrudedLineModelInstance * modelInstance
Definition: DtOsgExtrudedLineModel.h:243
float myDownExtent
Definition: DtOsgExtrudedLineModel.h:263
std::vector< DtExtrudedLineModelInstance::SegmentInformation > mySegmentInformation
Definition: DtOsgExtrudedLineModel.h:272
unsigned int myStipplePattern
Definition: DtOsgExtrudedLineModel.h:269
Contains declaration of DtExtrudedLineModel, which draws lines as geometry.
LineStyle
Default line Styles.
Definition: DtTacticalGraphicUtilities.h:28
A model definition Interaction any number of named parameters, and also can be used to store cached d...
Definition: DtModelDefinition.h:42
DtOsgSceneConnector is used by models to create an OSG position/orientation transform so that it can ...
Definition: DtOsgSceneConnector.h:77
boost::signalslib::connection mySignalChannelCreatedConnection
Definition: DtOsgExtrudedLineModel.h:284
float myLeftExtent
Definition: DtOsgExtrudedLineModel.h:260
The abstract Channel Class.
Definition: DtChannel.h:35
std::string myModelDefinition
Definition: DtOsgExtrudedLineModel.h:250
ChannelInstances myChannelInstances
Definition: DtOsgExtrudedLineModel.h:248
int myRepeatFactor
Definition: DtOsgExtrudedLineModel.h:270
bool myScribed
Definition: DtOsgExtrudedLineModel.h:265
boost::signalslib::connection mySignalChannelConfigurationModifiedConnection
Definition: DtOsgExtrudedLineModel.h:286
OSG implementation of 3D Extruded line.
Definition: DtOsgExtrudedLineModel.h:26
float myLineWidth
Definition: DtOsgExtrudedLineModel.h:259
float myScribeWidth
Definition: DtOsgExtrudedLineModel.h:278
bool mySolid
Definition: DtOsgExtrudedLineModel.h:254
boost::signalslib::connection mySignalPostUpdateConnection
Definition: DtOsgExtrudedLineModel.h:288
ArrowStyle
Definition: DtTacticalGraphicUtilities.h:46
vrvTacticalGraphicUtilities::LineStyle myLineStyle
Definition: DtOsgExtrudedLineModel.h:233
float myHeight
Definition: DtOsgExtrudedLineModel.h:258
bool myHeightLinesEnabled
Definition: DtOsgExtrudedLineModel.h:280
DtOsgSceneConnector * mySceneConnector
Definition: DtOsgExtrudedLineModel.h:230
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
Base class for handling DtChannels. Derived classes should override the tick() method and advance the...
Definition: DtChannelManager.h:32
double myArrowSize
Definition: DtOsgExtrudedLineModel.h:264
bool myOcclusionEnabled
Definition: DtOsgExtrudedLineModel.h:267
Configuration for a single channel Serialized and sent to remote displays as necessary to configure r...
Definition: DtChannelConfiguration.h:24
A prism controlled by control points.
Definition: DtExtrudedLineModelInstance.h:38
float myHeightLinesSpacing
Definition: DtOsgExtrudedLineModel.h:282
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
boost::signalslib::connection mySignalChannelToBeDestroyedConnection
Definition: DtOsgExtrudedLineModel.h:285
This class is a virtual class that all Extruded line models must implement.
Definition: DtExtrudedLineModel.h:19
DtModelSetId
Definition: DtModelSetEnums.h:19
float myWidth
Definition: DtOsgExtrudedLineModel.h:257
float myRightExtent
Definition: DtOsgExtrudedLineModel.h:261
bool myPickable
Definition: DtOsgExtrudedLineModel.h:255
DtOsgSceneConnector * sceneConnector
Definition: DtOsgExtrudedLineModel.h:244
bool myScribeColorSet
Definition: DtOsgExtrudedLineModel.h:273
vrvTacticalGraphicUtilities::ArrowStyle myArrowStyle
Definition: DtOsgExtrudedLineModel.h:234
boost::signalslib::connection myModelInstanceConnection
Definition: DtOsgExtrudedLineModel.h:290

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)