/********************************************************************/ /* Copyright (c) 2017 System fugen G.K. and Yuzi Mizuno */ /* All rights reserved. */ /********************************************************************/ #ifndef _MGFFisect_HH_ #define _MGFFisect_HH_ /** @addtogroup IsectContainer * @{ */ #include "mg/MGCL.h" #include "mg/isect.h" #include "mg/Curve.h" #include "mg/FPline.h" #include "topo/Face.h" // MGFFisect.h // Header for MGFFisect //Forward Declaration class MGObject; class MGCurve; class MGFace; ///MGFFisect represents one intersection line of a MGFace and MGFace or MGSurface. ///The behavior of MGFFisect is like a auto_ptr. Copy or assignment ///of MGFFisect means transfer of the ownership of all the included curve ///to copied or assigned MGFFisect and original MGFFisect does not have the ///ownership of the curves any more. User should be aware of it. class MG_DLL_DECLR MGFFisect:public MGisect{ public: //////////// Constructor //////////// ///Void constructou. 初期化なしでDummy交線を生成 MGFFisect():m_curve(0){;}; ///Construct providing all the raw data. ///The ownership of iline, face1, and face2 are all transfered to MGFFisect. ///All of these objects must be newed ones. MGFFisect( MGCurve* iline, /// (const MGFFisect& ssi2)const{return ssi2<(*this);}; bool operator<= (const MGFFisect& ssi2)const{return !(ssi2<(*this));}; bool operator>= (const MGFFisect& ssi2)const{return !((*this)object_pointer(); }; ///Get the object2 pointer. const MGObject* object2(const MGObject* obj)const{ return m_face2line.face()->object_pointer(); }; private: //////////// Member Data //////////// MGCurve* m_curve; ///