VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtEllipsoidModelInstance.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 #include <vrvOsg/vrvOsg.h>
14 
15 #include <osg/Geode>
16 #include <osg/MatrixTransform>
17 #include <osg/ShapeDrawable>
18 #include <osg/Material>
19 
20 namespace makVrv
21 {
25  {
26  public:
27 
30 
32  virtual ~DtEllipsoidModelInstance();
33 
34  private:
35 
38 
41 
44 
45  public:
46 
48  virtual void setDimensions(float length, float width, float height);
49 
51  virtual void dimensions(float& length, float& width, float& height);
52 
54  virtual void setColor(float r,float g,float b,float a);
55 
57  virtual void setColor(const osg::Vec4& color);
58 
60  const osg::Vec4& color() const;
61 
63  virtual void setLightingEnabled( bool enabled );
64 
68  virtual bool realize(DtModelDefinition& definition);
69 
71  virtual void setVisible(bool isVisible) {}
72 
73  protected:
74 
76  virtual void updateColors();
77 
79  virtual void updateTransform();
80 
82  void createBlendedGeodes();
83 
85  void createOpaqueGeode();
86 
88  void createSingleSidedBlendedGeode();
89 
90  protected:
91 
93  osg::Vec3 myDimensions;
94  osg::Vec4 myColor;
95 
109 
111  };
112 
116  {
117  public:
118 
120  static void registerCreator(DtDe& de);
121 
124 
126  virtual DtModelInstance* create(DtDe& de);
127 
128  protected:
129 
131  };
132 }
133 
The base class for all model instances.
Definition: DtModelInstance.h:39
virtual void setVisible(bool isVisible)
no-op
Definition: DtEllipsoidModelInstance.h:71
osg::ref_ptr< osg::ShapeDrawable > myEllipsoidDrawable
Definition: DtEllipsoidModelInstance.h:96
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
osg::ref_ptr< osg::Geode > myGeode
Geode to draw the geometry when no blending is required.
Definition: DtEllipsoidModelInstance.h:98
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::Vec4 myColor
Definition: DtEllipsoidModelInstance.h:94
The model instance to draw an ellipsoid.
Definition: DtEllipsoidModelInstance.h:24
The base class for simple OSG based model instances. This call can&#39;t be instantiated itself...
Definition: DtOsgModelInstance.h:77
The polymorphic creator for the DtModelInstance.
Definition: DtModelInstance.h:148
A Creator for the makVrv::DtEllipsoidModelInstance class.
Definition: DtEllipsoidModelInstance.h:115
osg::ref_ptr< osg::MatrixTransform > myTransform
My tranform.
Definition: DtEllipsoidModelInstance.h:106
osg::Vec3 myDimensions
The current parameter set.
Definition: DtEllipsoidModelInstance.h:93
osg::ref_ptr< osg::Geode > myBlendedGeode
Geode to draw the geometry when single-sided blending is required.
Definition: DtEllipsoidModelInstance.h:100
bool mySingleSided
Definition: DtEllipsoidModelInstance.h:110
osg::ref_ptr< osg::Material > myMaterial
My Material.
Definition: DtEllipsoidModelInstance.h:108
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
osg::ref_ptr< osg::Geode > myBackGeode
Geode to draw the geometry with frontface culling.
Definition: DtEllipsoidModelInstance.h:104
osg::ref_ptr< osg::Geode > myFrontGeode
Geode to draw the geometry with backface culling.
Definition: DtEllipsoidModelInstance.h:102

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)