ViennaGrid - The Vienna Grid Library
2.1.0
|
Contains various functions for computing geometric quantities. More...
#include <limits>
#include "viennagrid/mesh/mesh.hpp"
#include "viennagrid/topology/quadrilateral.hpp"
#include "viennagrid/algorithm/inner_prod.hpp"
#include "viennagrid/algorithm/norm.hpp"
#include "viennagrid/algorithm/cross_prod.hpp"
#include "viennagrid/algorithm/detail/numeric.hpp"
Go to the source code of this file.
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 PointIteratorT > | |
std::pair< typename std::iterator_traits < PointIteratorT >::value_type, typename std::iterator_traits < PointIteratorT >::value_type > | bounding_box (PointIteratorT it, PointIteratorT const &it_end) |
Calculates the bounding box of a point iterator range. A pair of points is return, where the first represents the coordinate-wise minimum and the second represents the coordinate-wise maximum. | |
template<typename MeshT > | |
std::pair< typename viennagrid::result_of::point < MeshT >::type, typename viennagrid::result_of::point < MeshT >::type > | bounding_box (MeshT const &mesh) |
Calculates the bounding box a mesh. A pair of points is return, where the first represents the coordinate-wise minimum and the second represents the coordinate-wise maximum. | |
template<typename PointT > | |
viennagrid::result_of::coord < PointT >::type | determinant (PointT const &p0) |
Calculates the determinant of a 1x1 matrix with the columns provided as 1D-points. | |
template<typename PointT > | |
viennagrid::result_of::coord < PointT >::type | determinant (PointT const &p0, PointT const &p1) |
Calculates the determinant of a 2x2 matrix with the columns provided as 2D-points. | |
template<typename PointT > | |
viennagrid::result_of::coord < PointT >::type | determinant (PointT const &p0, PointT const &p1, PointT const &p2) |
Calculates the determinant of a 3x3 matrix with the columns provided as 3D-points. | |
template<typename MeshT > | |
viennagrid::result_of::coord < MeshT >::type | mesh_size (MeshT const &mesh) |
Calculates the size of a mesh: ||bounding_box.min - bounding_box.max||. | |
template<typename PointAccessorT , typename ElementT > | |
PointAccessorT::value_type | normal_vector (PointAccessorT const point_accessor, ElementT const &element) |
Calculates the normal vector of an element. | |
template<typename ElementT > | |
viennagrid::result_of::point < ElementT >::type | normal_vector (ElementT const &element) |
Calculates the normal vector of an element. | |
template<typename PointAccessorT , typename ElementT > | |
PointAccessorT::value_type | normal_vector_impl (PointAccessorT const point_accessor, ElementT const &element, viennagrid::vertex_tag, viennagrid::dimension_tag< 1 >) |
Implementation for calculating a normal vector of a vertex in 1D. | |
template<typename PointAccessorT , typename ElementT > | |
PointAccessorT::value_type | normal_vector_impl (PointAccessorT const point_accessor, ElementT const &element, viennagrid::line_tag, viennagrid::dimension_tag< 2 >) |
Implementation for calculating a normal vector of a line in 2D. | |
template<typename PointAccessorT , typename ElementT > | |
PointAccessorT::value_type | normal_vector_impl (PointAccessorT const point_accessor, ElementT const &element, viennagrid::triangle_tag, viennagrid::dimension_tag< 3 >) |
Implementation for calculating a normal vector of a triangle in 3D. | |
template<typename PointAccessorT , typename ElementT > | |
PointAccessorT::value_type | normal_vector_impl (PointAccessorT const point_accessor, ElementT const &element, viennagrid::quadrilateral_tag, viennagrid::dimension_tag< 3 >) |
Implementation for calculating a normal vector of a quadrilateral in 3D. | |
template<typename IteratorT , typename NumericConfigT > | |
std::size_t | orthogonalize (IteratorT start, IteratorT end, NumericConfigT nc) |
Makes a set of vectors orthogonal (Gram–Schmidt process step). | |
template<typename VectorIteratorT , typename VectorT > | |
VectorT | orthogonalize_vector (VectorIteratorT it, VectorIteratorT const &end, VectorT vec) |
Makes a vector orthogonal to a set of linearly independent orthogonal vectors (Gram–Schmidt process step) |
Contains various functions for computing geometric quantities.