📄 tin.h
字号:
// Tin.h: interface for the CTin class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_TIN_H__46C6575A_DCD7_4338_AC61_D548DA90B7F7__INCLUDED_)
#define AFX_TIN_H__46C6575A_DCD7_4338_AC61_D548DA90B7F7__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "Entity.h"
class CTin
{
public:
void CreateTin2();
bool TestCross(CNode *node1,CNode *node2,CNode *node3,CNode *node4);
void CreateTin();
void CreateCDTin();
CTin();
virtual ~CTin();
struct cvPoint
{
float x, y, z; //点的坐标
};
float k1,k2;
float x0,y0;
float size;//冗差控制
int m_nCurrentLayer;//当前的层编号
float xMin,xMax,yMin,yMax;//边界值
private:
void CrossLastPoly(CNode *node,CEdge *edge,CPolygon *pl1,CPolygon *pl2,int n);
void CrossPolygon(CNode *node,CEdge *edge,CPolygon *pol1,CPolygon *pol2,CPolygon *pol,int n);
void InitTin3();
void InverseInsert(CEdge *edge1,CPolygon *ploy1,CPolygon *poly2,CNode *nod,CNode *nodebegin);
void GetTheCrossEdge(CNode *node1,CNode *node2,CEdge *edge1,CEdge *edge2,CPolygon *loc);
CEdge* GetCrossEdge(CNode *node1,CNode *node2,CPolygon *polygon,int i);
CPolygon* InsertNode1(CNode *pNode,CNode *node,CPolygon *pTinTriangle,CPolygon *poly,CEdge *edge,int m);
CPolygon * CTin::InsertNode2(CNode *node, CPolygon *poly,int n);
double Area(CNode *pNode1,CNode *pNode2,CNode *pNode3);
bool TestEdge(CNode *pNode0,CNode *pNode1,CNode *pNode2,CNode *pNode3);
void Leagalize(CNode *node,CPolygon *polygon);
void Discard();
int InTinTriangle(CNode *pNode,CPolygon *pTinTriangle);
void InsertNode(CNode *pNode,CPolygon *pTinTriangle);
double Lenth2(CNode *pNode1,CNode *pNode2);
CPolygon* LocationNode(CNode *pNode);
void InitTin2();
void InitTin();
};
#endif // !defined(AFX_TIN_H__46C6575A_DCD7_4338_AC61_D548DA90B7F7__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -