VR-Forces 4.10 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 
64  private:
65 
68 
71 
73  DtArcModelInstance &operator=(const DtArcModelInstance&);
74 
75  public:
76 
78  virtual void setOverlay(unsigned int overlayId);
79 
97  virtual void setPosition(int vtx, const DtVector& position);
98 
102  virtual void setOrigin(const DtVector& position);
103  virtual DtVector origin() const;
105 
108  virtual void setOrientation(DtTaitBryan orientation);
109  virtual DtTaitBryan orientation() const;
111 
112 
116  virtual void setDimensions(double x, double y);
117  virtual bool getDimensions(double& x, double& y) const;
119 
123  virtual void setScale(float scale);
124  virtual float scale() const;
126 
130  virtual void setVisible(bool isVisible);
131  virtual bool isVisible() const;
133 
137  virtual void setMaxAngleSegment(double angleSegmentMax);
138  virtual double maxAngleSegment() const;
140 
144  virtual void setStartAngle(double startAngle);
145  virtual double startAngle() const;
147 
151  virtual void setEndAngle(double endAngle);
152  virtual double endAngle() const;
154 
158  virtual void setStipplePattern(unsigned int stipplePattern);
159  virtual unsigned int stipplePattern() const;
161 
166  virtual void setLineWidth(float width);
167  virtual float lineWidth() const;
169 
174  virtual void setColor(float r, float g, float b, float a);
175  virtual bool getColor(float& r, float& g, float& b, float& a) const;
177 
181  virtual void setEventsEnabled(bool, unsigned long long userData);
182  virtual bool eventsEnabled() const;
184 
191  virtual void setGroup(int groupNum);
192  virtual int group() const;
194 
199  virtual bool realize(DtModelDefinition& definition);
200 
201  virtual void update();
202 
203  protected:
204 
206  virtual void setArcVertex(unsigned int index,
207  double x, double y, double z) = 0;
208 
212  virtual double calculateHeight(const DtVector& heightVertex) const = 0;
213 
215  virtual void createArcIfNecessary();
216 
218  virtual void deleteArc();
219 
221  virtual void updateColors();
222 
223  protected:
224 
225  std::vector<osg::Vec3d> myDefinedVertices;
226 
227  osg::Vec3d myPosition;
228  osg::Vec2d myDimensions;
229 
232 
233  bool myVisible;
235  float myScale;
236  osg::Vec4 myColor;
237  float myLineWidth;
238  unsigned int myStipplePattern;
239  double myStartAngle;
240  double myEndAngle;
241 
243 
244  int myGroup;
245  unsigned int myOverlay;
247  unsigned long long myUserData;
248  };
249 }
Interface for an Arc Model instance.
Definition: DtArcModelInstance.h:54
std::vector< osg::Vec3d > myDefinedVertices
Definition: DtArcModelInstance.h:225
float myLineWidth
Definition: DtArcModelInstance.h:237
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
double myStartAngle
Definition: DtArcModelInstance.h:239
float myScale
Definition: DtArcModelInstance.h:235
voidpf uLong int origin
Definition: ioapi.h:42
bool myEventsEnabled
Definition: DtArcModelInstance.h:246
DtSegmentedLine * myArc
Definition: DtArcModelInstance.h:242
osg::Vec2d myDimensions
Definition: DtArcModelInstance.h:228
A model definition Interaction any number of named parameters, and also can be used to store cached d...
Definition: DtModelDefinition.h:38
int myGroup
Definition: DtArcModelInstance.h:244
Contains makVrv::DtOsgModelInstance class.
unsigned long long myUserData
Definition: DtArcModelInstance.h:247
The base class for simple OSG based model instances.
Definition: DtOsgModelInstance.h:76
double myMaxAngleSegment
Definition: DtArcModelInstance.h:234
DtDcm myOrientationDcm
Definition: DtArcModelInstance.h:230
osg::Vec4 myColor
Definition: DtArcModelInstance.h:236
unsigned int myStipplePattern
Definition: DtArcModelInstance.h:238
double myEndAngle
Definition: DtArcModelInstance.h:240
DtTaitBryan myOrientationTaitBryan
Definition: DtArcModelInstance.h:231
osg::Vec3d myPosition
Definition: DtArcModelInstance.h:227
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:245
bool myVisible
Definition: DtArcModelInstance.h:233

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)