GEOS
|
#include "common/DataTypes.hpp"
#include "common/DataLayouts.hpp"
#include "finiteElement/elementFormulations/H1_Hexahedron_Lagrange1_GaussLegendre2.hpp"
#include "finiteElement/elementFormulations/H1_Pyramid_Lagrange1_Gauss5.hpp"
#include "finiteElement/elementFormulations/H1_Tetrahedron_Lagrange1_Gauss1.hpp"
#include "finiteElement/elementFormulations/H1_Wedge_Lagrange1_Gauss6.hpp"
#include "LvArray/src/output.hpp"
#include "LvArray/src/tensorOps.hpp"
Go to the source code of this file.
Namespaces | |
geos | |
Functions | |
template<typename LINEDIR_TYPE , typename POINT_TYPE , typename NORMAL_TYPE , typename ORIGIN_TYPE , typename INTPOINT_TYPE > | |
void | geos::computationalGeometry::LinePlaneIntersection (LINEDIR_TYPE const &lineDir, POINT_TYPE const &linePoint, NORMAL_TYPE const &planeNormal, ORIGIN_TYPE const &planeOrigin, INTPOINT_TYPE &intersectionPoint) |
Calculate the intersection between a line and a plane. More... | |
template<typename NORMAL_TYPE > | |
array1d< int > | geos::computationalGeometry::orderPointsCCW (arrayView2d< real64 > const &points, NORMAL_TYPE const &normal) |
Reorder a set of points counter-clockwise. More... | |
template<typename NORMAL_TYPE > | |
real64 | geos::computationalGeometry::ComputeSurfaceArea (arrayView2d< real64 const > const &points, NORMAL_TYPE const &&normal) |
Calculate the area of a polygon given the set of points in ccw order defining it. More... | |
template<localIndex DIMENSION, typename POINT_COORDS_TYPE > | |
GEOS_HOST_DEVICE GEOS_FORCE_INLINE real64 | geos::computationalGeometry::computeDiameter (POINT_COORDS_TYPE points, localIndex const &numPoints) |
Calculate the diameter of a set of points in a given dimension. More... | |
template<typename CENTER_TYPE , typename NORMAL_TYPE > | |
GEOS_HOST_DEVICE GEOS_FORCE_INLINE real64 | geos::computationalGeometry::centroid_3DPolygon (arraySlice1d< localIndex const > const pointsIndices, arrayView2d< real64 const, nodes::REFERENCE_POSITION_USD > const &points, CENTER_TYPE &¢er, NORMAL_TYPE &&normal, real64 const areaTolerance=0.0) |
Calculate the centroid of a convex 3D polygon as well as the normal and the rotation matrix. More... | |
template<typename NORMAL_TYPE > | |
GEOS_HOST_DEVICE void | geos::computationalGeometry::FixNormalOrientation_3D (NORMAL_TYPE &&normal) |
Change the orientation of the input vector to be consistent in a global sense. More... | |
template<typename NORMAL_TYPE , typename MATRIX_TYPE > | |
GEOS_HOST_DEVICE void | geos::computationalGeometry::RotationMatrix_3D (NORMAL_TYPE const &normal, MATRIX_TYPE &&rotationMatrix) |
Calculate the rotation matrix for a face in the 3D space. More... | |
template<typename T > | |
GEOS_HOST_DEVICE GEOS_FORCE_INLINE int | geos::computationalGeometry::sign (T const val) |
Return the sign of a given value as an integer. More... | |
template<typename POINT_TYPE > | |
GEOS_HOST_DEVICE bool | geos::computationalGeometry::isPointInsidePolyhedron (arrayView2d< real64 const, nodes::REFERENCE_POSITION_USD > const &nodeCoordinates, arraySlice1d< localIndex const > const &faceIndices, ArrayOfArraysView< localIndex const > const &facesToNodes, POINT_TYPE const &elemCenter, POINT_TYPE const &point, real64 const areaTolerance=0.0) |
Check if a point is inside a convex polyhedron (3D polygon) More... | |
template<typename COORD_TYPE , typename POINT_TYPE > | |
GEOS_HOST_DEVICE int | geos::computationalGeometry::lexicographicalCompareVertex (POINT_TYPE const ax, POINT_TYPE const ay, POINT_TYPE const az, COORD_TYPE const bx, COORD_TYPE const by, COORD_TYPE const bz) |
Method to perform lexicographic comparison of two nodes based on coordinates. More... | |
template<typename COORD_TYPE , typename POINT_TYPE > | |
GEOS_HOST_DEVICE int | geos::computationalGeometry::lexicographicalCompareEdge (POINT_TYPE const ax, POINT_TYPE const ay, POINT_TYPE const az, COORD_TYPE const e1x, COORD_TYPE const e1y, COORD_TYPE const e1z, COORD_TYPE const e2x, COORD_TYPE const e2y, COORD_TYPE const e2z) |
Method to perform lexicographic comparison of a node and an edge based on coordinates. More... | |
template<typename COORD_TYPE , typename POINT_TYPE > | |
GEOS_HOST_DEVICE int | geos::computationalGeometry::lexicographicalCompareTriangle (POINT_TYPE const ax, POINT_TYPE const ay, POINT_TYPE const az, COORD_TYPE const t1x, COORD_TYPE const t1y, COORD_TYPE const t1z, COORD_TYPE const t2x, COORD_TYPE const t2y, COORD_TYPE const t2z, COORD_TYPE const t3x, COORD_TYPE const t3y, COORD_TYPE const t3z) |
Method to perform lexicographic comparison of a node and a triangle based on coordinates. More... | |
template<typename ... LIST_TYPE> | |
GEOS_HOST_DEVICE int | geos::computationalGeometry::findVertexRefElement (arraySlice1d< localIndex const > const &nodeElements, arrayView1d< globalIndex const > const &elementGlobalIndex) |
Method to find the reference element touching a vertex. The element with the lowest global ID is chosen from the list. More... | |
template<typename ... LIST_TYPE> | |
GEOS_HOST_DEVICE int | geos::computationalGeometry::findEdgeRefElement (arraySlice1d< localIndex const > const &nodeElements1, arraySlice1d< localIndex const > const &nodeElements2, arrayView1d< globalIndex const > const &elementGlobalIndex) |
Method to find the reference element for an edge. The element with the lowest global ID is chosen from the list. More... | |
template<typename ... LIST_TYPE> | |
GEOS_HOST_DEVICE int | geos::computationalGeometry::findTriangleRefElement (arraySlice1d< localIndex const > const &nodeElements1, arraySlice1d< localIndex const > const &nodeElements2, arraySlice1d< localIndex const > const &nodeElements3, arrayView1d< globalIndex const > const &elementGlobalIndex) |
Method to find the reference element for a triangle. The element with the lowest global ID is chosen from the list. More... | |
template<typename COORD_TYPE , typename POINT_TYPE > | |
GEOS_HOST_DEVICE bool | geos::computationalGeometry::computeWindingNumber (localIndex element, arrayView2d< COORD_TYPE const, nodes::REFERENCE_POSITION_USD > const &nodeCoordinates, arrayView2d< localIndex const > const &elementsToFaces, ArrayOfArraysView< localIndex const > const &facesToNodes, ArrayOfArraysView< localIndex const > const &nodesToElements, arrayView1d< globalIndex const > const &nodeLocalToGlobal, arrayView1d< globalIndex const > const &elementLocalToGlobal, POINT_TYPE const &elemCenter, POINT_TYPE const &point) |
Computes the winding number of a point with respecto to a mesh element. More... | |
template<typename COORD_TYPE , typename POINT_TYPE > | |
GEOS_HOST_DEVICE bool | geos::computationalGeometry::isPointInsideConvexPolyhedronRobust (localIndex element, arrayView2d< COORD_TYPE const, nodes::REFERENCE_POSITION_USD > const &nodeCoordinates, arrayView2d< localIndex const > const &elementsToFaces, ArrayOfArraysView< localIndex const > const &facesToNodes, ArrayOfArraysView< localIndex const > const &nodesToElements, arrayView1d< globalIndex const > const &nodeLocalToGlobal, arrayView1d< globalIndex const > const &elementLocalToGlobal, POINT_TYPE const &elemCenter, POINT_TYPE const &point) |
Check if a point is inside a convex polyhedron (3D polygon), using a robust method to avoid ambiguity when the point lies on an interface. This method is based on the following method: More... | |
template<typename VEC_TYPE > | |
GEOS_HOST_DEVICE void | geos::computationalGeometry::getBoundingBox (localIndex const elemIndex, arrayView2d< localIndex const, cells::NODE_MAP_USD > const &pointIndices, arrayView2d< real64 const, nodes::REFERENCE_POSITION_USD > const &pointCoordinates, VEC_TYPE &&boxDims) |
Compute the dimensions of the bounding box containing the element defined here by the coordinates of its vertices. More... | |
template<typename FE_TYPE > | |
GEOS_HOST_DEVICE real64 | geos::computationalGeometry::elementVolume (real64 const (&X)[FE_TYPE::numNodes][3]) |
Compute the volume of an element (tetrahedron, pyramid, wedge, hexahedron) More... | |
GEOS_HOST_DEVICE real64 | geos::computationalGeometry::hexahedronVolume (real64 const (&X)[8][3]) |
Compute the volume of an hexahedron. More... | |
GEOS_HOST_DEVICE real64 | geos::computationalGeometry::tetrahedronVolume (real64 const (&X)[4][3]) |
Compute the volume of an tetrahedron. More... | |
GEOS_HOST_DEVICE real64 | geos::computationalGeometry::wedgeVolume (real64 const (&X)[6][3]) |
Compute the volume of a wedge. More... | |
GEOS_HOST_DEVICE real64 | geos::computationalGeometry::pyramidVolume (real64 const (&X)[5][3]) |
Compute the volume of a pyramid. More... | |
template<integer N> | |
GEOS_HOST_DEVICE real64 | geos::computationalGeometry::prismVolume (real64 const (&X)[2 *N][3]) |
Compute the volume of a prism with N-sided polygon base. More... | |
Variables | |
constexpr real64 | geos::computationalGeometry::machinePrecision = LvArray::NumericLimits< real64 >::epsilon |
Machine epsilon for double-precision calculations. | |
GEOS_HOST_DEVICE GEOS_FORCE_INLINE real64 geos::computationalGeometry::centroid_3DPolygon | ( | arraySlice1d< localIndex const > const | pointsIndices, |
arrayView2d< real64 const, nodes::REFERENCE_POSITION_USD > const & | points, | ||
CENTER_TYPE && | center, | ||
NORMAL_TYPE && | normal, | ||
real64 const | areaTolerance = 0.0 |
||
) |
Calculate the centroid of a convex 3D polygon as well as the normal and the rotation matrix.
CENTER_TYPE | The type of center . |
NORMAL_TYPE | The type of normal . |
[in] | pointsIndices | list of index references for the points array in order (CW or CCW) about the polygon loop |
[in] | points | 3D point list |
[out] | center | 3D center of the given ordered polygon point list |
[out] | normal | normal to the face |
[in] | areaTolerance | tolerance used in the geometric computations |
if area < - areaTolerance, this function will throw an error, and if (- areaTolerance <= area <= areaTolerance), the area is set to zero
Definition at line 234 of file ComputationalGeometry.hpp.
GEOS_HOST_DEVICE GEOS_FORCE_INLINE real64 geos::computationalGeometry::computeDiameter | ( | POINT_COORDS_TYPE | points, |
localIndex const & | numPoints | ||
) |
Calculate the diameter of a set of points in a given dimension.
DIMENSION | The dimensionality of the points. |
POINT_COORDS_TYPE | The type of the container holding the point coordinates. |
[in] | points | The container holding the coordinates of the points. |
[in] | numPoints | The number of points in the container. |
Definition at line 194 of file ComputationalGeometry.hpp.
real64 geos::computationalGeometry::ComputeSurfaceArea | ( | arrayView2d< real64 const > const & | points, |
NORMAL_TYPE const && | normal | ||
) |
Calculate the area of a polygon given the set of points in ccw order defining it.
NORMAL_TYPE | the type of normal |
[in] | points | coordinates of the points |
[in] | normal | vector normal to the plane |
Definition at line 153 of file ComputationalGeometry.hpp.
GEOS_HOST_DEVICE bool geos::computationalGeometry::computeWindingNumber | ( | localIndex | element, |
arrayView2d< COORD_TYPE const, nodes::REFERENCE_POSITION_USD > const & | nodeCoordinates, | ||
arrayView2d< localIndex const > const & | elementsToFaces, | ||
ArrayOfArraysView< localIndex const > const & | facesToNodes, | ||
ArrayOfArraysView< localIndex const > const & | nodesToElements, | ||
arrayView1d< globalIndex const > const & | nodeLocalToGlobal, | ||
arrayView1d< globalIndex const > const & | elementLocalToGlobal, | ||
POINT_TYPE const & | elemCenter, | ||
POINT_TYPE const & | point | ||
) |
Computes the winding number of a point with respecto to a mesh element.
POINT_TYPE | type of point |
[in] | element | the element to be checked |
[in] | nodeCoordinates | a global array of nodal coordinates |
[in] | elementsToFaces | map from elements to faces |
[in] | facesToNodes | map from faces to nodes |
[in] | nodesToElements | map from nodes to elements |
[in] | nodeLocalToGlobal | global indices of nodes |
[in] | elementLocalToGlobal | global indices of elements |
[in] | elemCenter | coordinates of the element centroid |
[in] | point | coordinates of the query point |
Definition at line 659 of file ComputationalGeometry.hpp.
|
inline |
Compute the volume of an element (tetrahedron, pyramid, wedge, hexahedron)
FE_TYPE | the type of finite element space |
[in] | X | vertices of the element |
Definition at line 879 of file ComputationalGeometry.hpp.
GEOS_HOST_DEVICE int geos::computationalGeometry::findEdgeRefElement | ( | arraySlice1d< localIndex const > const & | nodeElements1, |
arraySlice1d< localIndex const > const & | nodeElements2, | ||
arrayView1d< globalIndex const > const & | elementGlobalIndex | ||
) |
Method to find the reference element for an edge. The element with the lowest global ID is chosen from the list.
[in] | nodeElements1 | the list of elements adjacent to the first node |
[in] | nodeElements2 | the list of elements adjacent to the second node |
[in] | elementGlobalIndex | the global IDs for elements |
Definition at line 577 of file ComputationalGeometry.hpp.
GEOS_HOST_DEVICE int geos::computationalGeometry::findTriangleRefElement | ( | arraySlice1d< localIndex const > const & | nodeElements1, |
arraySlice1d< localIndex const > const & | nodeElements2, | ||
arraySlice1d< localIndex const > const & | nodeElements3, | ||
arrayView1d< globalIndex const > const & | elementGlobalIndex | ||
) |
Method to find the reference element for a triangle. The element with the lowest global ID is chosen from the list.
[in] | nodeElements1 | the list of elements adjacent to the first node |
[in] | nodeElements2 | the list of elements adjacent to the second node |
[in] | nodeElements3 | the list of elements adjacent to the third node |
[in] | elementGlobalIndex | the global IDs for elements |
Definition at line 613 of file ComputationalGeometry.hpp.
GEOS_HOST_DEVICE int geos::computationalGeometry::findVertexRefElement | ( | arraySlice1d< localIndex const > const & | nodeElements, |
arrayView1d< globalIndex const > const & | elementGlobalIndex | ||
) |
Method to find the reference element touching a vertex. The element with the lowest global ID is chosen from the list.
[in] | nodeElements | the list of elements adjacent to the vertex |
[in] | elementGlobalIndex | the global IDs for elements |
Definition at line 550 of file ComputationalGeometry.hpp.
GEOS_HOST_DEVICE void geos::computationalGeometry::FixNormalOrientation_3D | ( | NORMAL_TYPE && | normal | ) |
Change the orientation of the input vector to be consistent in a global sense.
NORMAL_TYPE | type of normal |
[in,out] | normal | normal to the face |
Definition at line 294 of file ComputationalGeometry.hpp.
GEOS_HOST_DEVICE void geos::computationalGeometry::getBoundingBox | ( | localIndex const | elemIndex, |
arrayView2d< localIndex const, cells::NODE_MAP_USD > const & | pointIndices, | ||
arrayView2d< real64 const, nodes::REFERENCE_POSITION_USD > const & | pointCoordinates, | ||
VEC_TYPE && | boxDims | ||
) |
Compute the dimensions of the bounding box containing the element defined here by the coordinates of its vertices.
VEC_TYPE | type of boxDims |
[in] | elemIndex | index of the element in pointIndices. |
[in] | pointIndices | the indices of the vertices in pointCoordinates. |
[in] | pointCoordinates | the vertices coordinates. |
[out] | boxDims | The dimensions of the bounding box. |
Definition at line 844 of file ComputationalGeometry.hpp.
|
inline |
Compute the volume of an hexahedron.
[in] | X | vertices of the hexahedron |
Definition at line 896 of file ComputationalGeometry.hpp.
GEOS_HOST_DEVICE bool geos::computationalGeometry::isPointInsideConvexPolyhedronRobust | ( | localIndex | element, |
arrayView2d< COORD_TYPE const, nodes::REFERENCE_POSITION_USD > const & | nodeCoordinates, | ||
arrayView2d< localIndex const > const & | elementsToFaces, | ||
ArrayOfArraysView< localIndex const > const & | facesToNodes, | ||
ArrayOfArraysView< localIndex const > const & | nodesToElements, | ||
arrayView1d< globalIndex const > const & | nodeLocalToGlobal, | ||
arrayView1d< globalIndex const > const & | elementLocalToGlobal, | ||
POINT_TYPE const & | elemCenter, | ||
POINT_TYPE const & | point | ||
) |
Check if a point is inside a convex polyhedron (3D polygon), using a robust method to avoid ambiguity when the point lies on an interface. This method is based on the following method:
POINT_TYPE | type of point |
[in] | element | the element to be checked |
[in] | nodeCoordinates | a global array of nodal coordinates |
[in] | elementsToFaces | map from elements to faces |
[in] | facesToNodes | map from faces to nodes |
[in] | nodesToElements | map from nodes to elements |
[in] | nodeLocalToGlobal | global indices of nodes |
[in] | elementLocalToGlobal | global indices of elements |
[in] | elemCenter | coordinates of the element centroid |
[in] | point | coordinates of the query point |
Definition at line 820 of file ComputationalGeometry.hpp.
GEOS_HOST_DEVICE bool geos::computationalGeometry::isPointInsidePolyhedron | ( | arrayView2d< real64 const, nodes::REFERENCE_POSITION_USD > const & | nodeCoordinates, |
arraySlice1d< localIndex const > const & | faceIndices, | ||
ArrayOfArraysView< localIndex const > const & | facesToNodes, | ||
POINT_TYPE const & | elemCenter, | ||
POINT_TYPE const & | point, | ||
real64 const | areaTolerance = 0.0 |
||
) |
Check if a point is inside a convex polyhedron (3D polygon)
POINT_TYPE | type of point |
[in] | nodeCoordinates | a global array of nodal coordinates |
[in] | faceIndices | global indices of the faces of the cell |
[in] | facesToNodes | map from face to nodes |
[in] | elemCenter | coordinates of the element center |
[in] | point | coordinates of the query point |
[in] | areaTolerance | same as in centroid_3DPolygon |
Definition at line 399 of file ComputationalGeometry.hpp.
GEOS_HOST_DEVICE int geos::computationalGeometry::lexicographicalCompareEdge | ( | POINT_TYPE const | ax, |
POINT_TYPE const | ay, | ||
POINT_TYPE const | az, | ||
COORD_TYPE const | e1x, | ||
COORD_TYPE const | e1y, | ||
COORD_TYPE const | e1z, | ||
COORD_TYPE const | e2x, | ||
COORD_TYPE const | e2y, | ||
COORD_TYPE const | e2z | ||
) |
Method to perform lexicographic comparison of a node and an edge based on coordinates.
COORD_TYPE | type of coordinate |
POINT_TYPE | type of point |
[in] | ax | x-coordinate of the first vertex |
[in] | ay | y-coordinate of the first vertex |
[in] | az | z-coordinate of the first vertex |
[in] | e1x | x-coordinate of the first edge vertex |
[in] | e1y | y-coordinate of the first edge vertex |
[in] | e1z | z-coordinate of the first edge vertex |
[in] | e2x | x-coordinate of the second edge vertex |
[in] | e2y | y-coordinate of the second edge vertex |
[in] | e2z | z-coordinate of the second edge vertex |
Definition at line 486 of file ComputationalGeometry.hpp.
GEOS_HOST_DEVICE int geos::computationalGeometry::lexicographicalCompareTriangle | ( | POINT_TYPE const | ax, |
POINT_TYPE const | ay, | ||
POINT_TYPE const | az, | ||
COORD_TYPE const | t1x, | ||
COORD_TYPE const | t1y, | ||
COORD_TYPE const | t1z, | ||
COORD_TYPE const | t2x, | ||
COORD_TYPE const | t2y, | ||
COORD_TYPE const | t2z, | ||
COORD_TYPE const | t3x, | ||
COORD_TYPE const | t3y, | ||
COORD_TYPE const | t3z | ||
) |
Method to perform lexicographic comparison of a node and a triangle based on coordinates.
COORD_TYPE | type of coordinate |
POINT_TYPE | type of point |
[in] | ax | x-coordinate of the first vertex |
[in] | ay | y-coordinate of the first vertex |
[in] | az | z-coordinate of the first vertex |
[in] | t1x | x-coordinate of the first triangle vertex |
[in] | t1y | y-coordinate of the first triangle vertex |
[in] | t1z | z-coordinate of the first triangle vertex |
[in] | t2x | x-coordinate of the second triangle vertex |
[in] | t2y | y-coordinate of the second triangle vertex |
[in] | t2z | z-coordinate of the second triangle vertex |
[in] | t3x | x-coordinate of the third triangle vertex |
[in] | t3y | y-coordinate of the third triangle vertex |
[in] | t3z | z-coordinate of the third triangle vertex |
Definition at line 518 of file ComputationalGeometry.hpp.
GEOS_HOST_DEVICE int geos::computationalGeometry::lexicographicalCompareVertex | ( | POINT_TYPE const | ax, |
POINT_TYPE const | ay, | ||
POINT_TYPE const | az, | ||
COORD_TYPE const | bx, | ||
COORD_TYPE const | by, | ||
COORD_TYPE const | bz | ||
) |
Method to perform lexicographic comparison of two nodes based on coordinates.
COORD_TYPE | type of coordinate |
POINT_TYPE | type of point |
[in] | ax | x-coordinate of the first vertex |
[in] | ay | y-coordinate of the first vertex |
[in] | az | z-coordinate of the first vertex |
[in] | bx | x-coordinate of the second vertex |
[in] | by | y-coordinate of the second vertex |
[in] | bz | z-coordinate of the second vertex |
Definition at line 451 of file ComputationalGeometry.hpp.
void geos::computationalGeometry::LinePlaneIntersection | ( | LINEDIR_TYPE const & | lineDir, |
POINT_TYPE const & | linePoint, | ||
NORMAL_TYPE const & | planeNormal, | ||
ORIGIN_TYPE const & | planeOrigin, | ||
INTPOINT_TYPE & | intersectionPoint | ||
) |
Calculate the intersection between a line and a plane.
LINEDIR_TYPE | the type of lineDir |
POINT_TYPE | the type of linePoint |
NORMAL_TYPE | the type of planeNormal |
ORIGIN_TYPE | the type of planeOrigin |
INTPOINT_TYPE | the type of instersectionPoint |
[in] | lineDir | vector defining direction of the line |
[in] | linePoint | one point of the line |
[in] | planeNormal | normal to plane |
[in] | planeOrigin | plane origin |
[out] | intersectionPoint | the intersection point |
Definition at line 58 of file ComputationalGeometry.hpp.
array1d< int > geos::computationalGeometry::orderPointsCCW | ( | arrayView2d< real64 > const & | points, |
NORMAL_TYPE const & | normal | ||
) |
Reorder a set of points counter-clockwise.
NORMAL_TYPE | the type of normal |
[in] | points | coordinates of the points |
[in] | normal | vector normal to the plane |
Definition at line 87 of file ComputationalGeometry.hpp.
|
inline |
Compute the volume of a prism with N-sided polygon base.
N | the number of sides in the polygon base |
[in] | X | vertices of the prism |
Definition at line 950 of file ComputationalGeometry.hpp.
|
inline |
Compute the volume of a pyramid.
[in] | X | vertices of the pyramid |
Definition at line 932 of file ComputationalGeometry.hpp.
GEOS_HOST_DEVICE void geos::computationalGeometry::RotationMatrix_3D | ( | NORMAL_TYPE const & | normal, |
MATRIX_TYPE && | rotationMatrix | ||
) |
Calculate the rotation matrix for a face in the 3D space.
NORMAL_TYPE | type of normal |
MATRIX_TYPE | type of rotationMatrix |
[in] | normal | normal to the face |
[out] | rotationMatrix | rotation matrix for the face |
Definition at line 331 of file ComputationalGeometry.hpp.
GEOS_HOST_DEVICE GEOS_FORCE_INLINE int geos::computationalGeometry::sign | ( | T const | val | ) |
Return the sign of a given value as an integer.
T | type of value |
val | the value in question |
Definition at line 379 of file ComputationalGeometry.hpp.
|
inline |
Compute the volume of an tetrahedron.
[in] | X | vertices of the tetrahedron |
Definition at line 908 of file ComputationalGeometry.hpp.
|
inline |
Compute the volume of a wedge.
[in] | X | vertices of the wedge |
Definition at line 920 of file ComputationalGeometry.hpp.