/********************************************************************/ /* Copyright (c) 2017 System fugen G.K. and Yuzi Mizuno */ /* All rights reserved. */ /********************************************************************/ #include "MGCLStdAfx.h" #include "mg/Position.h" #include "mg/Tolerance.h" #include "topo/Edge.h" #include "topo/LSPoint.h" #if defined(_DEBUG) #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif // //Implements MGLSPoint Class. //MGLSPoint is to express a loop and a surface intersection point. //The expression is {MGEdge* binder, double tb,(u,v)}, where binder is //binder edge of the loop, tb is parameter value of the binder, and (u,v) is //the surface parameter value. ///////Constructor//////// ///////Operator oveload/////// //Comparison operator. bool MGLSPoint::operator< (const MGLSPoint& ls2)const{ if(m_pedge!=ls2.m_pedge) return (*m_pedge)<(*ls2.m_pedge); return m_tbinder_edge(); return bedge->eval(m_t); } //Debug Function std::ostream& operator<< (std::ostream& out, const MGLSPoint& lsp){ out<<"MGLSPoint::m_pedge="<