openmbvcppinterface
3.1.0
OpenMBV C++ Interface
frustum.h
1
/*
2
OpenMBV - Open Multi Body Viewer.
3
Copyright (C) 2009 Markus Friedrich
4
5
This library is free software; you can redistribute it and/or
6
modify it under the terms of the GNU Lesser General Public
7
License as published by the Free Software Foundation; either
8
version 2.1 of the License, or (at your option) any later version.
9
10
This library is distributed in the hope that it will be useful,
11
but WITHOUT ANY WARRANTY; without even the implied warranty of
12
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
Lesser General Public License for more details.
14
15
You should have received a copy of the GNU Lesser General Public
16
License along with this library; if not, write to the Free Software
17
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18
*/
19
20
#ifndef _OPENMBV_FRUSTUM_H_
21
#define _OPENMBV_FRUSTUM_H_
22
23
#include <openmbvcppinterface/rigidbody.h>
24
25
namespace
OpenMBV {
26
28
class
Frustum
:
public
RigidBody
{
29
friend
class
ObjectFactory
;
30
protected
:
31
double
baseRadius{1};
32
double
topRadius{1};
33
double
height{2};
34
double
innerBaseRadius{0};
35
double
innerTopRadius{0};
36
Frustum
();
37
~Frustum
()
override
=
default
;
38
public
:
40
void
setBaseRadius
(
double
radius) {
41
baseRadius=radius;
42
}
43
44
double
getBaseRadius() {
return
baseRadius; }
45
47
void
setTopRadius
(
double
radius) {
48
topRadius=radius;
49
}
50
51
double
getTopRadius() {
return
topRadius; }
52
54
void
setHeight
(
double
height_) {
55
height=height_;
56
}
57
58
double
getHeight() {
return
height; }
59
61
void
setInnerBaseRadius
(
double
radius) {
62
innerBaseRadius=radius;
63
}
64
65
double
getInnerBaseRadius() {
return
innerBaseRadius; }
66
68
void
setInnerTopRadius
(
double
radius) {
69
innerTopRadius=radius;
70
}
71
72
double
getInnerTopRadius() {
return
innerTopRadius; }
73
75
void
initializeUsingXML
(xercesc::DOMElement *element)
override
;
76
77
xercesc::DOMElement* writeXMLFile(xercesc::DOMNode *parent)
override
;
78
};
79
80
}
81
82
#endif
OpenMBV::Frustum
Definition:
frustum.h:28
OpenMBV::Frustum::setInnerBaseRadius
void setInnerBaseRadius(double radius)
Definition:
frustum.h:61
OpenMBV::Frustum::setHeight
void setHeight(double height_)
Definition:
frustum.h:54
OpenMBV::Frustum::setInnerTopRadius
void setInnerTopRadius(double radius)
Definition:
frustum.h:68
OpenMBV::Frustum::setTopRadius
void setTopRadius(double radius)
Definition:
frustum.h:47
OpenMBV::Frustum::initializeUsingXML
void initializeUsingXML(xercesc::DOMElement *element) override
Definition:
frustum.cc:45
OpenMBV::Frustum::setBaseRadius
void setBaseRadius(double radius)
Definition:
frustum.h:40
OpenMBV::ObjectFactory
Definition:
objectfactory.h:38
OpenMBV::RigidBody
Abstract base class for all rigid bodies.
Definition:
rigidbody.h:68
openmbv
openmbvcppinterface
openmbvcppinterface
frustum.h
Generated with
Doxygen
using
Doxygen Awesome
on Wed Apr 30 2025