BIMHome v1.0.0
BIMHome接口文档说明
PolyLine.h
浏览该文件的文档.
1/************************************************************************
2* @file PolyLine.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_GEOMETRYPOLYLINE_H
19#define BIMHOMEBASE_GEOMETRYPOLYLINE_H
20
21#include "Base/Math/Geometry/Curve.h"
22
23namespace Base
24{
25 //多段线
26 class BaseExport PolyLine :public Curve
27 {
29 public:
31
37 PolyLine(const std::vector<std::shared_ptr<Curve>>& polyline);
38 virtual Geometry* copy(void) const;
39 std::vector<std::shared_ptr<Curve>> getPolyline()const;
40
46 void setPolyline(const std::vector<std::shared_ptr<Curve>>& curveVec);
47
48 int size()const;
49
56 bool getCurve(int nIndex, std::shared_ptr<Base::Curve>& curve);
57
58 bool isClosed();
59
60 double getLength();
61
64
65 void Reverse();
66
67 private:
68 std::vector<std::shared_ptr<Curve>> mCurveVec;//构成多段线的曲线集合
69 };
70}
71
72#endif
73
#define GEOMETRY_HEADER(_name_)
Definition Geometry.h:27
Definition Curve.h:27
Definition Geometry.h:81
Base::Vector3d getStartPoint()
PolyLine(const std::vector< std::shared_ptr< Curve > > &polyline)
通过曲线指针集合构造多段线
Base::Vector3d getEndPoint()
bool getCurve(int nIndex, std::shared_ptr< Base::Curve > &curve)
获取多段线中指定索引的曲线段
virtual Geometry * copy(void) const
std::vector< std::shared_ptr< Curve > > mCurveVec
Definition PolyLine.h:68
std::vector< std::shared_ptr< Curve > > getPolyline() const
double getLength()
int size() const
void setPolyline(const std::vector< std::shared_ptr< Curve > > &curveVec)
设置构成多段线的曲线指针集合
Definition PolyLine.h:27
Definition BaseFigureFactory.h:24