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

Provides geometric transformation routines (e.g. scale()) for a mesh. More...

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

Go to the source code of this file.

Data Structures

struct  affine_transform_functor< MeshT >
 Affine transform functor using a ScalarType * as matrix (row major layout) and a translation vector. More...
struct  scale_functor< MeshT >
 Scale functor with scaling factor and scale center. More...

Namespaces

namespace  viennagrid
 

The main ViennaGrid namespace. Most user functionality resides directly in this namespace rather than in sub-namespaces.


Functions

template<typename MeshT >
void affine_transform (MeshT &mesh, typename viennagrid::result_of::coord< MeshT >::type const *matrix, typename viennagrid::result_of::point< MeshT >::type const &translation)
 Function for an affine transformation of a mesh, uses affine_transform_functor.
template<typename MeshT , typename FunctorT , typename PointAccessorT >
void geometric_transform (MeshT &mesh, FunctorT func, PointAccessorT accessor)
 Transforms all points of a mesh based on a functor.
template<typename MeshT , typename FunctorT >
void geometric_transform (MeshT &mesh, FunctorT func)
 Transforms all points of a mesh based on a functor.
template<typename MeshT , typename ScalarT , typename PointType >
void scale (MeshT &mesh, ScalarT factor, PointType const &scaling_center)
 Function for scaling a mesh, uses scale_functor.
template<typename MeshT , typename ScalarT >
void scale (MeshT &mesh, ScalarT factor)
 Function for scaling a mesh, uses scale_functor. Scaling center is the origin.

Detailed Description

Provides geometric transformation routines (e.g. scale()) for a mesh.