ug4
geometry_util.h File Reference

Go to the source code of this file.

Classes

struct  ug::ElementSideRayIntersectionWrapper< TRefElem, TWorldDim, TRefDim >
 
struct  ug::ElementSideRayIntersectionWrapper< TRefElem, 2, 2 >
 
struct  ug::ElementSideRayIntersectionWrapper< TRefElem, 3, 3 >
 
struct  ug::SCVFofSCVRayIntersectionWrapper< TDim, TWorldDim >
 
struct  ug::SCVFofSCVRayIntersectionWrapper< 2, 2 >
 

Namespaces

 ug
 the ug namespace
 

Functions

template<int TWorldDim, int ncorners>
void ug::ComputeElementExtensionsSq (const MathVector< TWorldDim > *vCornerCoords, MathVector< TWorldDim > &ext)
 
template<typename TVector >
void ug::ComputeElementExtensionsSqForEdges (const TVector *vCornerCoords, TVector &ext)
 Extension of an element (in a given dimension) More...
 
template<int dim>
void ug::ElementExtensionsSq (ReferenceObjectID roid, MathVector< dim > &ext, const MathVector< dim > *vCornerCoords)
 
template<>
void ug::ElementExtensionsSq< 1 > (ReferenceObjectID roid, MathVector< 1 > &ext, const MathVector< 1 > *vCornerCoords)
 
template<>
void ug::ElementExtensionsSq< 2 > (ReferenceObjectID roid, MathVector< 2 > &ext, const MathVector< 2 > *vCornerCoords)
 
template<>
void ug::ElementExtensionsSq< 3 > (ReferenceObjectID roid, MathVector< 3 > &ext, const MathVector< 3 > *vCornerCoords)
 
template<typename TRefElem , int TWorldDim>
void ug::ElementNormal (MathVector< TWorldDim > &normalOut, const MathVector< TWorldDim > *vCornerCoords)
 Normal to an Element in a given Dimension. More...
 
template<int dim>
void ug::ElementNormal (ReferenceObjectID roid, MathVector< dim > &normalOut, const MathVector< dim > *vCornerCoords)
 
template<>
void ug::ElementNormal< 1 > (ReferenceObjectID roid, MathVector< 1 > &normalOut, const MathVector< 1 > *vCornerCoords)
 
template<>
void ug::ElementNormal< 2 > (ReferenceObjectID roid, MathVector< 2 > &normalOut, const MathVector< 2 > *vCornerCoords)
 
template<>
void ug::ElementNormal< 3 > (ReferenceObjectID roid, MathVector< 3 > &normalOut, const MathVector< 3 > *vCornerCoords)
 
template<>
void ug::ElementNormal< ReferenceEdge, 2 > (MathVector< 2 > &normalOut, const MathVector< 2 > *vCornerCoords)
 Normal to a Line in 2d. More...
 
template<>
void ug::ElementNormal< ReferenceEdge, 3 > (MathVector< 3 > &normalOut, const MathVector< 3 > *vCornerCoords)
 Normal to a Line in 3d. More...
 
template<>
void ug::ElementNormal< ReferenceQuadrilateral, 3 > (MathVector< 3 > &normalOut, const MathVector< 3 > *vCornerCoords)
 Normal to a Quadrilateral in 3d. More...
 
template<>
void ug::ElementNormal< ReferenceTriangle, 3 > (MathVector< 3 > &normalOut, const MathVector< 3 > *vCornerCoords)
 Normal to a Triangle in 3d. More...
 
template<>
void ug::ElementNormal< ReferenceVertex, 1 > (MathVector< 1 > &normalOut, const MathVector< 1 > *vCornerCoords)
 Normal to a Point in 1d. More...
 
template<>
void ug::ElementNormal< ReferenceVertex, 2 > (MathVector< 2 > &normalOut, const MathVector< 2 > *vCornerCoords)
 Normal to a Point in 2d. More...
 
template<>
void ug::ElementNormal< ReferenceVertex, 3 > (MathVector< 3 > &normalOut, const MathVector< 3 > *vCornerCoords)
 Normal to a Point in 3d. More...
 
template<typename TRefElem , int TWorldDim>
bool ug::ElementSideRayIntersection (size_t &sideOut, MathVector< TWorldDim > &GlobalIntersectionPointOut, MathVector< TRefElem::dim > &LocalIntersectionPoint, const MathVector< TWorldDim > &From, const MathVector< TWorldDim > &Direction, bool bPositiv, const MathVector< TWorldDim > *vCornerCoords)
 ElementSideRayIntersection. More...
 
