VR-Forces 4.3.1 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
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 Wed Jul 29 00:55:00 EDT 2015 from SVN revision 155257
Copyright © 2005-2015 VT MÄK. All Rights Reserved (
www.mak.com
)