VR-Forces 5.0.2 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) 2019 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 setOrigin(const DtVector& v);
141 
143  virtual void setModelDefinition( const std::string& str );
144 
145  // @}
146 
147  protected:
148 
149  // @name Inherited DtModel methods
150  // @{
151 
153  virtual void addToScene( const DtUniqueID& sceneObjectId, int modelSet, int visualizerType );
154 
156  virtual void removeFromScene();
157 
161  virtual void setIsSupportModel(bool isSupport);
162 
163  // @}
164 
168  virtual void moveInstancesFromChannelSpecific();
169 
173  virtual void moveInstancesToChannelSpecific();
174 
176  virtual void update();
177 
179  virtual void needsUpdate();
180 
182  virtual void setSegmentColor(int, float r, float g, float b, float a);
183 
186  virtual void setFixedWidthSizing(bool);
187 
190  virtual void slot_channelCreated( DtChannel* channel);
191 
193  virtual void slot_channelDestroyed( DtChannelManager* channelManager, DtChannel* channel);
194 
197  virtual void slot_channelConfigurationModified(const std::string& deName,
198  const std::string& winName, const std::string& oldChannelName,
199  const DtChannelConfiguration& config);
200 
202  virtual void setupModelInstance(DtModelInstance*, DtModelDefinition*);
203 
205  virtual void setupInstanceWithCurrentValues(DtExtrudedLineModelInstance*,
206  const std::vector<DtVector>& points);
207 
209  virtual bool hasArrows() const;
210 
211  protected:
219 
223 
225  {
228  };
229 
230  typedef std::map<DtChannel*, ChannelInstance> ChannelInstances;
232 
233  std::string myModelDefinition;
234 
235  float myColor[4];
236  float myScribeColor[4];
237  bool mySolid;
239 
240  float myWidth;
241  float myHeight;
242  float myLineWidth;
245  float myUpExtent;
247  double myArrowSize;
248  bool myScribed;
249 
251 
252  unsigned int myStipplePattern;
254 
255  std::vector<DtExtrudedLineModelInstance::SegmentInformation> mySegmentInformation;
257 
260 
262  };
263 }
bool myFixedWidthSizing
Definition: DtOsgExtrudedLineModel.h:218
The base class for all model instances.
Definition: DtModelInstance.h:39
Definition: DtOsgExtrudedLineModel.h:224
std::map< DtChannel *, ChannelInstance > ChannelInstances
Definition: DtOsgExtrudedLineModel.h:230
float myUpExtent
Definition: DtOsgExtrudedLineModel.h:245
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
bool myOriginSetByCode
Definition: DtOsgExtrudedLineModel.h:258
voidpf uLong int origin
Definition: ioapi.h:42
DtVector myOrigin
Definition: DtOsgExtrudedLineModel.h:214
bool myIsSupportModel
Definition: DtOsgExtrudedLineModel.h:259
Contains makVrv::DtExtrudedLineModelInstance class.
bool myChannelSpecificMode
Set to true if displaying model instances on a per channel basis. Default is false.
Definition: DtOsgExtrudedLineModel.h:222
bool myNeedsUpdate
Definition: DtOsgExtrudedLineModel.h:215
DtExtrudedLineModelInstance * modelInstance
Definition: DtOsgExtrudedLineModel.h:226
float myDownExtent
Definition: DtOsgExtrudedLineModel.h:246
std::vector< DtExtrudedLineModelInstance::SegmentInformation > mySegmentInformation
Definition: DtOsgExtrudedLineModel.h:255
unsigned int myStipplePattern
Definition: DtOsgExtrudedLineModel.h:252
Contains declaration of DtExtrudedLineModel, which draws lines as geometry.
LineStyle
Default line Styles.
Definition: DtTacticalGraphicUtilities.h:26
A model definition Interaction any number of named parameters, and also can be used to store cached d...
Definition: DtModelDefinition.h:38
DtOsgSceneConnector is used by models to create an OSG position/orientation transform so that it can ...
Definition: DtOsgSceneConnector.h:76
float myLeftExtent
Definition: DtOsgExtrudedLineModel.h:243
The abstract Channel Class.
Definition: DtChannel.h:35
std::string myModelDefinition
Definition: DtOsgExtrudedLineModel.h:233
ChannelInstances myChannelInstances
Definition: DtOsgExtrudedLineModel.h:231
int myRepeatFactor
Definition: DtOsgExtrudedLineModel.h:253
bool myScribed
Definition: DtOsgExtrudedLineModel.h:248
OSG implementation of 3D Extruded line.
Definition: DtOsgExtrudedLineModel.h:26
float myLineWidth
Definition: DtOsgExtrudedLineModel.h:242
float myScribeWidth
Definition: DtOsgExtrudedLineModel.h:261
bool mySolid
Definition: DtOsgExtrudedLineModel.h:237
ArrowStyle
Definition: DtTacticalGraphicUtilities.h:43
vrvTacticalGraphicUtilities::LineStyle myLineStyle
Definition: DtOsgExtrudedLineModel.h:216
float myHeight
Definition: DtOsgExtrudedLineModel.h:241
DtOsgSceneConnector * mySceneConnector
Definition: DtOsgExtrudedLineModel.h:212
Base class for handling DtChannels. Derived classes should override the tick() method and advance the...
Definition: DtChannelManager.h:32
double myArrowSize
Definition: DtOsgExtrudedLineModel.h:247
bool myOcclusionEnabled
Definition: DtOsgExtrudedLineModel.h:250
Configuration for a single channel Serialized and sent to remote displays as necessary to configure r...
Definition: DtChannelConfiguration.h:26
A prism controlled by control points.
Definition: DtExtrudedLineModelInstance.h:35
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:70
This class is a virtual class that all Extruded line models must implement.
Definition: DtExtrudedLineModel.h:19
float myWidth
Definition: DtOsgExtrudedLineModel.h:240
float myRightExtent
Definition: DtOsgExtrudedLineModel.h:244
bool myPickable
Definition: DtOsgExtrudedLineModel.h:238
DtOsgSceneConnector * sceneConnector
Definition: DtOsgExtrudedLineModel.h:227
bool myScribeColorSet
Definition: DtOsgExtrudedLineModel.h:256
vrvTacticalGraphicUtilities::ArrowStyle myArrowStyle
Definition: DtOsgExtrudedLineModel.h:217
DtUniqueID myParentId
Definition: DtOsgExtrudedLineModel.h:213

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)