Lagrange
triangulate_polygonal_facets.h
1
/*
2
* Copyright 2022 Adobe. All rights reserved.
3
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
* you may not use this file except in compliance with the License. You may obtain a copy
5
* of the License at http://www.apache.org/licenses/LICENSE-2.0
6
*
7
* Unless required by applicable law or agreed to in writing, software distributed under
8
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
* OF ANY KIND, either express or implied. See the License for the specific language
10
* governing permissions and limitations under the License.
11
*/
12
#pragma once
13
14
#include <lagrange/SurfaceMesh.h>
15
16
#include <vector>
17
18
namespace
lagrange
{
19
27
28
struct
TriangulationOptions
29
{
30
enum class
Scheme
{
31
Earcut,
32
CentroidFan
33
};
34
35
Scheme
scheme
=
Scheme::Earcut
;
36
};
37
47
template
<
typename
Scalar,
typename
Index>
48
void
triangulate_polygonal_facets
(
49
SurfaceMesh<Scalar, Index>
& mesh,
50
const
TriangulationOptions
& options = {});
51
53
54
}
// namespace lagrange
lagrange::SurfaceMesh< Scalar, Index >
lagrange::triangulate_polygonal_facets
void triangulate_polygonal_facets(SurfaceMesh< Scalar, Index > &mesh, const TriangulationOptions &options={})
Triangulate polygonal facets of a mesh using a prescribed set of rules.
Definition:
triangulate_polygonal_facets.cpp:520
lagrange
Main namespace for Lagrange.
Definition:
AABBIGL.h:30
lagrange::TriangulationOptions
Definition:
triangulate_polygonal_facets.h:29
lagrange::TriangulationOptions::Scheme
Scheme
Definition:
triangulate_polygonal_facets.h:30
lagrange::TriangulationOptions::Scheme::Earcut
@ Earcut
Use earcut algorithm to triangulate polygons.
lagrange::TriangulationOptions::scheme
Scheme scheme
Triangulation scheme to use.
Definition:
triangulate_polygonal_facets.h:35
lagrange
triangulate_polygonal_facets.h
Generated by
1.9.4