⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 triangle.cpp

📁 一个二维Delaunay三角网格剖分算法
💻 CPP
字号:
// Triangle.cpp: implementation of the CTriangle class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "GenDelaunay.h"
#include "pointpos.h"
#include "Triangle.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

IMPLEMENT_SERIAL(CTriangle,CObject,1)  //

CTriangle::CTriangle()
{

}

CTriangle::~CTriangle()
{

}
void CTriangle::Serialize(CArchive& ar) //////
{
	if(ar.IsStoring())
	{
		ar<<m_p1<<m_p2<<m_p3;
		ar<<m_xc<<m_yc<<m_rad;
		ar<<m_x<<m_y;
	}
	else
	{
		ar>>m_p1>>m_p2>>m_p3;
		ar>>m_xc>>m_yc>>m_rad;
        ar>>m_x>>m_y;
	}
}

POS CTriangle::Where(CPointPos *pos)
{
	//点与外接圆
	//think of 点在边上,?????
    double distance;
	distance=sqrt((pos->m_x-m_xc)*(pos->m_x-m_xc)+(pos->m_y-m_yc)*(pos->m_y-m_yc));
	if(fabs(distance-m_rad)<0.0000000001)
	{
		AfxMessageBox("Four points in a circle,need a new ponit");
        return POS_ERROR;
	}
	
	if(distance<m_rad)
	{
		return POS_ON;//in circle =2;
	}
    return POS_OUT;//0
}

CTriangle::CTriangle(int p1, int p2, int p3)
{
	m_p1=p1;
	m_p2=p2;
	m_p3=p3;	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -