VR-Forces 4.1 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
include
vrvOsg
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
>
15
#include <
vrvOsg/DtOsgModelInstance.h
>
16
#include <osg/Geode>
17
#include <osg/MatrixTransform>
18
#include <osg/Drawable>
19
#include <osg/Material>
20
21
namespace
makVrv
22
{
25
class
DT_DLL_VRVOSG
DtCylinderModelInstance
:
public
DtOsgModelInstance
26
{
27
public
:
28
30
DtCylinderModelInstance
(
DtDe
& de);
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
98
bool
mySingleSided
;
99
};
100
103
class
DT_DLL_VRVOSG
DtCylinderModelInstanceCreator
:
public
DtModelInstanceCreator
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
118
DtCylinderModelInstanceCreator
();
119
};
120
}
121
Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (
www.mak.com
)