KASKADE 7 development version
Classes | Namespaces | Enumerations | Functions
geometric_objects.hh File Reference
#include <algorithm>
#include <cmath>
#include <iostream>
#include <utility>
#include <vector>
#include <boost/array.hpp>
#include <boost/utility/enable_if.hpp>
#include <dune/common/fvector.hh>
#include <dune/grid/common/genericreferenceelements.hh>
#include "utilities/geometry/geomtools.hh"
#include "tools/linalg/scalarproducts.hh"

Go to the source code of this file.

Classes

class  GeometricObject::Point< Scalar, dim >
 
struct  GeometricObject::Line< Scalar, dim >
 
struct  GeometricObject::Triangle< Scalar, dim >
 
struct  GeometricObject::Rectangle< Scalar, dim >
 
struct  GeometricObject::BoundingBox< Scalar, dimension >
 A bounding box. More...
 
struct  GeometricObject::FastBoundingBox< Scalar, dim >
 
struct  GeometricObject::BoundingBoxWrapper< BoundingBox< Scalar, dim > >
 
struct  GeometricObject::BoundingBoxWrapper< FastBoundingBox< Scalar, dim > >
 
struct  GeometricObject::Ball< Scalar, dim >
 A ball. More...
 
struct  GeometricObject::ImplementationDetail::ProjectionImpl< Point< Scalar, dim >, Line< Scalar, dim >, Scalar, dim, ScalarProduct >
 
struct  GeometricObject::ImplementationDetail::ProjectionImpl< Point< Scalar, dim >, Rectangle< Scalar, dim >, Scalar, dim, ScalarProduct >
 
struct  GeometricObject::ImplementationDetail::DistanceImpl< Metric, Scalar, dim, Point< Scalar, dim >, Point< Scalar, dim > >
 
struct  GeometricObject::ImplementationDetail::DistanceImpl< Metric, Scalar, dim, Point< Scalar, dim >, Line< Scalar, dim > >
 
struct  GeometricObject::ImplementationDetail::DistanceImpl< Metric, Scalar, dim, Point< Scalar, dim >, Rectangle< Scalar, dim > >
 
struct  GeometricObject::ImplementationDetail::DistanceImpl< Metric, Scalar, dim, Ball< Scalar, dim >, Point< Scalar, dim > >
 
struct  GeometricObject::ImplementationDetail::DistanceImpl< Metric, Scalar, dim, Ball< Scalar, dim >, Line< Scalar, dim > >
 
struct  GeometricObject::ImplementationDetail::DistanceImpl< Metric, Scalar, dim, Ball< Scalar, dim >, Rectangle< Scalar, dim > >
 
struct  GeometricObject::ImplementationDetail::DistanceImpl< Metric, Scalar, dim, Ball< Scalar, dim >, BoundingBox< Scalar, dim > >
 
struct  GeometricObject::ImplementationDetail::IntersectionCheckImpl< Metric, Scalar, dim, Ball< Scalar, dim >, BoundingBox< Scalar, dim > >
 

Namespaces

namespace  GeometricObject
 
namespace  GeometricObject::ImplementationDetail
 

Enumerations

enum  GeometricObject::Direction { GeometricObject::X , GeometricObject::Y , GeometricObject::Z }
 

Functions

template<class Scalar , int dim, class Metric >
Scalar GeometricObject::distance (Point< Scalar, dim > const &first, Point< Scalar, dim > const &second)
 
template<class Scalar , int dim, class Metric >
Scalar GeometricObject::distance (Point< Scalar, dim > const &point, Line< Scalar, dim > const &line)
 
template<class Scalar , int dim, class Metric >
Scalar GeometricObject::distance (Line< Scalar, dim > const &line, Point< Scalar, dim > const &point)
 
template<class Scalar , int dim, class Metric >
Scalar GeometricObject::distance (Ball< Scalar, dim > const &ball, Point< Scalar, dim > const &point)
 
template<class Scalar , int dim, class Metric >
Scalar GeometricObject::distance (Point< Scalar, dim > const &point, Ball< Scalar, dim > const &ball)
 
template<class Scalar , int dim, class Metric >
Scalar GeometricObject::distance (Ball< Scalar, dim > const &ball, Line< Scalar, dim > const &line)
 
template<class Scalar , int dim, class Metric >
Scalar GeometricObject::distance (Line< Scalar, dim > const &line, Ball< Scalar, dim > const &ball)
 
