18#ifndef BIMHOMEBASE_GEOMETRYBSPLINECURVE_H
19#define BIMHOMEBASE_GEOMETRYBSPLINECURVE_H
21#include "Base/Math/Geometry/Curve.h"
41 const std::vector<int>& Multiplicities,
43 const bool Periodic =
false);
56 const std::vector<double>& Weights,
57 const std::vector<int>& Multiplicities,
59 const bool Periodic =
false,
60 const bool CheckRational =
true);
75 void setPoles(
const std::vector<Base::Vector3d>& poles);
bool mPeriodic
Definition BSplineCurve.h:157
void setDegree(int degree)
设置阶数
bool mRational
Definition BSplineCurve.h:158
std::vector< int > & getMultiplicities()
获取重数
int getDegree() const
获取阶数
bool getPeriodic() const
获取是否周期性
BSplineCurve(const std::vector< Base::Vector3d > &Poles, const std::vector< int > &Multiplicities, const int Degree, const bool Periodic=false)
构建3D B样条曲线
void setKnots(const std::vector< double > &knots)
设置节点
void setPoles(const std::vector< Base::Vector3d > &poles)
设置构造点
virtual Geometry * copy(void) const
void setRational(bool rational)
设置是否有理
bool getRational() const
获取是否有理
std::vector< Base::Vector3d > & getPoles()
获取构造点
std::vector< int > mMultiplicities
Definition BSplineCurve.h:156
int mDegree
Definition BSplineCurve.h:154
std::vector< Base::Vector3d > mPoles
Definition BSplineCurve.h:153
std::vector< double > & getKnots()
获取节点
void setPeriodic(bool periodic)
设置是否周期性
std::vector< double > mKnots
Definition BSplineCurve.h:155
BSplineCurve(const std::vector< Base::Vector3d > &Poles, const std::vector< double > &Weights, const std::vector< int > &Multiplicities, const int Degree, const bool Periodic=false, const bool CheckRational=true)
构建有理 B样条曲线
void setMultiplicities(const std::vector< int > &multiplicities)
设置重数
Definition BSplineCurve.h:27
Definition BaseFigureFactory.h:24