📄 triangulate.h
字号:
// GenerateTri1.h: interface for the CTriangulate class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_GENERATETRI1_H__5340E0E4_E726_451E_B76E_54D485C9F63D__INCLUDED_)
#define AFX_GENERATETRI1_H__5340E0E4_E726_451E_B76E_54D485C9F63D__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "GlobalFunctions.h"
class CTriangulate
{
public:
struct IEDGE { //定义边
int p1,p2;
} ;
private:
char szFileName_[256]; //文件名
int nv_; //点的个数
int ntri_; // 三角形的个数
XYZ *pv_; //点指针
TRIANGLE *ptri_; //三角形指针
public:
XYZ GetRBvertex();
XYZ GetLTvertex();
TRIANGLE * GetTriangle() { return ptri_; }; //获得指向三角形的指针
XYZ * GetVertex() { return pv_; }; // 获得指向散点的指针
int GetTriangleCount() { return ntri_; }; // 三角形的个数
int GetVertexCount() { return nv_; }; // 点的个数
bool CreateTriangle(); //生成三角形
bool Initial(char * szFileName); //用文件初始化散点数据
CTriangulate();
virtual ~CTriangulate();
private:
void SortAndRemoveRepeatPoints();
void MeshedTris();
XYZ LTvertex_; // 散点的最大值 ,即左上角,在Initial()函数中初始化
XYZ RBvertex_; // 散点的最小值,右下角
int Triangulate(int nv, XYZ *pxyz, int *ntri, TRIANGLE *v);
int CircumCircle(double xp, double yp, double x1, double y1, double x2, double y2, double x3, double y3, double *xc, double *yc, double *r);
void QSortVertexByX();
};
#endif // !defined(AFX_GENERATETRI1_H__5340E0E4_E726_451E_B76E_54D485C9F63D__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -