#ifndef _mgTL2Fan_HH_ #define _mgTL2Fan_HH_ #include #include #include #include "mg/MGCL.h" /****************************************************************/ /* Copyright (c) 2017 by System fugen G.K. */ /* All rights reserved. */ /****************************************************************/ ///////////// mgTL2Fan ///////////// /** @file */ /** @addtogroup UseTessellation * @{ */ // private class for tessellation. ///mgTL2Fan is a point list to constitue a fan. ///It is always a member of mgTL2Fans that is temporary data to generate ///mgTL2Triangles, and contains id of vertices of the outer loop of a MGFace. ///mgTL2Fan does not include its start point id since the id in mgTL2Fans is the 1st id. ///Let mgTL2Fan& fani=mgTL2Fans[i], then (i,fani[0], fani[1], ..., fani[n-1]) constitutes ///a fan(all of them are ids of vertices of the outer loop of a MGFaces). ///The actual triangles are: ///(i,fani[0], fani[1]), (i,fani[1], fani[2]), ..., (i,fani[i], fani[i+1]), ..., ///(i, fani[n-2], fnai[n-1]). ///See Les Piegel and Wayne Tiller's paper about this point list. ///"Geometry-based triangulation of trimmed NURBS surfaces", Computer-Aided Desigh, ///Vol.30, No.1, pp.11-16, 1998. class mgTL2Fan{ typedef std::deque mgTL2deqIndex; private: bool m_used; /// m_used_edges; ///::iterator EUitr;///::const_iterator CEUitr;///