VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtArcModelInstance.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 
12 
13 #include <vrvOsg/vrvOsg.h>
15 
16 #include <osg/Vec2d>
17 #include <osg/Vec3d>
18 #include <osg/Vec4>
19 
21 
22 #include <matrix/vlDcm.h>
23 
24 namespace makVrv
25 {
26  class DtDe;
27  class DtSegmentedLine;
28 
55  {
56  public:
57 
60 
62  virtual ~DtArcModelInstance();
63 
65  virtual void setOverlay(unsigned int overlayId);
66 
84  virtual void setPosition(int vtx, const DtVector& position);
85 
89  virtual void setOrigin(const DtVector& position);
90  virtual DtVector origin() const;
92 
95  virtual void setOrientation(DtTaitBryan orientation);
96  virtual DtTaitBryan orientation() const;
98 
99 
103  virtual void setDimensions(double x, double y);
104  virtual bool getDimensions(double& x, double& y) const;
106 
110  virtual void setScale(float scale);
111  virtual float scale() const;
113 
117  virtual void setVisible(bool isVisible);
118  virtual bool isVisible() const;
120 
124  virtual void setMaxAngleSegment(double angleSegmentMax);
125  virtual double maxAngleSegment() const;
127 
131  virtual void setStartAngle(double startAngle);
132  virtual double startAngle() const;
134 
138  virtual void setEndAngle(double endAngle);
139  virtual double endAngle() const;
141 
145  virtual void setStipplePattern(unsigned int stipplePattern);
146  virtual unsigned int stipplePattern() const;
148 
153  virtual void setLineWidth(float width);
154  virtual float lineWidth() const;
156 
161  virtual void setColor(float r, float g, float b, float a);
162  virtual bool getColor(float& r, float& g, float& b, float& a) const;
164 
168  virtual void setEventsEnabled(bool, unsigned long long userData);
169  virtual bool eventsEnabled() const;
171 
178  virtual void setGroup(int groupNum);
179  virtual int group() const;
181 
182  virtual bool realize(DtModelDefinition& definition);
183 
184  virtual void update();
185 
186  protected:
187 
189  virtual void setArcVertex(unsigned int index,
190  double x, double y, double z) = 0;
191 
195  virtual double calculateHeight(const DtVector& heightVertex) const = 0;
196 
198  virtual void createArcIfNecessary();
199 
201  virtual void deleteArc();
202 
204  virtual void updateColors();
205 
206  private:
209 
212 
214  DtArcModelInstance &operator=(const DtArcModelInstance&);
215 
216  protected:
217 
218  std::vector<osg::Vec3d> myDefinedVertices;
219 
220  osg::Vec3d myPosition;
221  osg::Vec2d myDimensions;
222 
225 
226  bool myVisible;
228  float myScale;
229  osg::Vec4 myColor;
230  float myLineWidth;
231  unsigned int myStipplePattern;
232  double myStartAngle;
233  double myEndAngle;
234 
236 
237  int myGroup;
238  unsigned int myOverlay;
240  unsigned long long myUserData;
241  };
242 }
Interface for an Arc Model instance.
Definition: DtArcModelInstance.h:54
std::vector< osg::Vec3d > myDefinedVertices
Definition: DtArcModelInstance.h:218
float myLineWidth
Definition: DtArcModelInstance.h:230
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
double myStartAngle
Definition: DtArcModelInstance.h:232
float myScale
Definition: DtArcModelInstance.h:228
voidpf uLong int origin
Definition: ioapi.h:42
bool myEventsEnabled
Definition: DtArcModelInstance.h:239
DtSegmentedLine * myArc
Definition: DtArcModelInstance.h:235
osg::Vec2d myDimensions
Definition: DtArcModelInstance.h:221
A model definition Interaction any number of named parameters, and also can be used to store cached d...
Definition: DtModelDefinition.h:33
int myGroup
Definition: DtArcModelInstance.h:237
Contains makVrv::DtOsgModelInstance class.
unsigned long long myUserData
Definition: DtArcModelInstance.h:240
The base class for simple OSG based model instances.
Definition: DtOsgModelInstance.h:72
double myMaxAngleSegment
Definition: DtArcModelInstance.h:227
DtDcm myOrientationDcm
Definition: DtArcModelInstance.h:223
osg::Vec4 myColor
Definition: DtArcModelInstance.h:229
unsigned int myStipplePattern
Definition: DtArcModelInstance.h:231
double myEndAngle
Definition: DtArcModelInstance.h:233
DtTaitBryan myOrientationTaitBryan
Definition: DtArcModelInstance.h:224
osg::Vec3d myPosition
Definition: DtArcModelInstance.h:220
Contains DLL export macros.
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
A convex polygon drawn using lines.
Definition: DtSegmentedLine.h:24
Contains the makVrv::DtSegmentedLine class declaration.
unsigned int myOverlay
Definition: DtArcModelInstance.h:238
bool myVisible
Definition: DtArcModelInstance.h:226

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)