VR-Forces 4.1.1 Class Documentation
DtCylinderModelInstance.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2009 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 /******************************************************************************
6 ** $RCSfile: DtCylinderModelInstance.h,v $ $Revision: 1.0 $ $State: Exp $
7 ******************************************************************************/
8 
12 
13 #pragma once
14 #include <vrvOsg/vrvOsg.h>
16 #include <osg/Geode>
17 #include <osg/MatrixTransform>
18 #include <osg/Drawable>
19 #include <osg/Material>
20 
21 namespace makVrv
22 {
26  {
27  public:
28 
31 
33  virtual ~DtCylinderModelInstance();
34 
36  virtual void setDimensions(float length, float width, float height);
37 
39  virtual void dimensions(float& length, float& width, float& height);
40 
42  virtual void setColor(float r,float g,float b,float a);
43 
45  virtual void setColor(const osg::Vec4& color);
46 
48  const osg::Vec4& color() const;
49 
51  virtual void setLightingEnabled( bool enabled );
52 
55  virtual bool realize(DtModelDefinition& definition);
56 
58  virtual void setVisible(bool isVisible) {}
59 
60  protected:
61 
63  virtual void updateColors();
64 
66  virtual void updateTransform();
67 
69  void createBlendedGeodes();
70 
72  void createOpaqueGeode();
73 
75  void createSingleSidedBlendedGeode();
76 
77  protected:
78 
80  osg::Vec3 myDimensions;
81  osg::Vec4 myColor;
82 
83  osg::ref_ptr<osg::Drawable> myCylinderDrawable;
85  osg::ref_ptr<osg::Geode> myGeode;
87  osg::ref_ptr<osg::Geode> myBlendedGeode;
88 
90  osg::ref_ptr<osg::Geode> myFrontGeode;
92  osg::ref_ptr<osg::Geode> myBackGeode;
94  osg::ref_ptr<osg::MatrixTransform> myTransform;
96  osg::ref_ptr<osg::Material> myMaterial;
97 
99  };
100 
104  {
105  public:
106 
108  static void registerCreator(DtDe& de);
109 
111  virtual ~DtCylinderModelInstanceCreator ();
112 
114  virtual DtModelInstance* create(DtDe& de);
115 
116  protected:
117 
119  };
120 }
121 

Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)