template<class Scalar , int dim, class Metric >
Scalar GeometricObject::distance (Ball< Scalar, dim > const &ball, Rectangle< Scalar, dim > const &rectangle)
 
template<class Scalar , int dim, class Metric >
Scalar GeometricObject::distance (Rectangle< Scalar, dim > const &rectangle, Ball< Scalar, dim > const &ball)
 
template<class Scalar , int dim, class Metric >
Scalar GeometricObject::distance (Ball< Scalar, dim > const &ball, BoundingBox< Scalar, dim > const &boundingBox)
 
template<class Scalar , int dim, class FirstObject , class SecondObject , class ScalarProduct >
FirstObject GeometricObject::projectFirstOnSecond (FirstObject const &first, SecondObject const &second, ScalarProduct const &scalarProduct=ScalarProduct())
 
template<class Scalar , int dim, class Metric >
Scalar GeometricObject::distance (Point< Scalar, dim > const &first, Point< Scalar, dim > const &second, Metric const &metric=Metric())
 
template<class Scalar , int dim, class Metric >
Scalar GeometricObject::distance (Point< Scalar, dim > const &point, Line< Scalar, dim > const &line, Metric const &metric=Metric())
 
template<class Scalar , int dim, class Metric >
Scalar GeometricObject::distance (Line< Scalar, dim > const &line, Point< Scalar, dim > const &point, Metric const &metric=Metric())
 
template<class Scalar , int dim, class Metric >
Scalar GeometricObject::distance (Point< Scalar, dim > const &point, Triangle< Scalar, dim > const &triangle, Metric const &metric=Metric())
 
template<class Scalar , int dim, class Metric >
Scalar GeometricObject::distance (Triangle< Scalar, dim > const &triangle, Point< Scalar, dim > const &point, Metric const &metric=Metric())
 
template<class Scalar , int dim, class Metric >
Scalar GeometricObject::distance (Point< Scalar, dim > const &point, Rectangle< Scalar, dim > const &rectangle, Metric const &metric=Metric())
 
template<class Scalar , int dim, class Metric >
Scalar GeometricObject::distance (Rectangle< Scalar, dim > const &rectangle, Point< Scalar, dim > const &point, Metric const &metric=Metric())
 
template<class Scalar , int dim, class Metric >
Scalar GeometricObject::distance (Ball< Scalar, dim > const &ball, Point< Scalar, dim > const &point, Metric const &metric=Metric())
 
template<class Scalar , int dim, class Metric >
Scalar GeometricObject::distance (Point< Scalar, dim > const &point, Ball< Scalar, dim > const &ball, Metric const &metric=Metric())
 
template<class Scalar , int dim, class Metric >
Scalar GeometricObject::distance (Ball< Scalar, dim > const &ball, Line< Scalar, dim > const &line, Metric const &metric=Metric())
 
template<class Scalar , int dim, class Metric >
Scalar GeometricObject::distance (Line< Scalar, dim > const &line, Ball< Scalar, dim > const &ball, Metric const &metric=Metric())
 
template<class Scalar , int dim, class Metric >
Scalar GeometricObject::distance (Ball< Scalar, dim > const &ball, Triangle< Scalar, dim > const &triangle, Metric const &metric=Metric())
 
template<class Scalar , int dim, class Metric >
Scalar GeometricObject::distance (Triangle< Scalar, dim > const &triangle, Ball< Scalar, dim > const &ball, Metric const &metric=Metric())
 
template<class Scalar , int dim, class Metric >
Scalar GeometricObject::distance (Ball< Scalar, dim > const &ball, Rectangle< Scalar, dim > const &rectangle, Metric const &metric=Metric())
 
template<class Scalar , int dim, class Metric >
Scalar GeometricObject::distance (Rectangle< Scalar, dim > const &rectangle, Ball< Scalar, dim > const &ball, Metric const &metric=Metric())
 
template<class Scalar , int dim, class Metric >
Scalar GeometricObject::distance (Ball< Scalar, dim > const &ball, BoundingBox< Scalar, dim > const &boundingBox, Metric const &metric=Metric())
 
template<class Scalar , int dim, class Metric >
Scalar GeometricObject::intersects (Ball< Scalar, dim > const &ball, BoundingBox< Scalar, dim > const &boundingBox, Metric const &metric=Metric())