|
AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
|
Consists of methods to compute the generalized winding number (GWN) for points with respect to various geometric objects. More...
#include "axom/core.hpp"#include "axom/config.hpp"#include "axom/primal/geometry/Point.hpp"#include "axom/primal/geometry/Segment.hpp"#include "axom/primal/geometry/Triangle.hpp"#include "axom/primal/geometry/Polygon.hpp"#include "axom/primal/geometry/Polyhedron.hpp"#include "axom/primal/geometry/BezierCurve.hpp"#include "axom/primal/geometry/BezierPatch.hpp"#include "axom/primal/geometry/CurvedPolygon.hpp"#include "axom/primal/geometry/BoundingBox.hpp"#include "axom/primal/geometry/OrientedBoundingBox.hpp"#include "axom/primal/operators/detail/winding_number_impl.hpp"#include <cmath>Namespaces | |
| axom | |
| axom::primal | |
Functions | |
Winding number operations between 2D points and primitives | |
| template<typename T > | |
| double | axom::primal::winding_number (const Point< T, 2 > &q, const Segment< T, 2 > &s, double edge_tol=1e-8) |
| template<typename T > | |
| int | axom::primal::winding_number (const Point< T, 2 > &q, const Triangle< T, 2 > &tri, bool includeBoundary=false, double edge_tol=1e-8) |
| template<typename T > | |
| int | axom::primal::winding_number (const Point< T, 2 > &R, const Polygon< T, 2 > &P, bool &isOnEdge, bool includeBoundary, double edge_tol) |
| Computes the winding number for a 2D point wrt a 2D polygon. More... | |
| template<typename T > | |
| int | axom::primal::winding_number (const Point< T, 2 > &R, const Polygon< T, 2 > &P, bool includeBoundary=false, double edge_tol=1e-8) |
| Computes the winding number for a 2D point wrt a 2D polygon. More... | |
| template<typename T > | |
| double | axom::primal::winding_number (const Point< T, 2 > &q, const BezierCurve< T, 2 > &c, double edge_tol=1e-8, double EPS=1e-8) |
| Computes the GWN for a 2D point wrt a 2D Bezier curve. More... | |
| template<typename T > | |
| double | axom::primal::winding_number (const Point< T, 2 > &q, const CurvedPolygon< T, 2 > &cpoly, double edge_tol=1e-8, double EPS=1e-8) |
| Computes the GWN for a 2D point wrt to a 2D curved polygon. More... | |
| template<typename T > | |
| double | axom::primal::winding_number (const Point< T, 2 > &q, const axom::Array< BezierCurve< T, 2 >> &carray, double edge_tol=1e-8, double EPS=1e-8) |
| Computes the GWN for a 2D point wrt to a collection of 2D Bezier curves. More... | |
Winding number operations between 3D points and primitives | |
| template<typename T > | |
| double | axom::primal::winding_number (const Point< T, 3 > &q, const Triangle< T, 3 > &tri, bool &isOnFace, const double edge_tol=1e-8, const double EPS=1e-8) |
| Computes the GWN for a 3D point wrt a 3D triangle. More... | |
| template<typename T > | |
| double | axom::primal::winding_number (const Point< T, 3 > &q, const Triangle< T, 3 > &tri, const double edge_tol=1e-8, const double EPS=1e-8) |
| Computes the GWN for a 3D point wrt a 3D triangle. More... | |
| template<typename T > | |
| double | axom::primal::winding_number (const Point< T, 3 > &q, const Polygon< T, 3 > &poly, bool &isOnFace, const double edge_tol=1e-8, const double EPS=1e-8) |
| Computes the GWN for a 3D point wrt a 3D planar polygon. More... | |
| template<typename T > | |
| double | axom::primal::winding_number (const Point< T, 3 > &q, const Polygon< T, 3 > &poly, const double edge_tol=1e-8, const double EPS=1e-8) |
| Computes the GWN for a 3D point wrt a 3D planar polygon. More... | |
| template<typename T > | |
| int | axom::primal::winding_number (const Point< T, 3 > &query, const Polyhedron< T, 3 > &poly, bool includeBoundary=false, double edge_tol=1e-8, double EPS=1e-8) |
| Computes the winding number for a 3D point wrt a 3D convex polyhedron. More... | |
Consists of methods to compute the generalized winding number (GWN) for points with respect to various geometric objects.