template<typename TRefElem , int TWorldDim>
number ug::ElementSize (const MathVector< TWorldDim > *vCornerCoords)
 Volume of an Element in a given Dimension. More...
 
template<int dim>
number ug::ElementSize (ReferenceObjectID roid, const MathVector< dim > *vCornerCoords)
 
template<>
number ug::ElementSize< 1 > (ReferenceObjectID roid, const MathVector< 1 > *vCornerCoords)
 
template<>
number ug::ElementSize< 2 > (ReferenceObjectID roid, const MathVector< 2 > *vCornerCoords)
 
template<>
number ug::ElementSize< 3 > (ReferenceObjectID roid, const MathVector< 3 > *vCornerCoords)
 
template<>
number ug::ElementSize< ReferenceEdge, 1 > (const MathVector< 1 > *vCornerCoords)
 Volume of a Line in 1d. More...
 
template<>
number ug::ElementSize< ReferenceEdge, 2 > (const MathVector< 2 > *vCornerCoords)
 Volume of a Line in 2d. More...
 
template<>
number ug::ElementSize< ReferenceEdge, 3 > (const MathVector< 3 > *vCornerCoords)
 Volume of a Line in 3d. More...
 
template<>
number ug::ElementSize< ReferenceHexahedron, 3 > (const MathVector< 3 > *vCornerCoords)
 Volume of a Hexahedron in 3d. More...
 
template<>
number ug::ElementSize< ReferenceOctahedron, 3 > (const MathVector< 3 > *vCornerCoords)
 Volume of an Octahedron in 3d. More...
 
template<>
number ug::ElementSize< ReferencePrism, 3 > (const MathVector< 3 > *vCornerCoords)
 Volume of a Prism in 3d. More...
 
template<>
number ug::ElementSize< ReferencePyramid, 3 > (const MathVector< 3 > *vCornerCoords)
 Volume of a Pyramid in 3d. More...
 
template<>
number ug::ElementSize< ReferenceQuadrilateral, 2 > (const MathVector< 2 > *vCornerCoords)
 Volume of a Quadrilateral in 2d. More...
 
template<>
number ug::ElementSize< ReferenceQuadrilateral, 3 > (const MathVector< 3 > *vCornerCoords)
 Volume of a Quadrilateral in 3d. More...
 
template<>
number ug::ElementSize< ReferenceTetrahedron, 3 > (const MathVector< 3 > *vCornerCoords)
 Volume of a Tetrahedron in 3d. More...
 
template<>
number ug::ElementSize< ReferenceTriangle, 2 > (const MathVector< 2 > *vCornerCoords)
 Volume of a Triangle in 2d. More...
 
template<>
number ug::ElementSize< ReferenceTriangle, 3 > (const MathVector< 3 > *vCornerCoords)
 Volume of a Triangle in 3d. More...
 
template<int TDim, int TWorldDim>
bool ug::SCVFofSCVRayIntersection (size_t &sideOut, number &bc, MathVector< TWorldDim > &GlobalIntersectionPointOut, MathVector< TDim > &LocalIntersectionPoint, const MathVector< TWorldDim > &Root, const MathVector< TWorldDim > &Direction, bool bPositiv, const MathVector< TWorldDim > *vCornerCoords)
 
template<typename TRefElem , int TWorldDim>
void ug::SideNormal (MathVector< TWorldDim > &normalOut, int side, const MathVector< TWorldDim > *vCornerCoords)
 Normal to a side of an Element in a given Dimension. More...
 
template<int dim>
void ug::SideNormal (ReferenceObjectID roid, MathVector< dim > &normalOut, int side, const MathVector< dim > *vCornerCoords)
 Computation of the side normal for a generic reference element: More...
 
template<>
void ug::SideNormal< 1 > (ReferenceObjectID roid, MathVector< 1 > &normalOut, int side, const MathVector< 1 > *vCornerCoords)
 
template<>
void ug::SideNormal< 2 > (ReferenceObjectID roid, MathVector< 2 > &normalOut, int side, const MathVector< 2 > *vCornerCoords)
 
template<>
void ug::SideNormal< 3 > (ReferenceObjectID roid, MathVector< 3 > &normalOut, int side, const MathVector< 3 > *vCornerCoords)