/* SPDX-License-Identifier: GPL-2.0-or-later */ #pragma once /** \file * \ingroup freestyle * \brief Class to define a cleaner of geometry providing a set of useful tools */ #include "Geom.h" #include "../system/FreestyleConfig.h" #ifdef WITH_CXX_GUARDEDALLOC # include "MEM_guardedalloc.h" #endif namespace Freestyle { using namespace Geometry; class GeomCleaner { public: inline GeomCleaner() { } inline ~GeomCleaner() { } /** Sorts an array of Indexed vertices * iVertices * Array of vertices to sort. * It is organized as a float series of vertex coordinates: XYZXYZXYZ... * iVSize * The size of iVertices array. * iIndices * The array containing the vertex indices * (used to refer to the vertex coordinates in an indexed face). * Each element is an unsignedeger multiple of 3. * iISize * The size of iIndices array * oVertices * Output of sorted vertices. * A vertex v1 precedes another one v2 in this array * if v1.x