All Classes Namespaces Functions Variables Typedefs Enumerations Pages
cuboid.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_CUBOID_H_
21 #define _OPENMBV_CUBOID_H_
22 
23 #include <openmbvcppinterface/rigidbody.h>
24 
25 namespace OpenMBV {
26 
28  class Cuboid : public RigidBody {
29  friend class ObjectFactory;
30  protected:
31  std::vector<double> length;
32  Cuboid();
33  ~Cuboid() {}
34  public:
36  std::string getClassName() { return "Cuboid"; }
37 
39  void setLength(const std::vector<double>& length_) {
40  if(length_.size()!=3) throw std::runtime_error("the dimension does not match");
41  length=length_;
42  }
43 
44  std::vector<double> getLength() { return length; }
45 
47  void setLength(double x, double y, double z) {
48  std::vector<double> length_;
49  length_.push_back(x);
50  length_.push_back(y);
51  length_.push_back(z);
52  length=length_;
53  }
54 
56  virtual void initializeUsingXML(xercesc::DOMElement *element);
57 
58  xercesc::DOMElement* writeXMLFile(xercesc::DOMNode *parent);
59  };
60 
61 }
62 
63 #endif
Definition: cuboid.h:28
Abstract base class for all rigid bodies.
Definition: rigidbody.h:70
Definition: objectfactory.h:40
void setLength(const std::vector< double > &length_)
Definition: cuboid.h:39
std::string getClassName()
Definition: cuboid.h:36
virtual void initializeUsingXML(xercesc::DOMElement *element)
Definition: cuboid.cc:43
void setLength(double x, double y, double z)
Definition: cuboid.h:47

Impressum / Disclaimer / Datenschutz Generated by doxygen 1.8.5 Valid HTML