www.pudn.com > VC++Delaunay.rar > Triangle.h
// Triangle.h: interface for the CTriangle class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_TRIANGLE_H__8BFDEC3D_B5F7_11D3_AB59_080039014899__INCLUDED_) #define AFX_TRIANGLE_H__8BFDEC3D_B5F7_11D3_AB59_080039014899__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 //////////////////////////////////////////// #include#include #include #include "pointpos.h" enum POS//if a point belong a convexity { POS_IN=1,//a point belong a triangle or convexity POS_ON=2,//a point belong a circle or on the edge of convexity POS_OUT=0,//a point out of a circle or convexity POS_ERROR=-1, }; typedef struct { double x; double y; double z; } POI;//point //////////////////////////////////////////// class CTriangle : public CObject { DECLARE_SERIAL(CTriangle) //////////////////////////////////////////// public: CTriangle(int p1,int p2,int p3); POS Where(CPointPos *pos);//判断一点是否在本Triangle 的园 or Triangle 内 int m_p1,m_p2,m_p3;//Save triangle 三个顶点的坐标数组的下标 double m_xc,m_yc;//外接圆心坐标 double m_rad;//外接圆Radius double m_x;double m_y;//重心 double n1,n2,n3;//每边中点处f的法向导数值 //加上f1,f2,f3共19个控制点*****************8 double b1,b2,b3,o; double c1,c2,c3; double e1,e2,e3; double d12,d13,d21,d23,d31,d32; //加上f1,f2,f3共19个控制点*****************8 //////////////////////////////////////////// CTriangle(); virtual ~CTriangle(); virtual void Serialize(CArchive& ar); }; #endif // !defined(AFX_TRIANGLE_H__8BFDEC3D_B5F7_11D3_AB59_080039014899__INCLUDED_)