📄 triangulate.h
字号:
//#pragma once#define DTOR 0.01745329252#define ABS(x) ( (x) < 0 ? -(x) : (x) )#define MIN(x,y) ( x < y ? x : y )#define MAX(x,y) ( x < y ? y : x )#define MODULUS(p) (sqrt((p).x * (p).x + (p).y * (p).y + (p).z * (p).z) )#define SIGN(x) ( x < 0 ? -1 : 1 )#define DOTPRODUCT(v1,v2) ( v1.x*v2.x + v1.y*v2.y + v1.z*v2.z )#define INVERTVECTOR(p1) p1.x = -p1.x; p1.y = -p1.y; p1.z = -p1.z#define CROSSPROD(p1,p2,p3) p3.x = p1.y*p2.z - p1.z*p2.y;p3.y = p1.z*p2.x - p1.x*p2.z;p3.z = p1.x*p2.y - p1.y*p2.x#define FALSE 0#define TRUE 1#define EPSILON 0.00000011 /* small float for vertex closeness */#define INFINITY 1.0E10 /* representation of infinity */typedef struct { double x,y,z;} XYZ;typedef struct TRIANGLE { unsigned int p1,p2,p3;} TRIANGLE;typedef struct EDGE { unsigned int p1,p2;} EDGE;typedef struct { //double a,b,c,d; XYZ P0,P1,P2,P3;} PLANE;/* Prototypes */extern void GenDEM(char filename[255]);extern int gettriangulation(void);extern void triangulate(int,XYZ *,TRIANGLE *,unsigned int *);extern int intriang(double,double,XYZ,XYZ,XYZ);extern double planepoint(double,double,XYZ,XYZ,XYZ);extern int circumcircle(double,double,double,double,double,double,double,double,double *,double *,double *);extern int whichside(double,double,double,double,double,double);extern void AddFace(XYZ *);/* The maximum number of edges in the edge list */#define EMAX 20000#define xcells 100#define ycells 100#define trimax 65535
#define HIGH 1
#define RANG 100
extern PLANE *demGrid;extern int nPlane;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -