All Classes Namespaces Functions Variables Typedefs Enumerations Pages
rotation.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_ROTATION_H_
21 #define _OPENMBV_ROTATION_H_
22 
23 #include <openmbvcppinterface/rigidbody.h>
24 #include <openmbvcppinterface/polygonpoint.h>
25 #include <vector>
26 
27 namespace OpenMBV {
28 
30  class Rotation : public RigidBody {
31  friend class ObjectFactory;
32  protected:
33  double startAngle, endAngle;
34  boost::shared_ptr<std::vector<boost::shared_ptr<PolygonPoint> > > contour;
35  Rotation();
36  ~Rotation();
37  public:
39  std::string getClassName() { return "Rotation"; }
40 
42  void setStartAngle(double angle) {
43  startAngle=angle;
44  }
45 
46  double getStartAngle() { return startAngle; }
47 
49  void setEndAngle(double angle) {
50  endAngle=angle;
51  }
52 
53  double getEndAngle() { return endAngle; }
54 
56  void setAngle(double startAngle_, double endAngle_) {
57  startAngle=startAngle_;
58  endAngle=endAngle_;
59  }
60 
64  void setContour(const boost::shared_ptr<std::vector<boost::shared_ptr<PolygonPoint> > > &contour_) {
65  contour=contour_;
66  }
67 
68  boost::shared_ptr<std::vector<boost::shared_ptr<PolygonPoint> > > getContour() { return contour; }
69 
71  virtual void initializeUsingXML(xercesc::DOMElement *element);
72 
73  xercesc::DOMElement* writeXMLFile(xercesc::DOMNode *parent);
74 
75  };
76 
77 }
78 
79 #endif
void setStartAngle(double angle)
Definition: rotation.h:42
virtual void initializeUsingXML(xercesc::DOMElement *element)
Definition: rotation.cc:50
Abstract base class for all rigid bodies.
Definition: rigidbody.h:70
Definition: objectfactory.h:40
Definition: rotation.h:30
std::string getClassName()
Definition: rotation.h:39
void setEndAngle(double angle)
Definition: rotation.h:49
void setContour(const boost::shared_ptr< std::vector< boost::shared_ptr< PolygonPoint > > > &contour_)
Definition: rotation.h:64
void setAngle(double startAngle_, double endAngle_)
Definition: rotation.h:56

Impressum / Disclaimer / Datenschutz Generated by doxygen 1.8.5 Valid HTML