DOLFIN-X
DOLFIN-X C++ interface
GeometryPredicates.h
1 // Copyright (C) 2016-2017 Anders Logg, August Johansson and Benjamin Kehlet
2 //
3 // This file is part of DOLFINX (https://www.fenicsproject.org)
4 //
5 // SPDX-License-Identifier: LGPL-3.0-or-later
6 
7 #pragma once
8 
9 #include <Eigen/Dense>
10 #include <vector>
11 
12 namespace dolfinx::geometry
13 {
14 
17 
19 {
20 public:
22  static bool is_degenerate(const std::vector<Eigen::Vector3d>& simplex,
23  std::size_t gdim);
24 
26  static bool is_degenerate_2d(const std::vector<Eigen::Vector3d>& simplex);
27 
29  static bool is_degenerate_3d(const std::vector<Eigen::Vector3d>& simplex);
30 
32  static bool is_finite(const std::vector<Eigen::Vector3d>& simplex);
33 
35  static bool is_finite(const std::vector<double>& simplex);
36 
38  static bool convex_hull_is_degenerate(const std::vector<Eigen::Vector3d>& p,
39  std::size_t gdim);
40 };
41 } // namespace dolfinx::geometry
dolfinx::geometry::GeometryPredicates::is_finite
static bool is_finite(const std::vector< Eigen::Vector3d > &simplex)
Check whether simplex is finite (not Inf or NaN)
Definition: GeometryPredicates.cpp:97
dolfinx::geometry::GeometryPredicates::is_degenerate
static bool is_degenerate(const std::vector< Eigen::Vector3d > &simplex, std::size_t gdim)
Check whether simplex is degenerate.
Definition: GeometryPredicates.cpp:17
dolfinx::geometry::GeometryPredicates::convex_hull_is_degenerate
static bool convex_hull_is_degenerate(const std::vector< Eigen::Vector3d > &p, std::size_t gdim)
Check whether the convex hull is degenerate.
Definition: GeometryPredicates.cpp:121
dolfinx::geometry::GeometryPredicates::is_degenerate_2d
static bool is_degenerate_2d(const std::vector< Eigen::Vector3d > &simplex)
Check whether simplex is degenerate (2D version)
Definition: GeometryPredicates.cpp:32
dolfinx::geometry::GeometryPredicates
This class implements geometric predicates, i.e. function that return either true or false.
Definition: GeometryPredicates.h:18
dolfinx::geometry::GeometryPredicates::is_degenerate_3d
static bool is_degenerate_3d(const std::vector< Eigen::Vector3d > &simplex)
Check whether simplex is degenerate (3D version)
Definition: GeometryPredicates.cpp:54
dolfinx::geometry
Geometry data structures and algorithms.
Definition: Function.h:23