/********************************************************************/ /* Copyright (c) 2017 System fugen G.K. and Yuzi Mizuno */ /* All rights reserved. */ /********************************************************************/ ////////// //A class that contains all the necessary input parameter to //construct mgTLInputParam. This is used to serialize the tessellation parameters' #include "MGCLStdAfx.h" #include #include "Tl2/TLInputParam.h" #include "mg/Ifstream.h" #include "mg/Ofstream.h" #include "mg/Tolerance.h" mgTLInputParam::mgTLInputParam( double crvTol, //バウンダリのトレランス double surfTol, //平面とみなすトレランス double max_ratio, //最大アスペクト比 MGCL::fan_kind fk, //fk=SINGLE_TRIANGLE: 1 triangle/FAN //fk=MULTIPLE_TRIANGLES: as many triangles as possible/FAN int minimum_tri, //Specify minimum number of triangles. double max_edge_len //when max_edge_len<=0, this means no limits on an edge length. ):m_crvTol(crvTol), m_surfTol(surfTol), m_max_ratio(max_ratio), m_fk(fk), m_minimum_tri(minimum_tri),m_max_edge_len(max_edge_len){ ;} //Construct from the object box data and the span length to draw object. //span_length=MGOpenGLView::span_length(). mgTLInputParam::mgTLInputParam( const MGObject& obj, double span_length ):m_max_ratio(2.),m_fk(MGCL::MULTIPLE_TRIANGLES), m_minimum_tri(4), m_max_edge_len(-1.){ m_crvTol=compute_curve_tolerance(obj,span_length); m_surfTol=m_crvTol*SURFACE_TOL_BY_CURVE; } //////////// Operator overload.//////// std::ostream& operator<< (std::ostream& out, const mgTLInputParam& para){ out<<"mgTLInputParam="<<(¶)<<"::m_crvTol="<