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

Computes the cross product of vectors. More...

#include "viennagrid/forwards.hpp"
#include "viennagrid/point.hpp"

Go to the source code of this file.

Data Structures

struct  cross_prod_impl< PointT, 1 >
 Implementation of the cross product calculation in 1d for compatibility. Returns the zero-vector. More...
struct  cross_prod_impl< PointT, 2 >
 Implementation of the cross product calculation in 2d for compatibility. Returns the zero-vector. More...
struct  cross_prod_impl< PointT, 3 >
 Implementation of the cross product calculation in 3d. 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 >
PointT1 cross_prod (PointT1 const &v1, PointT2 const &v2)
 Returns the cross product of two vectors. If the vectors have one or two components only, the zero vector is returned.
template<typename PointT1 , typename PointT2 , typename CSystem1 , typename CSystem2 >
PointT1 cross_prod_impl (PointT1 const &p1, PointT2 const &p2, CSystem1 const &, CSystem2 const &)
 Dispatched cross product function having information about the coordinate systems. Transforms to Cartesian coordinates and forwards to calculation.
template<typename PointT1 , typename PointT2 , int d>
PointT1 cross_prod_impl (PointT1 const &p1, PointT2 const &p2, cartesian_cs< d >, cartesian_cs< d >)
 Dispatched cross product function having information about the coordinate systems. Points are already in Cartesian coordinates, thus forwarding to the worker function directly.

Detailed Description

Computes the cross product of vectors.