BIMHome v1.0.0
BIMHome接口文档说明
Circle.h
浏览该文件的文档.
1/************************************************************************
2* @file Circle.h
3*
4* @brief 三维圆
5*
6* @details 三维圆
7*
8* @author lirf
9*
10* @version 1.0
11*
12* @date 2025-6-7
13*
14* @license 北京华科软科技有限公司
15*
16*************************************************************************/
17
18#ifndef BIMHOMEBASE_CIRCLE_H
19#define BIMHOMEBASE_CIRCLE_H
20
21#include "Base/Math/Geometry/Curve.h"
22
23namespace Base
24{
25 //圆
26 class BaseExport Circle :public Curve
27 {
28 public:
29
31
39 Circle(Base::Vector3d center, Base::Vector3d normal, double radius);
40
49 Circle(Base::Vector3d center, Base::Vector3d normal, Base::Vector3d refvec, double radius);
50 virtual Geometry* copy(void) const;
51
57
64
70
76 void setNormal(const Base::Vector3d& normal);
77
83
89 void setRefVec(const Base::Vector3d& vec);
90
96 double getRadius()const;
97
103 void setRadius(double radius);
104
105 bool isClosed();
106
107 virtual double getLength()const override;
108
109 void Reverse();
110
111 private:
113 Base::Vector3d mNormal;//所在平面的法向量
114 Base::Vector3d mRefVec;//所在平面的基准轴,即X轴方向
115 double mRadius;//半径
116
117 };
118}
119
120#endif
121
virtual double getLength() const override
void setRadius(double radius)
设置半径
Circle(Base::Vector3d center, Base::Vector3d normal, Base::Vector3d refvec, double radius)
构建三维圆
Circle(Base::Vector3d center, Base::Vector3d normal, double radius)
构建三维圆
void setNormal(const Base::Vector3d &normal)
设置所在平面的法向量
void setRefVec(const Base::Vector3d &vec)
设置所在平面的基准轴
virtual Geometry * copy(void) const
Base::Vector3d getRefVec() const
获取所在平面的基准轴
Base::Vector3d getNormal() const
获取所在平面的法向量
bool isClosed()
Base::Vector3d mCenterPoint
Definition Circle.h:112
double getRadius() const
获取半径
Base::Vector3d getCenterPoint() const
获取圆心
void setCenterPoint(const Base::Vector3d &pt)
设置圆心
Base::Vector3d mRefVec
Definition Circle.h:114
void Reverse()
Base::Vector3d mNormal
Definition Circle.h:113
double mRadius
Definition Circle.h:115
Definition Circle.h:27
Definition Curve.h:27
Definition Geometry.h:81
Definition BaseFigureFactory.h:24