openmbvcppinterface
3.1.0
OpenMBV C++ Interface
nurbscurve.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_NURBSCURVE_H
21
#define _OPENMBV_NURBSCURVE_H
22
23
#include <openmbvcppinterface/rigidbody.h>
24
#include <vector>
25
26
namespace
OpenMBV {
27
29
class
NurbsCurve
:
public
RigidBody
{
30
friend
class
ObjectFactory
;
31
protected
:
32
std::vector<std::vector<double> > cp;
33
int
num{0};
34
std::vector<double> knot;
35
NurbsCurve
() =
default
;
36
~NurbsCurve
()
override
=
default
;
37
public
:
40
const
std::vector<std::vector<double> >&
getControlPoints
() {
return
cp; }
41
int
getNumberOfControlPoints() {
return
num; }
42
const
std::vector<double>& getKnotVector() {
return
knot; }
43
46
void
setControlPoints
(
const
std::vector<std::vector<double> > &cp_) { cp = cp_; }
47
void
setNumberOfControlPoints(
int
num_) { num = num_; }
48
void
setKnotVector(
const
std::vector<double>& knot_) { knot = knot_; }
49
51
void
initializeUsingXML
(xercesc::DOMElement *element)
override
;
52
53
xercesc::DOMElement *writeXMLFile(xercesc::DOMNode *parent)
override
;
54
};
55
56
}
57
58
#endif
OpenMBV::NurbsCurve
Definition:
nurbscurve.h:29
OpenMBV::NurbsCurve::getControlPoints
const std::vector< std::vector< double > > & getControlPoints()
Definition:
nurbscurve.h:40
OpenMBV::NurbsCurve::setControlPoints
void setControlPoints(const std::vector< std::vector< double > > &cp_)
Definition:
nurbscurve.h:46
OpenMBV::NurbsCurve::initializeUsingXML
void initializeUsingXML(xercesc::DOMElement *element) override
Definition:
nurbscurve.cc:41
OpenMBV::ObjectFactory
Definition:
objectfactory.h:38
OpenMBV::RigidBody
Abstract base class for all rigid bodies.
Definition:
rigidbody.h:68
openmbv
openmbvcppinterface
openmbvcppinterface
nurbscurve.h
Generated with
Doxygen
using
Doxygen Awesome
on Wed Apr 30 2025