#ifndef _mgTL2Triangle_HH_ #define _mgTL2Triangle_HH_ #include #include "mg/MGCL.h" #include "mg/Position.h" #include "Tl2/TL2parameter.h" /****************************************************************/ /* Copyright (c) 2017 by System fugen G.K. */ /* All rights reserved. */ /****************************************************************/ class MGSurface; class MGFace; class mgTL2Face; /** @file */ /** @addtogroup UseTessellation * @{ */ ///mgTL2Triangle holds (multiple) triangles data, which are a fan or a strip. ///The space dimension of all the elements(MGPosition) of mgTL2Triangle is 2, 3 or 6. ///When 2, it is (u,v) that is a parameter value of the target surface. ///When 3, it is (x,y,z) and when 6, it is (x,y,z,xn,yn,zn). Here (xn,yn,zn) is the unit normal ///at the position (x,y,z) of the surface. ///See OpenGL for fan or strip. class mgTL2Triangle{ public: typedef std::vector::iterator iterator; typedef std::vector::const_iterator const_iterator; friend std::ostream& operator<< (std::ostream& out, const mgTL2Triangle& triangle); //////////// constructor /////////////// mgTL2Triangle( mgTESTRIANG type = mgTESTRIANG_FAN /// m_xyzs; ///