ViennaGrid - The Vienna Grid Library  2.1.0
Namespaces | Functions
viennagrid/algorithm/distance.hpp File Reference

Computes the (Cartesian) distance between different elements. More...

#include <iostream>
#include <sstream>
#include <string>
#include <stdexcept>
#include <limits>
#include "viennagrid/forwards.hpp"
#include "viennagrid/topology/all.hpp"
#include "viennagrid/algorithm/norm.hpp"
#include "viennagrid/algorithm/inner_prod.hpp"
#include "viennagrid/algorithm/closest_points.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 PointAccessorT , typename SomethingT1 , typename SomethingT2 >
viennagrid::result_of::coord
< SomethingT1 >::type 
boundary_distance (PointAccessorT const accessor, SomethingT1 const &el1, SomethingT2 const &el2)
 Returns the distance between elements, segments and/or meshs.
template<typename SomethingT1 , typename SomethingT2 >
viennagrid::result_of::coord
< SomethingT1 >::type 
boundary_distance (SomethingT1 const &el1, SomethingT2 const &el2)
 Returns the distance between elements, segments and/or meshs.
template<typename SomethingT , typename CoordT , typename CoordinateSystemT >
viennagrid::result_of::coord
< SomethingT >::type 
boundary_distance (SomethingT const &el1, spatial_point< CoordT, CoordinateSystemT > const &el2)
 Returns the distance between a point and an element, segment and/or mesh.
template<typename CoordT , typename CoordinateSystemT , typename SomethingT >
viennagrid::result_of::coord
< SomethingT >::type 
boundary_distance (spatial_point< CoordT, CoordinateSystemT > const &el1, SomethingT const &el2)
 Returns the distance between a point and an element, segment and/or mesh.
template<typename PointT1 , typename PointT2 >
viennagrid::result_of::coord
< PointT1 >::type 
boundary_distance_impl (PointT1 const &p1, PointT2 const &p2)
template<typename PointT1 , typename PointT2 >
viennagrid::result_of::coord
< PointT1 >::type 
boundary_distance_impl (std::pair< PointT1, PointT2 > const &pts)
template<typename PointAccessorT , typename CoordT1 , typename CoordinateSystemT1 , typename CoordT2 , typename CoordinateSystemT2 >
CoordT1 boundary_distance_impl (PointAccessorT const, spatial_point< CoordT1, CoordinateSystemT1 > const &p1, spatial_point< CoordT2, CoordinateSystemT2 > const &p2)
template<typename PointAccessorT , typename PointT , typename WrappedConfigT >
viennagrid::result_of::coord
< PointT >::type 
boundary_distance_impl (PointAccessorT const accessor, PointT const &p1, viennagrid::element< viennagrid::vertex_tag, WrappedConfigT > const &v2)
template<typename PointAccessorT , typename PointT , typename WrappedConfigT >
viennagrid::result_of::coord
< typename
PointAccessorT::value_type >
::type 
boundary_distance_impl (PointAccessorT const accessor, viennagrid::element< viennagrid::vertex_tag, WrappedConfigT > const &v1, PointT const &p2)
template<typename PointAccessorT , typename PointT , typename WrappedConfigT1 , typename WrappedConfigT2 >
viennagrid::result_of::coord
< typename
PointAccessorT::value_type >
::type 
boundary_distance_impl (PointAccessorT const accessor, viennagrid::element< viennagrid::vertex_tag, WrappedConfigT1 > const &v1, viennagrid::element< viennagrid::vertex_tag, WrappedConfigT2 > const &v2)
template<typename PointAccessorT , typename SomethingT1 , typename SomethingT2 >
viennagrid::result_of::coord
< typename
PointAccessorT::value_type >
::type 
boundary_distance_impl (PointAccessorT const accessor, SomethingT1 const &el1, SomethingT2 const &el2)
template<typename PointAccessorT , typename SomethingT1 , typename SomethingT2 >
viennagrid::result_of::coord
< SomethingT1 >::type 
distance (PointAccessorT const accessor, SomethingT1 const &el1, SomethingT2 const &el2)
 Returns the distance between elements, segments and/or meshs using the point accessor provided.
