/********************************************************************/ /* Copyright (c) 2017 System fugen G.K. and Yuzi Mizuno */ /* All rights reserved. */ /********************************************************************/ #ifndef _MGCurveParameter_HH_ #define _MGCurveParameter_HH_ #include #include "mg/nlbit.h" #include "mg/Interval.h" #if defined(_DEBUG) #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif /** @addtogroup ALGORITHM * @{ */ ///Utility class to compute a curve parameter defined by f(t)=0. ///f(t) is defined by "virtual double operator()=0;". ///To use MGCurveParameter class, define subclass of MGCurveParameter, ///and define operator(). ///Then use getCurveParameter member function to compute the solution of f(t)=0. ///Before using getCurveParameter(), the tolerance and the incremental value must be ///set. These default values provided in the constructor are usually not valid ones. class MG_DLL_DECLR MGCurveParameter{ public: ///constructor. error and delta must be set if not specified in this ///constructor. Following default values are usually not effective. MGCurveParameter( const MGInterval& prange,///