/********************************************************************/ /* Copyright (c) 2017 System fugen G.K. and Yuzi Mizuno */ /* All rights reserved. */ /********************************************************************/ #ifndef _MGFPline_HH_ #define _MGFPline_HH_ class MGCurve; class MGFSurface; /** @file */ /** @addtogroup GEORelated * @{ */ ///Face's (u,v) parameter value line. ///MGFPline is to represent an parameter (u,v) line of a face. ///(MGFSurface* f, MGCurve uvline) where f is a face pointer, and uvline is ///a parameter (u,v) line of the face f. /// ///MGFPline is used to express Shell's intersection lines. ///The behavior of MGFPline is like an auto_ptr. Copy or assignment ///of MGFPline means transfer of the ownership of all the included curves ///to copied or assigned MGFPline and original MGFPline does not have the ///ownership of the curves any more. Users should be aware of it. class MG_DLL_DECLR MGFPline{ public: ///String stream Function MG_DLL_DECLR friend std::ostream& operator<< (std::ostream& ostrm, const MGFPline& fpl); ////////Constructor///////// MGFPline():m_face(0),m_uvline(0){;}; ///void constructor. ///Construct from all the necessary data. MGFPline( const MGFSurface* face, /// (const MGFPline& fpl2)const{return fpl2<(*this);}; bool operator<= (const MGFPline& fpl2)const{return !(fpl2<(*this));}; bool operator>= (const MGFPline& fpl2)const{return !((*this)