/********************************************************************/ /* Copyright (c) 2017 System fugen G.K. and Yuzi Mizuno */ /* All rights reserved. */ /********************************************************************/ #ifndef _MGCCisect_list_HH_ #define _MGCCisect_list_HH_ /** @file */ /** @addtogroup IsectContainer * @{ */ #include "mg/CCisect.h" //Forward class declaration. class MGCurve; /// Defines a list of MGCCisect(curve to curve intersection). ///Used to represent Intersection points of two curves. class MG_DLL_DECLR MGCCisect_list{ public: typedef std::list container_type; typedef container_type::iterator CCiterator; typedef container_type::const_iterator const_CCiterator; typedef container_type::iterator iterator; typedef container_type::const_iterator const_iterator; ///String stream Function MG_DLL_DECLR friend std::ostream& operator<< (std::ostream&, const MGCCisect_list& ); /// Constructor explicit MGCCisect_list(const MGCurve *c1=NULL, const MGCurve *c2=NULL); //Copy Constructor. //MGCCisect_list(const MGCCisect_list& list); //////////// Destructor.////////// ~MGCCisect_list(){;}; ////////// Operator overload.////////// //Assignment. //MGCCisect_list& MGCCisect_list::operator= (const MGCCisect_list&); ////////////Member Function.//////////// /// Adds the MGCCisect to the end of the list. void append( const MGCCisect& isect/// m_CCilist; const MGCurve* m_curve1; ///< Curve 1. const MGCurve* m_curve2; ///< Curve 2. double m_error; ///< Square of Tolerance in parameter space. }; /** @} */ // end of IsectContainer group #endif