AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
clip.hpp File Reference

Consists of a set of methods to clip a primal primitive against another primal primitive. More...

Namespaces

 axom
 
 axom::primal
 

Functions

template<typename T >
Polygon< T, 3 > axom::primal::clip (const Triangle< T, 3 > &tri, const BoundingBox< T, 3 > &bbox)
 Clips a 3D triangle against an axis-aligned bounding box in 3D. More...
 
template<typename T , axom::primal::PolygonArray ARRAY_TYPE, int MAX_VERTS>
AXOM_SUPPRESS_HD_WARN AXOM_HOST_DEVICE Polygon< T, 2, ARRAY_TYPE, MAX_VERTS > axom::primal::clip (const Polygon< T, 2, ARRAY_TYPE, MAX_VERTS > &subjectPolygon, const Polygon< T, 2, ARRAY_TYPE, MAX_VERTS > &clipPolygon, double eps=1.e-10, bool tryFixOrientation=false)
 Clips a 2D subject polygon against a clip polygon in 2D, returning their geometric intersection as a polygon. More...
 
template<typename T , axom::primal::PolygonArray ARRAY_TYPE, int MAX_VERTS>
AXOM_HOST_DEVICE Polygon< T, 2, ARRAY_TYPE, MAX_VERTS > axom::primal::clip (const Polygon< T, 2, ARRAY_TYPE, MAX_VERTS > &subjectPolygon, const Plane< T, 2 > &clipPlane, double eps=1.e-10, bool tryFixOrientation=false)
 Clips a 2D subject polygon against a clip plane in 2D, returning their geometric intersection as a polygon. More...
 
template<typename T >
AXOM_HOST_DEVICE Polyhedron< T, 3 > axom::primal::clip (const Hexahedron< T, 3 > &hex, const Tetrahedron< T, 3 > &tet, double eps=1.e-10, bool tryFixOrientation=false)
 Clips a 3D hexahedron against a tetrahedron in 3D, returning the geometric intersection of the hexahedron and the tetrahedron as a polyhedron. More...
 
template<typename T >
AXOM_HOST_DEVICE Polyhedron< T, 3 > axom::primal::clip (const Tetrahedron< T, 3 > &tet, const Hexahedron< T, 3 > &hex, double eps=1.e-10, bool tryFixOrientation=false)
 Clips a 3D hexahedron against a tetrahedron in 3D, returning the geometric intersection of the hexahedron and the tetrahedron as a polyhedron. More...
 
template<typename T >
AXOM_HOST_DEVICE Polyhedron< T, 3 > axom::primal::clip (const Hexahedron< T, 3 > &hex1, const Hexahedron< T, 3 > &hex2, double eps=1.e-10, bool tryFixOrientation=false)
 Clips a 3D hexahedron against a hexahedron in 3D, returning the geometric intersection of the hexahedron and the hexahedron as a polyhedron. More...
 
template<typename T >
AXOM_HOST_DEVICE Polyhedron< T, 3 > axom::primal::clip (const Octahedron< T, 3 > &oct, const Tetrahedron< T, 3 > &tet, double eps=1.e-10, bool tryFixOrientation=false)
 Clips a 3D octahedron against a tetrahedron in 3D, returning the geometric intersection of the octahedron and the tetrahedron as a polyhedron. More...
 
template<typename T >
AXOM_HOST_DEVICE Polyhedron< T, 3 > axom::primal::clip (const Tetrahedron< T, 3 > &tet, const Octahedron< T, 3 > &oct, double eps=1.e-10, bool tryFixOrientation=false)
 Clips a 3D octahedron against a tetrahedron in 3D, returning the geometric intersection of the octahedron and the tetrahedron as a polyhedron. More...
 
