18#ifndef BIMHOMEBASE_ARCOFCIRCLE_H
19#define BIMHOMEBASE_ARCOFCIRCLE_H
21#include "Base/Math/Geometry/Curve.h"
22#include "Base/Vector2D.h"
24#define ArcFromCenterRadiusAngle "ArcFromCenterRadiusAngle"
25#define ArcFromCircleAngle "ArcFromCircleAngle"
26#define ArcFromThreePoints "ArcFromThreePoints"
27#define ArcFromCirclePoints "ArcFromCirclePoints"
@ Circle
Definition CurveTypeDefine.h:37
#define GEOMETRY_HEADER(_name_)
Definition Geometry.h:27
void setStartAngle(double angle)
设置起始角度
Base::Vector3d getEndPoint() const
ArcofCircle(Base::Vector3d pt1, Base::Vector3d pt2, Base::Vector3d pt3)
构造一个圆弧,基于三点
Base::Vector3d getStartPoint() const
bool isInArc(double angle)
virtual double getLength() const override
Base::Vector3d getCenterPoint()
获取圆心
Base::Vector3d getMidPoint() const
Base::Vector3d mSecondPoint
Definition ArcofCircle.h:230
ArcofCircle(Base::Vector3d center, Base::Vector3d normal, Base::Vector3d refvec, double radius, double startangle, double endangle)
构造一个圆弧,基于圆心,法向量,基准向量,半径,起始角度,终止角度
Base::Vector3d mEndPoint
Definition ArcofCircle.h:231
std::string mArcType
Definition ArcofCircle.h:233
Base::Vector3d mMidpoint
Definition ArcofCircle.h:232
void calculateStartandEndPoint()
double mStartAngle
Definition ArcofCircle.h:225
void setRefVec(const Base::Vector3d &vec)
设置角度的基准向量
virtual Geometry * copy(void) const
double getStartAngle()
获取起始角度
std::pair< Base::Vector2d, Base::Vector2d > getExtrema()
Base::Vector3d getNormal()
获取所在平面的法向量
Base::Vector3d mStartPoint
Definition ArcofCircle.h:229
double getEndAngle()
获取终止角度
void setEndAngle(double angle)
设置终止角度
void setNormal(const Base::Vector3d &vec)
设置所在平面的法向量
Base::Vector3d mCenterPoint
Definition ArcofCircle.h:221
void setRadius(double pt)
设置半径
bool mClockWise
Definition ArcofCircle.h:227
ArcofCircle(const Base::Circle &circle, const Base::Vector3d &pt1, const Base::Vector3d &pt2)
构造一个圆弧,基于一个已有的圆对象和圆上的两个点(起点、终点)
double mEndAngle
Definition ArcofCircle.h:226
double getEndAngle() const
获取终止角度
Base::Vector3d getSecondPoint() const
void calculateCircleCenter()
void setCenterPoint(const Base::Vector3d &pt)
设置圆心
Base::Vector3d mRefVec
Definition ArcofCircle.h:223
std::string getArcType() const
Base::Vector3d mNormal
Definition ArcofCircle.h:222
void setDirection(bool bClockWire)
设置圆弧方向
Base::Vector3d getRefVec()
获取角度的基准向量
ArcofCircle(const Base::Circle &circle, const double angle1, const double angle2)
构造一个圆弧,基于一个已有的圆对象和圆上的两个角度(起始角度、终止角度)
double mRadius
Definition ArcofCircle.h:224
Definition ArcofCircle.h:34
Definition BaseFigureFactory.h:24