VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtOsgOverlayDirectionLineModelInstance.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2021 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvOsg/vrvOsg.h>
14 
16 #include <vrvCore/DtObserverMode.h>
18 
19 namespace makVrv
20 {
21  class DtLineSegment;
22 
25 
28 
30  template <>
31  inline const char* creatorTypeName<DtOsgOverlayDirectionLineModelInstance>(void) { return "DtOsgOverlayDirectionLineModelInstanceCreator"; }
32 
36  : public DtOsgModelInstance
37  {
39 
40  public:
41 
44 
47 
50  const DtOsgOverlayDirectionLineModelInstance &other) = delete;
51 
54  const DtOsgOverlayDirectionLineModelInstance &other) = delete;
55 
56  public:
57 
59  virtual void setVisible(bool);
60 
62  virtual void setModelSet( int modelSet );
63 
70  virtual void addPoint(const DtVector& position, int index = -1);
71 
73  virtual void setPosition(int index, const DtVector& position);
74 
76  virtual void setStipplePattern(unsigned int stipple);
77 
79  virtual void setColor(float r, float g, float b, float a);
80 
82  virtual void setWidth(float width);
83 
85  virtual void setEventsEnabled(bool, unsigned long long userData);
86 
88  virtual const std::vector<DtVector>& points() const;
89 
91  bool eventsEnabled() const;
92 
94  virtual void setPositionOffset(const DtVector&);
95 
97  virtual void setDirection( int index, const DtVector& direction );
98 
101  virtual void setLength( int index, float length );
102 
104  virtual void setAltitudeBasedConfigurations(
106 
111  virtual void clearAltitudeBasedConfigurations();
112 
122  virtual void setIsUseForcedAltitudeEnabled(bool enabled);
123 
128  virtual void setForcedAltitudeToUse(double minimumAltitudeForUse);
129 
132  virtual void setLodOutAltitude(double lodOutAltitude);
133 
135  virtual void setIsLodOutAltitudeEnabled(bool isLodOutAltitudeEnabled);
136 
138  virtual void update();
139 
143  virtual void setGroup( int );
144 
147  virtual bool realize(DtModelDefinition& definition);
148 
149 
150  protected:
154 
156  virtual void createLineIfNecessary();
157 
159  virtual void updateAttributes();
160 
162  virtual void updateGeometry();
163 
165  virtual void updateAltitudeSpecificConfigurations();
166 
168  virtual void set3DVertexPosition( unsigned int index, double x, double y, double z );
169 
170  protected:
171 
173  {
175  : direction()
176  {
177  }
178 
180  };
181 
182  std::vector<DtVector> myPoints;
183  DirectionAttributes myDirections[2];
187 
188  osg::Vec4 myColor;
189  float myWidth;
190  unsigned int myStipplePattern;
191 
195 
198  unsigned long long myUserData;
199 
201  int myGroup;
202 
205  };
206 }
207 
208 
Model instance to draw a 2D line with styleable segments.
Definition: DtOsgOverlayDirectionLineModelInstance.h:35
std::vector< DtDirectionLineAltitudeBasedConfiguration > DtDirectionLineAltitudeBasedConfigurationCollection
A collection of altitude-based configurations.
Definition: DtOverlayDirectionLineModel.h:87
ModelSets
Definition: DtObserverMode.h:32
DtLineSegment * myLine
Definition: DtOsgOverlayDirectionLineModelInstance.h:186
DtVector myPositionOffset
Definition: DtOsgOverlayDirectionLineModelInstance.h:200
DtVector direction
Definition: DtOsgOverlayDirectionLineModelInstance.h:179
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
double myLodOutAltitude
Definition: DtOsgOverlayDirectionLineModelInstance.h:203
bool myIsLodOutAltitudeEnabled
Definition: DtOsgOverlayDirectionLineModelInstance.h:204
osg::Vec4 myColor
Definition: DtOsgOverlayDirectionLineModelInstance.h:188
bool myVisibleFlag
Definition: DtOsgOverlayDirectionLineModelInstance.h:197
bool myAttributesDirty
Definition: DtOsgOverlayDirectionLineModelInstance.h:193
A model definition Interaction any number of named parameters, and also can be used to store cached d...
Definition: DtModelDefinition.h:38
Contains makVrv::DtOsgModelInstance class.
std::vector< DtVector > myPoints
Definition: DtOsgOverlayDirectionLineModelInstance.h:182
Variadic templated creator class for defining a DtVirtualBaseClass creator that is automatically regi...
Definition: DtVirtualBaseClassCreator.h:22
bool myEventsEnabled
Definition: DtOsgOverlayDirectionLineModelInstance.h:196
Contains vrvCore::DtObserverMode class.
float myWidth
Definition: DtOsgOverlayDirectionLineModelInstance.h:189
A class which represents a single line segment.
Definition: DtLineSegment.h:22
The base class for simple OSG based model instances. This call can&#39;t be instantiated itself...
Definition: DtOsgModelInstance.h:77
DirectionAttributes()
Definition: DtOsgOverlayDirectionLineModelInstance.h:174
const char * creatorTypeName< DtOsgOverlayDirectionLineModelInstance >(void)
template specialization for the creator (pass the class being created to the creatorTypeName template...
Definition: DtOsgOverlayDirectionLineModelInstance.h:31
DtObserverMode::ModelSets myModelSet
Definition: DtOsgOverlayDirectionLineModelInstance.h:185
unsigned long long myUserData
Definition: DtOsgOverlayDirectionLineModelInstance.h:198
bool myGeometryDirty
Definition: DtOsgOverlayDirectionLineModelInstance.h:192
Contains declaration of DtOverlayDirectionLineModel, which draws direction lines in an overlay layer ...
DtOverlayDirectionLineModel::DtDirectionLineAltitudeBasedConfigurationCollection myAltitudeSpecificConfigurations
Definition: DtOsgOverlayDirectionLineModelInstance.h:184
unsigned int myStipplePattern
Definition: DtOsgOverlayDirectionLineModelInstance.h:190
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:70
Definition: DtOsgOverlayDirectionLineModelInstance.h:172
friend DtOsgOverlayDirectionLineModelInstanceCreator
Definition: DtOsgOverlayDirectionLineModelInstance.h:38
int myGroup
Definition: DtOsgOverlayDirectionLineModelInstance.h:201
DtVirtualBaseClassCreator< DtOsgOverlayDirectionLineModelInstance > DtOsgOverlayDirectionLineModelInstanceCreator
creator
Definition: DtOsgOverlayDirectionLineModelInstance.h:24
bool myAltitudeSpecificConfigurationsDirty
Definition: DtOsgOverlayDirectionLineModelInstance.h:194

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)