ViennaGrid - The Vienna Grid Library
2.1.0
|
Computes the volume of n-simplices spanned by points. More...
#include "viennagrid/forwards.hpp"
#include "viennagrid/algorithm/cross_prod.hpp"
#include "viennagrid/algorithm/norm.hpp"
#include "viennagrid/algorithm/inner_prod.hpp"
Go to the source code of this file.
Data Structures | |
struct | signed_spanned_volume_impl< PointT, 1 > |
Implementation of the volume spanned by two points in one dimension. More... | |
struct | signed_spanned_volume_impl< PointT, 2 > |
Implementation of the volume of simplices spanned by points in two geometrical dimension. More... | |
struct | signed_spanned_volume_impl< PointT, 3 > |
Implementation of the volume of simplices spanned by points in three geometrical dimension. More... | |
Namespaces | |
namespace | viennagrid |
The main ViennaGrid namespace. Most user functionality resides directly in this namespace rather than in sub-namespaces. | |
namespace | viennagrid::detail |
Namespace for implementation details. Not intended to be used directly by a library user. | |
Functions | |
template<typename PointT1 , typename PointT2 > | |
viennagrid::result_of::coord < PointT1 >::type | signed_spanned_volume (PointT1 const &p1, PointT2 const &p2) |
Returns the volume of the 1-simplex (line) spanned by the two points. | |
template<typename PointT1 , typename PointT2 , typename PointT3 > | |
viennagrid::result_of::coord < PointT1 >::type | signed_spanned_volume (PointT1 const &p1, PointT2 const &p2, PointT3 const &p3) |
Returns the two-dimensional volume of the 2-simplex (triangle) spanned by the three points. | |
template<typename PointT1 , typename PointT2 , typename PointT3 , typename PointT4 > | |
viennagrid::result_of::coord < PointT1 >::type | signed_spanned_volume (PointT1 const &p1, PointT2 const &p2, PointT3 const &p3, PointT4 const &p4) |
Returns the three-dimensional volume of the 3-simplex (tetrahedron) spanned by the four points. | |
template<typename PointT1 , typename PointT2 , typename CoordinateSystemT1 , typename CoordinateSystemT2 > | |
viennagrid::result_of::coord < PointT1 >::type | signed_spanned_volume_impl (PointT1 const &p1, PointT2 const &p2, CoordinateSystemT1 const &, CoordinateSystemT2 const &) |
Dispatch facility for two points with possibly different coordinate systems. | |
template<typename PointT1 , typename PointT2 , typename PointT3 , typename CoordinateSystemT1 , typename CoordinateSystemT2 , typename CoordinateSystemT3 > | |
viennagrid::result_of::coord < PointT1 >::type | signed_spanned_volume_impl (PointT1 const &p1, PointT2 const &p2, PointT3 const &p3, CoordinateSystemT1 const &, CoordinateSystemT2 const &, CoordinateSystemT3 const &) |
Dispatch facility for three points with possibly different coordinate systems. | |
template<typename PointT1 , typename PointT2 , typename PointT3 , typename PointT4 , typename CoordinateSystemT1 , typename CoordinateSystemT2 , typename CoordinateSystemT3 , typename CoordinateSystemT4 > | |
viennagrid::result_of::coord < PointT1 >::type | signed_spanned_volume_impl (PointT1 const &p1, PointT2 const &p2, PointT3 const &p3, PointT4 const &p4, CoordinateSystemT1 const &, CoordinateSystemT2 const &, CoordinateSystemT3 const &, CoordinateSystemT4 const &) |
Dispatch facility for four points with possibly different coordinate systems. | |
template<typename PointT1 , typename PointT2 , int DimV> | |
viennagrid::result_of::coord < PointT1 >::type | signed_spanned_volume_impl (PointT1 const &p1, PointT2 const &p2, cartesian_cs< DimV >, cartesian_cs< DimV >) |
Dispatch facility for two points in Cartesian coordinates. | |
template<typename PointT1 , typename PointT2 , typename PointT3 , int DimV> | |
viennagrid::result_of::coord < PointT1 >::type | signed_spanned_volume_impl (PointT1 const &p1, PointT2 const &p2, PointT3 const &p3, cartesian_cs< DimV >, cartesian_cs< DimV >, cartesian_cs< DimV >) |
Dispatch facility for three points in Cartesian coordinates. | |
template<typename PointT1 , typename PointT2 , typename PointT3 , typename PointT4 , int DimV> | |
viennagrid::result_of::coord < PointT1 >::type | signed_spanned_volume_impl (PointT1 const &p1, PointT2 const &p2, PointT3 const &p3, PointT4 const &p4, cartesian_cs< DimV >, cartesian_cs< DimV >, cartesian_cs< DimV >, cartesian_cs< DimV >) |
Dispatch facility for four points in Cartesian coordinates. | |
template<typename PointT1 , typename PointT2 > | |
viennagrid::result_of::coord < PointT1 >::type | spanned_volume (PointT1 const &p1, PointT2 const &p2) |
Returns the volume of the 1-simplex (line) spanned by the two points. | |
template<typename PointT1 , typename PointT2 , typename PointT3 > | |
viennagrid::result_of::coord < PointT1 >::type | spanned_volume (PointT1 const &p1, PointT2 const &p2, PointT3 const &p3) |
Returns the two-dimensional volume of the 2-simplex (triangle) spanned by the three points. | |
template<typename PointT1 , typename PointT2 , typename PointT3 , typename PointT4 > | |
viennagrid::result_of::coord < PointT1 >::type | spanned_volume (PointT1 const &p1, PointT2 const &p2, PointT3 const &p3, PointT4 const &p4) |
Returns the three-dimensional volume of the 3-simplex (tetrahedron) spanned by the four points. |
Computes the volume of n-simplices spanned by points.