/** * @file CCurveClosure.h * @brief 曲线闭合区域类接口 * @author N */ #pragma once #ifndef AFX_EXT_CLASS #define AFX_EXT_CLASS Q_DECL_IMPORT #endif #include #include #include #include #include "TBase/TGraph.h" #include "curvegraph.h" using namespace std; namespace GObjects { /* @brief 曲线闭合区域类*/ class CCurveClosure : public CCurveGraph { public: CCurveClosure(void); virtual ~CCurveClosure(); //读取曲线数据 virtual void ReadCurves(CCurveList& curList); /** @brief 指定目标点,生成包围它的最小闭合曲线*/ CMyCurve* CreateClosedCurve(CPoint3D& dfp); protected: //通过中心点向m_rayRadian方向做射线查找最近相交的线段 bool GetStartedNodePair(CPoint3D& centPoint, PT3Node*& p3dStart, PT3Node*& p3dNext); double m_rayRadian; //射线角度 默认0 //CPoint3D m_centPoint; //中心点 }; }; using namespace GObjects;