All Classes Namespaces Functions Variables Typedefs Enumerations Pages
frustum.h
1 /*
2  OpenMBV - Open Multi Body Viewer.
3  Copyright (C) 2009 Markus Friedrich
4 
5  This program is free software; you can redistribute it and/or modify
6  it under the terms of the GNU General Public License as published by
7  the Free Software Foundation; either version 2 of the License, or
8  (at your option) any later version.
9 
10  This program 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
13  GNU General Public License for more details.
14 
15  You should have received a copy of the GNU General Public License
16  along with this program; if not, write to the Free Software
17  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 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, topRadius, height, innerBaseRadius, innerTopRadius;
32  Frustum();
33  ~Frustum() {}
34  public:
35 
37  std::string getClassName() { return "Frustum"; }
38 
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  virtual void initializeUsingXML(xercesc::DOMElement *element);
76 
77  xercesc::DOMElement* writeXMLFile(xercesc::DOMNode *parent);
78  };
79 
80 }
81 
82 #endif
void setInnerBaseRadius(double radius)
Definition: frustum.h:61
Abstract base class for all rigid bodies.
Definition: rigidbody.h:70
Definition: objectfactory.h:40
std::string getClassName()
Definition: frustum.h:37
virtual void initializeUsingXML(xercesc::DOMElement *element)
Definition: frustum.cc:51
void setTopRadius(double radius)
Definition: frustum.h:47
void setInnerTopRadius(double radius)
Definition: frustum.h:68
void setHeight(double height_)
Definition: frustum.h:54
Definition: frustum.h:28
void setBaseRadius(double radius)
Definition: frustum.h:40

Impressum / Disclaimer / Datenschutz Generated by doxygen 1.8.5 Valid HTML