template<typename T >
AXOM_HOST_DEVICE Polyhedron< T, 3 > axom::primal::clip (const Tetrahedron< T, 3 > &tet1, const Tetrahedron< T, 3 > &tet2, double eps=1.e-10, bool tryFixOrientation=false)
 Clips a 3D tetrahedron against another tetrahedron in 3D, returning the geometric intersection as a polyhedron. More...
 
template<typename T >
AXOM_HOST_DEVICE Polyhedron< T, 3 > axom::primal::clip (const Tetrahedron< T, 3 > &tet, const Polyhedron< T, 3 > &poly, double eps=1.e-10, bool tryFixOrientation=false)
 Clips a 3D polyhedron against another polyhedron in 3D, returning the geometric intersection as a polyhedron. More...
 
template<typename T >
AXOM_HOST_DEVICE Polyhedron< T, 3 > axom::primal::clip (const Polyhedron< T, 3 > &poly, const Tetrahedron< T, 3 > &tet, double eps=1.e-10, bool tryFixOrientation=false)
 Clips a 3D polyhedron against another polyhedron in 3D, returning the geometric intersection as a polyhedron. More...
 
template<typename T >
AXOM_HOST_DEVICE Polyhedron< T, 3 > axom::primal::clip (const Hexahedron< T, 3 > &hex, const Polyhedron< T, 3 > &poly, double eps=1.e-10, bool tryFixOrientation=false)
 Clips a 3D hexahedron against a polyhedron in 3D, returning the geometric intersection as a polyhedron. More...
 
template<typename T >
AXOM_HOST_DEVICE Polyhedron< T, 3 > axom::primal::clip (const Polyhedron< T, 3 > &poly, const Hexahedron< T, 3 > &hex, double eps=1.e-10, bool tryFixOrientation=false)
 Clips a 3D polyhedron against a hexahedron in 3D, returning the geometric intersection as a polyhedron. More...
 
template<typename T >
AXOM_HOST_DEVICE Polyhedron< T, 3 > axom::primal::clip (const Polyhedron< T, 3 > &poly1, const Polyhedron< T, 3 > &poly2, double eps=1.e-10)
 Clips a 3D polyhedron against another polyhedron in 3D, returning the geometric intersection as a polyhedron. More...
 
template<typename T >
AXOM_HOST_DEVICE Polyhedron< T, 3 > axom::primal::clip (const Tetrahedron< T, 3 > &tet, const Plane< T, 3 > &plane, double eps=1.e-10, bool tryFixOrientation=false)
 Clips a 3D tetrahedron against the half-space defined by a plane and returns the resulting polyhedron. More...
 
template<typename T >
AXOM_HOST_DEVICE Polyhedron< T, 3 > axom::primal::clip (const Plane< T, 3 > &plane, const Tetrahedron< T, 3 > &tet, double eps=1.e-10, bool tryFixOrientation=false)
 Clips a 3D tetrahedron against the half-space defined by a plane and returns the resulting polyhedron. More...
 
template<typename T >
AXOM_HOST_DEVICE Polyhedron< T, 3 > axom::primal::clip (const Polyhedron< T, 3 > &poly, const Plane< T, 3 > &plane, double eps=1.e-10)
 Clips a 3D polyhedron against the half-space defined by a plane and returns the resulting polyhedron. More...
 
template<typename T >
AXOM_HOST_DEVICE Polyhedron< T, 3 > axom::primal::clip (const Plane< T, 3 > &plane, const Polyhedron< T, 3 > &poly, double eps=1.e-10)
 Clips a 3D polyhedron against the half-space defined by a plane and returns the resulting polyhedron. More...
 
template<typename T >
AXOM_HOST_DEVICE Polyhedron< T, 3 > axom::primal::clip (const Hexahedron< T, 3 > &hex, const Plane< T, 3 > &plane, double eps=1.e-10, bool tryFixOrientation=false)
 Clips a 3D hexahedron against the half-space defined by a plane and returns the resulting polyhedron. More...
 

Detailed Description

Consists of a set of methods to clip a primal primitive against another primal primitive.