18#ifndef BIMHOMEBASE_GEOMETRY2DBEZIERCURVE_H
19#define BIMHOMEBASE_GEOMETRY2DBEZIERCURVE_H
21#include "Base/Math/Geometry/Curve2D.h"
41 const std::vector<int>& Multiplicities,
43 const bool Periodic =
false);
55 const std::vector<int>& Multiplicities,
57 const bool Periodic =
false,
58 const bool CheckRational =
true);
73 void setPoles(
const std::vector<Base::Vector2d>& poles);
bool mPeriodic
Definition BezierCurve2D.h:134
void setDegree(int degree)
设置阶数
bool mRational
Definition BezierCurve2D.h:135
std::vector< int > & getMultiplicities()
获取重数
int getDegree() const
获取阶数
bool getPeriodic() const
获取是否为周期性曲线
BezierCurve2D(const std::vector< Base::Vector2d > &Poles, const std::vector< int > &Multiplicities, const int Degree, const bool Periodic=false)
参数化构造函数
void setPoles(const std::vector< Base::Vector2d > &poles)
设置构造点
BezierCurve2D(const std::vector< Base::Vector2d > &Poles, const std::vector< int > &Multiplicities, const int Degree, const bool Periodic=false, const bool CheckRational=true)
高级参数化构造函数
void setRational(bool rational)
设置是否有理
bool getRational() const
获取是否有理
std::vector< int > mMultiplicities
Definition BezierCurve2D.h:133
int mDegree
Definition BezierCurve2D.h:132
std::vector< Base::Vector2d > mPoles
Definition BezierCurve2D.h:131
virtual Geometry2D * copy(void) const
void setPeriodic(bool periodic)
设置是否为周期性曲线
std::vector< Base::Vector2d > & getPoles()
获取构造点
double getLength() const
获取长度
void setMultiplicities(const std::vector< int > &multiplicities)
设置重数
Definition BezierCurve2D.h:27
Definition Geometry2D.h:72
Definition BaseFigureFactory.h:24