You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
883 B
C++
46 lines
883 B
C++
/**
|
|
* @file CCurveClosure.h
|
|
* @brief 曲线闭合区域类接口
|
|
* @author N
|
|
*/
|
|
|
|
#pragma once
|
|
#ifndef AFX_EXT_CLASS
|
|
#define AFX_EXT_CLASS Q_DECL_IMPORT
|
|
#endif
|
|
|
|
#include <set>
|
|
#include <vector>
|
|
#include <map>
|
|
#include <iostream>
|
|
#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;
|