BIMHome v1.0.0
BIMHome接口文档说明
Ellipse.h
浏览该文件的文档.
1/************************************************************************
2* @file Ellipse.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_ELLIPSE_H
19#define BIMHOMEBASE_ELLIPSE_H
20
21#include "Base/Math/Geometry/Curve.h"
22
23namespace Base
24{
25 class Axis2;
26 //椭圆
27 class BaseExport Ellipse :public Curve
28 {
29 public:
31
40 Ellipse(Base::Vector3d CenterPoint, Base::Vector3d MajorAxisDir, double MajorRadius, double MinorRadius);
41
42 virtual ~Ellipse();
43 virtual Geometry* copy(void) const;
44
51
57
63
69 void setNormal(const Base::Vector3d& normal);
70
76 double getMajorRadius(void) const;
77
83 void setMajorRadius(double Radius);
84
90 double getMinorRadius(void) const;
91
97 void setMinorRadius(double Radius);
98
104
111
112 bool isClosed();
113 virtual double getLength()const override;
114
115 void Reverse();
116
117
118 private:
120 Base::Vector3d mMajorAxisDir;//主轴方向,即基准轴
121 Base::Vector3d mNormal;//所在平面的法向量
122 double mMajorRadius;//主轴半径
123 double mMinorRadius;//副轴半径
124 };
125}
126
127#endif
Definition Curve.h:27
double mMajorRadius
Definition Ellipse.h:122
virtual double getLength() const override
virtual ~Ellipse()
void setMajorAxisDir(Base::Vector3d newdir)
设置主轴方向
double getMinorRadius(void) const
获取副轴半径
double getMajorRadius(void) const
获取主轴半径
void setNormal(const Base::Vector3d &normal)
设置所在平面的法向量
void setMinorRadius(double Radius)
设置副轴半径
Ellipse(Base::Vector3d CenterPoint, Base::Vector3d MajorAxisDir, double MajorRadius, double MinorRadius)
构建三维椭圆
virtual Geometry * copy(void) const
void setMajorRadius(double Radius)
设置主轴半径
double mMinorRadius
Definition Ellipse.h:123
Base::Vector3d getNormal() const
获取所在平面的法向量
Base::Vector3d mMajorAxisDir
Definition Ellipse.h:120
Base::Vector3d getMajorAxisDir() const
获取主轴方向
void setCenterPoint(Base::Vector3d center)
设置圆心
Base::Vector3d mCenterPoint
Definition Ellipse.h:119
Base::Vector3d getCenterPoint() const
获取圆心
Base::Vector3d mNormal
Definition Ellipse.h:121
Definition Ellipse.h:28
Definition Geometry.h:81
Definition BaseFigureFactory.h:24