BIMHome v1.0.0
BIMHome接口文档说明
Parabola.h
浏览该文件的文档.
1/************************************************************************
2* @file Parabola.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_GEOMETRYPARABOLA_H
19#define BIMHOMEBASE_GEOMETRYPARABOLA_H
20
21#include "Base/Math/Geometry/Curve.h"
22#include "Base/Axis2.h"
23namespace Base
24{
25 class Axis2;
26 class Axis;
27 class Line;
28 //抛物线
29 class BaseExport Parabola :public Curve
30 {
31 public:
33 //以坐标系A2 和焦距Focal创建抛物线
40 Parabola(const Base::Axis2& A2, const double Focal);
41
42 //D是抛物线的直角坐标系,F是焦点
50
56
62 void setAxis(const Base::Axis2 axis);
63
69 double getFocal()const;
70
76 void setFocal(const double Focal);
77
78 Base::Vector3d getFocus() const; //返回抛物线的焦点
79 Base::Vector3d getLocation()const;// 获得抛物线的顶点位置
80
81 virtual Geometry* copy(void) const;
82 double getLength()const;
83 bool isClosed();
84
85 void Reverse();
86
87 private:
88 Base::Axis2 mAxis;//坐标系
89 double mFocal;//焦距
90 };
91}
92
93#endif
94
@ Line
Definition CurveTypeDefine.h:36
F
Definition ISnapProcessedBase.h:49
D
Definition ISnapProcessedBase.h:49
Axis2 类,用于表示三维空间中的二维坐标系
Definition Axis2.h:33
Axis 类,用于表示三维空间中的轴
Definition Axis.h:31
Definition Curve.h:27
Definition Geometry.h:81
Base::Axis2 getAxis() const
获取坐标系
void setFocal(const double Focal)
设置焦距
Base::Vector3d getLocation() const
Parabola(const Base::Axis &D, const Base::Vector3d &F)
构造三维抛物线基于直角坐标系和焦点
Base::Axis2 mAxis
Definition Parabola.h:88
void setAxis(const Base::Axis2 axis)
设置坐标系
virtual Geometry * copy(void) const
double mFocal
Definition Parabola.h:89
Parabola(const Base::Axis2 &A2, const double Focal)
构造三维抛物线基于坐标系A2和焦距
Base::Vector3d getFocus() const
double getFocal() const
获取焦距
double getLength() const
Definition Parabola.h:30
Definition BaseFigureFactory.h:24