You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

134 lines
1.7 KiB
C++

1 month ago
#include "MLPlNode.h"
#include "MLFuncom.h"
MLPlNode::MLPlNode(void)
:MLVector()
{
m_l = 0;
m_a = 0;
}
MLPlNode::MLPlNode( double x, double y )
:MLVector(x, y)
{
m_z = 0;
m_l = 0;
m_a = 0;
}
MLPlNode::MLPlNode( double x, double y, double z )
:MLVector(x, y, z)
{
m_l = 0;
m_a = 0;
}
MLPlNode::MLPlNode(const MLPlNode& point)
{
m_x = point.x;
m_y = point.y;
m_z = point.z;
m_l = point.l;
m_a = point.a;
}
MLPlNode::MLPlNode(const MLPoint& point)
{
m_x = point.x;
m_y = point.y;
m_z = point.z;
m_l = point.l;
m_a = 0;
}
MLPlNode::MLPlNode( const QPointF& point )
{
m_x = point.x();
m_y = point.y();
m_z = 0;
m_l = 0;
m_a = 0;
}
MLPlNode::~MLPlNode(void)
{
}
double MLPlNode::getL() const
{
return m_l;
}
double& MLPlNode::getL()
{
return m_l;
}
void MLPlNode::setL( double l )
{
m_l = l;
}
double MLPlNode::getA() const
{
return m_a;
}
double& MLPlNode::getA()
{
return m_a;
}
void MLPlNode::setA(double a)
{
m_a = a;
}
//<2F>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
bool operator==(const MLPlNode &p1, const MLPlNode &p2)
{
return (Equ(p1.x, p2.x) && Equ(p1.y, p2.y));
}
//<2F>Ƚ<EFBFBD><C8BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD>ȱȽ<C8B1>x<EFBFBD><78><EFBFBD><EFBFBD><EAA3AC><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD>Ƚ<EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD>
bool operator>(const MLPlNode &p1, const MLPlNode &p2)
{
return (p1.x > p2.x || (Equ(p1.x, p2.x) && p1.y > p2.y));
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
double operator^(const MLPlNode &p1, const MLPlNode &p2)
{
return (p1.x * p2.y - p1.y * p2.x);
}
// ת<><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
MLPoint MLPlNode::toPoint()const
{
return MLPoint(m_x, m_y, m_z);
}
QPoint MLPlNode::toQPoint()const
{
return QPoint(m_x, m_y);
}
QPointF MLPlNode::toQPointF()const
{
return QPointF(m_x, m_y);
}
MLPlNode &MLPlNode::operator =(const MLPlNode &other)
{
m_x = other.x;
m_y = other.y;
m_z = other.z;
m_l = other.l;
return *this;
}