openmbvcppinterface
3.1.0
OpenMBV C++ Interface
rotation.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_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{0};
34
double
endAngle;
35
std::shared_ptr<std::vector<std::shared_ptr<PolygonPoint> > > contour;
36
Rotation
();
37
~Rotation
()
override
;
38
public
:
40
void
setStartAngle
(
double
angle) {
41
startAngle=angle;
42
}
43
44
double
getStartAngle() {
return
startAngle; }
45
47
void
setEndAngle
(
double
angle) {
48
endAngle=angle;
49
}
50
51
double
getEndAngle() {
return
endAngle; }
52
54
void
setAngle
(
double
startAngle_,
double
endAngle_) {
55
startAngle=startAngle_;
56
endAngle=endAngle_;
57
}
58
62
void
setContour
(
const
std::shared_ptr<std::vector<std::shared_ptr<PolygonPoint> > > &contour_) {
63
contour=contour_;
64
}
65
66
std::shared_ptr<std::vector<std::shared_ptr<PolygonPoint> > > getContour() {
return
contour; }
67
69
void
initializeUsingXML
(xercesc::DOMElement *element)
override
;
70
71
xercesc::DOMElement* writeXMLFile(xercesc::DOMNode *parent)
override
;
72
73
};
74
75
}
76
77
#endif
OpenMBV::ObjectFactory
Definition:
objectfactory.h:38
OpenMBV::RigidBody
Abstract base class for all rigid bodies.
Definition:
rigidbody.h:68
OpenMBV::Rotation
Definition:
rotation.h:30
OpenMBV::Rotation::initializeUsingXML
void initializeUsingXML(xercesc::DOMElement *element) override
Definition:
rotation.cc:50
OpenMBV::Rotation::setEndAngle
void setEndAngle(double angle)
Definition:
rotation.h:47
OpenMBV::Rotation::setContour
void setContour(const std::shared_ptr< std::vector< std::shared_ptr< PolygonPoint > > > &contour_)
Definition:
rotation.h:62
OpenMBV::Rotation::setStartAngle
void setStartAngle(double angle)
Definition:
rotation.h:40
OpenMBV::Rotation::setAngle
void setAngle(double startAngle_, double endAngle_)
Definition:
rotation.h:54
openmbv
openmbvcppinterface
openmbvcppinterface
rotation.h
Generated with
Doxygen
using
Doxygen Awesome
on Wed Apr 30 2025