16 #ifndef _OM_TRI_ITERATOR_H_
17 #define _OM_TRI_ITERATOR_H_
20 #include <MDSTk/Base/mdsMemory.h>
21 #include <MDSTk/Base/mdsIterator.h>
22 #include <MDSTk/Math/mdsBase.h>
24 #include <OpenMesh\Core\Geometry\VectorT.hh>
32 template <
class VectorT>
33 class OMTriIterator :
public mds::base::CIteratorBase<OMTriIterator<VectorT>>
144 int iY1 = mds::math::round2Int(16.0 * vertices[0][1]);
145 int iY2 = mds::math::round2Int(16.0 * vertices[1][1]);
146 int iY3 = mds::math::round2Int(16.0 * vertices[2][1]);
148 int iX1 = mds::math::round2Int(16.0 * vertices[0][0]);
149 int iX2 = mds::math::round2Int(16.0 * vertices[1][0]);
150 int iX3 = mds::math::round2Int(16.0 * vertices[2][0]);
153 int iDX1 = iX2 - iX1;
154 int iDX2 = iX3 - iX2;
155 int iDX3 = iX1 - iX3;
157 int iDY1 = iY2 - iY1;
158 int iDY2 = iY3 - iY2;
159 int iDY3 = iY1 - iY3;
177 int iC1 = iDX1 * iY1 - iDY1 * iX1;
178 int iC2 = iDX2 * iY2 - iDY2 * iX2;
179 int iC3 = iDX3 * iY3 - iDY3 * iX3;
227 #endif // _OM_TRI_ITERATOR_H_