triangle.cpp

来自「该源代码能够实现任意三角形的剖分」· C++ 代码 · 共 71 行

CPP
71
字号
// Triangle.cpp: implementation of the CTriangle class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "Delaunay.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)//点的定位
{

    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 + =
减小字号Ctrl + -
显示快捷键?