Revision 4ef8bc7f7dbaef1be843e433c8fac2e425e7a1f7 authored by Lars Bilke on 05 July 2021, 22:06:36 UTC, committed by Lars Bilke on 05 July 2021, 22:06:36 UTC
[cmake] Fix rpath for mfront / tfel on Ubuntu. Closes #3165 See merge request ogs/ogs!3689
EarClippingTriangulation.h
/**
* \file
* \author Thomas Fischer
* \date 2011-02-23
* \brief Definition of the EarClippingTriangulation class.
*
* \copyright
* Copyright (c) 2012-2021, OpenGeoSys Community (http://www.opengeosys.org)
* Distributed under a Modified BSD License.
* See accompanying file LICENSE.txt or
* http://www.opengeosys.org/project/license
*
*/
#pragma once
#include <list>
#include <vector>
#include "AnalyticalGeometry.h"
namespace GeoLib
{
class Polygon;
class Triangle;
class EarClippingTriangulation final
{
public:
EarClippingTriangulation(GeoLib::Polygon const& polygon,
std::list<GeoLib::Triangle>& triangles,
bool rot = true);
~EarClippingTriangulation();
private:
/**
* copies the points of the polygon to the vector _pnts
*/
inline void copyPolygonPoints(GeoLib::Polygon const& polygon);
inline void ensureCWOrientation();
inline bool isEar(std::size_t v0, std::size_t v1, std::size_t v2) const;
inline void initVertexList();
inline void initLists();
inline void clipEars();
/**
* a copy of the polygon points
*/
std::vector<GeoLib::Point*> _pnts;
std::list<std::size_t> _vertex_list;
std::list<std::size_t> _convex_vertex_list;
std::list<std::size_t> _ear_list;
/**
* triangles of the triangulation (maybe in the wrong orientation)
*/
std::list<GeoLib::Triangle> _triangles;
GeoLib::Orientation _original_orientation;
};
} // end namespace GeoLib
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...