VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtOsgOverlayEllipseArcModelInstance.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2020 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 #include <vrvOsg/vrvOsg.h>
13 #include <matrix/vlDcm.h>
14 #include <osg/Vec2>
16 
17 #include <osg/Texture>
18 
19 namespace makVrv
20 {
21 
22  class DtDe;
23  class DtPolygon;
24  class DtChannelManager;
25  class DtChannel;
26 
30  {
31  public:
32 
35 
38 
40  virtual void setModelSet( int modelSet );
41 
42  public:
43 
45  // @{
46  virtual void setMaxAngleSegment( double angleSegmentMax );
47  virtual double maxAngleSegment() const;
48  // @}
49 
51  // @{
52  virtual void setGeometry(double angle, double sweep);
53  virtual bool getGeometry(double& angle, double& sweep) const;
54  // @}
55 
57  // @{
58  virtual void setDimensions(float x, float y);
59  virtual bool getDimensions(float& x, float& y) const;
60  // @}
61 
63  // @{
64  virtual void setPosition(const DtVector& position);
65  DtVector position() const;
66  // @}
67 
69  // @{
70  virtual void setRelativePosition(const DtVector& pos);
71  virtual void setRelativePosition(double x, double y, double z);
72  virtual DtVector relativePosition() const;
73  // @}
74 
76  virtual void setOrientation(const DtTaitBryan& orientation);
77 
79  // @{
80  virtual void setScale(float scale);
81  virtual float scale() const;
82  // @}
83 
86  // @{
87  virtual void setInsideColor(float r, float g, float b, float a);
88  virtual bool getInsideColor(float& r, float& g, float& b, float& a) const;
89  // @}
90 
93  // @{
94  virtual void setOutsideColor(float r, float g, float b, float a);
95  virtual bool getOutsideColor(float& r, float& g, float& b, float& a) const;
96  // @}
97 
101  // @{
102  virtual void setCentralVertexColor(float r, float g, float b, float a);
103  virtual bool getCentralVertexColor(float& r, float& g, float& b, float& a) const;
104  // @}
105 
107  // @{
108  virtual void setVisible(bool isVisible);
109  virtual bool isVisible() const;
111 
113  // @{
114  virtual void setSolidFillCenter(bool);
115  virtual bool isSolidFillCenter() const;
116  // @}
117 
119  // @{
120  virtual void setFill(bool);
121  virtual bool isFill() const;
122  // @}
123 
127  // @{
128  virtual void setOutlineWidth(float);
129  virtual float outlineWidth() const;
130  // @}
131 
133  // @{
134  virtual void setEventsEnabled(bool, unsigned long long userData);
135  virtual bool eventsEnabled() const;
136  // @}
137 
139  // @{
140  virtual void setFillPattern(const std::vector<unsigned int>& pattern);
141  // @}
142 
147  // @{
148  virtual void setOutline(bool);
149  virtual bool isOutline() const;
150  // @}
151 
153  virtual void setColor(float r, float g, float b, float a);
154 
159  // @{
160  virtual void setGroup(int);
161  virtual int group() const;
162  // @}
163 
169  virtual void setTexturePath(const std::string& texturePath);
170 
172  // @{
173  virtual void setOutlineTexture(const std::string& texturePath);
174  virtual void setOutlineTexture(osg::Texture* texture);
175  // @}
176 
178  // @{
179  virtual void setStipplePattern(unsigned int stipplePattern);
180  virtual unsigned int stipplePattern() const;
181  // @}
182 
184  virtual bool realize(DtModelDefinition& definition);
185 
187  virtual void updateVertices();
188 
189  protected:
190 
192  virtual void createPolygonIfNecessary();
193 
195  virtual void channelUpdated(const DtTacticalGraphicModelUpdaterManager::ChannelUpdateData&);
196 
198  virtual void updateColors();
199 
201  virtual void set3DVertexPosition( unsigned int index, double x, double y, double z );
202 
204  virtual void set3DCentroidPosition( double x, double y, double z );
205 
207  virtual void set3DPositionAux( double x, double y, double z, float tempPackedCoords[4] );
208 
209  protected:
210 
211  unsigned int myModelSet;
214 
216  osg::Vec4 myInnerColor;
217  osg::Vec4 myOuterColor;
218  osg::Vec2 myDimensions;
219  osg::Vec3d myRelativePosition;
220  osg::Vec3d myPosition;
221  float myScale;
222 
223  double myAngle;
224  double mySweep;
225 
228 
229  float myWidth;
231  unsigned long long myUserData;
232 
233  bool myVisible;
234  bool myOutline;
237  unsigned int myStipplePattern;
239  int myGroup;
240 
242  };
243 
247  {
248  public:
251  static DtOverlayEllipseArcModelInstanceCreator& instance(DtDe& de);
252 
254  static void registerInstance(DtDe& de,
256 
258  virtual DtOsgOverlayEllipseArcModelInstance* create(DtDe& de);
259  };
260 
261 }
double mySweep
Definition: DtOsgOverlayEllipseArcModelInstance.h:224
Diagonal crossing liens.
Definition: DtTacticalGraphicUtilities.h:93
int myGroup
Definition: DtOsgOverlayEllipseArcModelInstance.h:239
float myScale
Definition: DtOsgOverlayEllipseArcModelInstance.h:221
bool myVisible
Definition: DtOsgOverlayEllipseArcModelInstance.h:233
Virtual base class.
Definition: DtVirtualBaseClass.h:19
bool myFillPolygon
Definition: DtOsgOverlayEllipseArcModelInstance.h:227
osg::Vec4 myInnerColor
Definition: DtOsgOverlayEllipseArcModelInstance.h:216
vrvGraphics implementation of a 2D ellipsoid arc
Definition: DtOsgOverlayEllipseArcModelInstance.h:29
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
bool myPositionSetFlag
Definition: DtOsgOverlayEllipseArcModelInstance.h:226
double myMaxAngleSegment
Definition: DtOsgOverlayEllipseArcModelInstance.h:213
bool myOutline
Definition: DtOsgOverlayEllipseArcModelInstance.h:234
osg::ref_ptr< osg::Texture > myOutlineTexture
Definition: DtOsgOverlayEllipseArcModelInstance.h:241
unsigned int myModelSet
Definition: DtOsgOverlayEllipseArcModelInstance.h:211
Contains makVrv:DtTacticalGraphicModelUpdaterManager.
A Creator for the makVrv::DtOverlayEllipseArcModelInstance class.
Definition: DtOsgOverlayEllipseArcModelInstance.h:246
unsigned int myStipplePattern
Definition: DtOsgOverlayEllipseArcModelInstance.h:237
unsigned long long myUserData
Definition: DtOsgOverlayEllipseArcModelInstance.h:231
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.
osg::Vec3d myRelativePosition
Definition: DtOsgOverlayEllipseArcModelInstance.h:219
osg::Vec2 myDimensions
Definition: DtOsgOverlayEllipseArcModelInstance.h:218
Structure used to supply data to callback.
Definition: DtTacticalGraphicModelUpdaterManager.h:35
The base class for simple OSG based model instances.
Definition: DtOsgModelInstance.h:76
DT_DLL_vrfutil double angle(double vec1[3], double vec2[3])
DtPolygon * myOutlinePolygon
Definition: DtOsgOverlayEllipseArcModelInstance.h:236
float myWidth
Definition: DtOsgOverlayEllipseArcModelInstance.h:229
A variable vertex 2D polygon.
Definition: DtPolygon.h:19
osg::Vec4 myOuterColor
Definition: DtOsgOverlayEllipseArcModelInstance.h:217
DtDcm myOrientationDcm
Definition: DtOsgOverlayEllipseArcModelInstance.h:212
double myAngle
Definition: DtOsgOverlayEllipseArcModelInstance.h:223
DtPolygon * myPolygon
Definition: DtOsgOverlayEllipseArcModelInstance.h:235
Contains DLL export macros.
osg::Vec3d myPosition
Definition: DtOsgOverlayEllipseArcModelInstance.h:220
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
bool myEventsEnabled
Definition: DtOsgOverlayEllipseArcModelInstance.h:230
bool mySolidFillCenter
Definition: DtOsgOverlayEllipseArcModelInstance.h:238
osg::Vec4 myCentralVertexColor
Definition: DtOsgOverlayEllipseArcModelInstance.h:215

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)