/********************************************************************/ /* Copyright (c) 2017 System fugen G.K. and Yuzi Mizuno */ /* All rights reserved. */ /********************************************************************/ #ifndef _MGisect_HH_ #define _MGisect_HH_ /** @defgroup IsectContainer Intersection Containers * Containers of intersection of MGObject subclasses, * MGCurve, MGFSurface, MGLoop, MGShell, etc. * @{ */ #include #include "mg/MGCL.h" #include "mg/Position.h" class MGObject; class MGCurve; class MGCCisect; class MGCSisect; class MGCFisect; class MGSSisect; class MGFFisect; ///Is an abstract class to provide unified interfaces to handle an intersection of two objects. class MG_DLL_DECLR MGisect{ friend class MGisects; public: ////////Constructor///////// ////////Destructor///////// virtual ~MGisect(){;}; ////////Operator oveload//////// ///Ordering functions. virtual bool operator< (const MGisect& is)const=0; virtual bool operator> (const MGisect& is)const{return is<(*this);}; virtual bool operator<= (const MGisect& is)const{return !(is<(*this));}; virtual bool operator>= (const MGisect& is)const{return !((*this)