template<typename SomethingT1 , typename SomethingT2 >
viennagrid::result_of::coord
< SomethingT1 >::type 
distance (SomethingT1 const &el1, SomethingT2 const &el2)
 Returns the distance between elements, segments and/or meshs using the default point accessor.
template<typename SomethingT , typename CoordT , typename CoordinateSystemT >
viennagrid::result_of::coord
< SomethingT >::type 
distance (SomethingT const &el1, spatial_point< CoordT, CoordinateSystemT > const &el2)
 Returns the distance between a point and an element/segment/meshs using the default point accessor.
template<typename CoordT , typename CoordinateSystemT , typename SomethingT >
viennagrid::result_of::coord
< SomethingT >::type 
distance (spatial_point< CoordT, CoordinateSystemT > const &el1, SomethingT const &el2)
 Returns the distance between a point and an element/segment/meshs using the default point accessor.
template<typename CoordT1 , typename CoordinateSystemT1 , typename CoordT2 , typename CoordinateSystemT2 >
viennagrid::result_of::coord
< spatial_point< CoordT1,
CoordinateSystemT1 > >::type 
distance (spatial_point< CoordT1, CoordinateSystemT1 > const &el1, spatial_point< CoordT2, CoordinateSystemT2 > const &el2)
 Returns the Euclidian distance between two points.
template<typename WrappedMeshConfigT , typename SegmentationT >
result_of::coord
< segment_handle
< SegmentationT > >::type 
distance (element< line_tag, WrappedMeshConfigT > const &line, segment_handle< SegmentationT > const &segment_handle)
 Returns the Euclidian distance between the boundary of a segment and a line.
template<typename SegmentationT , typename WrappedMeshConfigT >
result_of::coord
< segment_handle
< SegmentationT > >::type 
distance (segment_handle< SegmentationT > const &segment_handle, element< line_tag, WrappedMeshConfigT > const &line)
template<typename PointT1 , typename PointT2 >
viennagrid::result_of::coord
< PointT1 >::type 
distance_impl (PointT1 const &p1, PointT2 const &p2)
template<typename PointT1 , typename PointT2 >
viennagrid::result_of::coord
< PointT1 >::type 
distance_impl (std::pair< PointT1, PointT2 > const &pts)
template<typename PointAccessorT , typename CoordT1 , typename CoordinateSystemT1 , typename CoordT2 , typename CoordinateSystemT2 >
CoordT1 distance_impl (PointAccessorT const, spatial_point< CoordT1, CoordinateSystemT1 > const &p1, spatial_point< CoordT2, CoordinateSystemT2 > const &p2)
template<typename PointAccessorT , typename PointT , typename WrappedConfigT >
viennagrid::result_of::coord
< PointT >::type 
distance_impl (PointAccessorT const accessor, PointT const &p1, viennagrid::element< viennagrid::vertex_tag, WrappedConfigT > const &v2)
template<typename PointAccessorT , typename PointT , typename WrappedConfigT >
viennagrid::result_of::coord
< typename
PointAccessorT::value_type >
::type 
distance_impl (PointAccessorT const accessor, viennagrid::element< viennagrid::vertex_tag, WrappedConfigT > const &v1, PointT const &p2)
template<typename PointAccessorT , typename PointT , typename WrappedConfigT1 , typename WrappedConfigT2 >
viennagrid::result_of::coord
< typename
PointAccessorT::value_type >
::type 
distance_impl (PointAccessorT const accessor, viennagrid::element< viennagrid::vertex_tag, WrappedConfigT1 > const &v1, viennagrid::element< viennagrid::vertex_tag, WrappedConfigT2 > const &v2)
template<typename PointAccessorT , typename SomethingT1 , typename SomethingT2 >
viennagrid::result_of::coord
< typename
PointAccessorT::value_type >
::type 
distance_impl (PointAccessorT const accessor, SomethingT1 const &el1, SomethingT2 const &el2)

Detailed Description

Computes the (Cartesian) distance between different elements.