VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtRectangularPyramidModelInstance.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2023 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvOsg/vrvOsg.h>
13 
15 
16 #include <osg/MatrixTransform>
17 #include <osg/Geometry>
18 #include <osg/Group>
19 
20 namespace makVrv
21 {
22  class DtDe;
23  class DtModelInstance;
24  class DtModelDefinition;
25  class DtOsgSceneConnector;
26 
31  {
32  public:
33 
38 
42 
43 
46 
49  virtual void addToConnector( makVrv::DtOsgSceneConnector* connector );
50 
53  virtual bool removeFromConnector( makVrv::DtOsgSceneConnector* connector );
54 
57  virtual bool realize(const makVrv::DtModelDefinition& definition );
58 
61  virtual void setVisible( bool isVisible ) {}
62 
64 
67 
73  virtual void setRelativePosition( double x, double y, double z );
74 
80  virtual void setOrientation( double yaw, double pitch, double roll );
81 
84  virtual void setSize( double slantHeight );
85 
92  virtual void setColor( float r, float g, float b, float a );
93 
100  void setInnerColor( float r, float g, float b, float a );
101 
108  void setOuterColor( float r, float g, float b, float a );
109 
112  virtual void setXHalfAngle( double xHalfAngle );
113 
116  virtual void setYHalfAngle( double yHalfAngle );
117 
122  virtual void setShowLines( bool showLines );
123 
128  virtual void setLinesHaveAlpha( bool lineAlpha );
129 
131 
133  void update();
134 
135  protected:
136 
139 
143  virtual void updateGeometry();
144 
148  virtual void updateGeometryColors();
149 
152  virtual void updateGeometryWireframeState();
153 
157  virtual void updateGeometryTransforms();
158 
160 
161  protected:
162 
167  static void clampAngle( double& val, double minAngle, double maxAngle );
168 
169  protected:
170 
177 
182 
183  osg::Vec3d myRelativePosition;
185  osg::Vec3d myDimensions;
186  double myXHalfAngle;
187  double myYHalfAngle;
188 
190  osg::Vec4 myInnerColor;
191  osg::Vec4 myOuterColor;
192 
195 
196  };
197 
198 }
osg::Quat myRelativeOrientation
Definition: DtRectangularPyramidModelInstance.h:184
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
osg::Vec4 myOuterColor
Definition: DtRectangularPyramidModelInstance.h:191
bool myDirtyGeometry
Definition: DtRectangularPyramidModelInstance.h:178
osg::Vec3d myRelativePosition
Definition: DtRectangularPyramidModelInstance.h:183
osg::ref_ptr< osg::Geode > myBackGeode
Definition: DtRectangularPyramidModelInstance.h:176
A model definition Interaction any number of named parameters, and also can be used to store cached d...
Definition: DtModelDefinition.h:42
bool myDirtyTransforms
Definition: DtRectangularPyramidModelInstance.h:180
Contains makVrv::DtOsgModelInstance class.
DtOsgSceneConnector is used by models to create an OSG position/orientation transform so that it can ...
Definition: DtOsgSceneConnector.h:77
bool myDirtyColors
Definition: DtRectangularPyramidModelInstance.h:179
The base class for simple OSG based model instances. This call can&#39;t be instantiated itself...
Definition: DtOsgModelInstance.h:77
bool myShowLines
Definition: DtRectangularPyramidModelInstance.h:193
osg::Vec4 myInnerColor
Definition: DtRectangularPyramidModelInstance.h:190
double myXHalfAngle
Definition: DtRectangularPyramidModelInstance.h:186
osg::ref_ptr< osg::Geode > myFrontGeode
Definition: DtRectangularPyramidModelInstance.h:175
Model instance to draw a rectangular pyramid.
Definition: DtRectangularPyramidModelInstance.h:29
osg::ref_ptr< osg::Geometry > myGeometry
Definition: DtRectangularPyramidModelInstance.h:174
osg::ref_ptr< osg::Group > myBlendNode
Definition: DtRectangularPyramidModelInstance.h:172
Contains DLL export macros.
int myCenterVertexIndex
Definition: DtRectangularPyramidModelInstance.h:189
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:72
bool myLineAlphaFlag
Definition: DtRectangularPyramidModelInstance.h:194
osg::ref_ptr< osg::Group > myWireNode
Definition: DtRectangularPyramidModelInstance.h:173
bool myDirtyWireframe
Definition: DtRectangularPyramidModelInstance.h:181
osg::ref_ptr< osg::MatrixTransform > myTransform
Definition: DtRectangularPyramidModelInstance.h:171
virtual void setVisible(bool isVisible)
no-op
Definition: DtRectangularPyramidModelInstance.h:61
double myYHalfAngle
Definition: DtRectangularPyramidModelInstance.h:187
osg::Vec3d myDimensions
Definition: DtRectangularPyramidModelInstance.h:185

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)