Mondschein Engine  0.3.0
Public Member Functions | List of all members
mondschein::math::Normal_Grid Class Reference

This class defines a normal calculator for grids. More...

#include <normgrid.h>

Public Member Functions

virtual std::vector
< Eigen::Vector3d > 
flat (const std::vector< std::vector< Eigen::Vector3d > > &_grid)
 Calculate flat normals. More...
 
virtual std::vector
< Eigen::Vector3d > 
flat_inv (const std::vector< std::vector< Eigen::Vector3d > > &_grid)
 Calculate inverse flat normals. More...
 
virtual std::vector
< Eigen::Vector3d > 
intermediate (std::vector< std::vector< Eigen::Vector3d > > _grid)
 Calculate fintermediate normals. More...
 
virtual std::vector
< Eigen::Vector3d > 
intermediate_inv (std::vector< std::vector< Eigen::Vector3d > > _grid)
 Calculate inverse fintermediate normals. More...
 

Detailed Description

This class defines a normal calculator for grids.

The Norm_Grid class defines a normal calculator for rectangular grid meshes.

Definition at line 36 of file normgrid.h.

Member Function Documentation

std::vector< Eigen::Vector3d > Normal_Grid::flat ( const std::vector< std::vector< Eigen::Vector3d > > &  _grid)
virtual

Calculate flat normals.

Parameters
_gridthe grid mesh
Returns
the normals for the grid
Exceptions
mondschein::exceptionif a known exception is thrown during execution

This function calculates flat normals for _grid. That means one normal is calculated for every triangle of the grid. These normals are stored and returned in order of their calculation.

See Also
std::vector<Eigen::Vector3d> flat_inv(const std::vector<std::vector<Eigen::Vector3d> > &_grid), std::vector<Eigen::Vector3d> intermediate(std::vector<std::vector<Eigen::Vector3d> > _grid), std::vector<Eigen::Vector3d> intermediate_inv(std::vector<std::vector<Eigen::Vector3d> > _grid);

Definition at line 105 of file normgrid.cpp.

std::vector< Eigen::Vector3d > Normal_Grid::flat_inv ( const std::vector< std::vector< Eigen::Vector3d > > &  _grid)
virtual

Calculate inverse flat normals.

Parameters
_gridthe grid mesh
Returns
the normals for the grid
Exceptions
mondschein::exceptionif a known exception is thrown during execution

Behaves like the above function but inverts the normals.

See Also
std::vector<Eigen::Vector3d> flat(const std::vector<std::vector<Eigen::Vector3d> > &_grid), std::vector<Eigen::Vector3d> intermediate(std::vector<std::vector<Eigen::Vector3d> > _grid), std::vector<Eigen::Vector3d> intermediate_inv(std::vector<std::vector<Eigen::Vector3d> > _grid);

Definition at line 119 of file normgrid.cpp.

std::vector< Eigen::Vector3d > Normal_Grid::intermediate ( std::vector< std::vector< Eigen::Vector3d > >  _grid)
virtual

Calculate fintermediate normals.

Parameters
_gridthe grid mesh
Returns
the normals for the grid
Exceptions
mondschein::exceptionif a known exception is thrown during execution

This function calculates intermediate normals for _grid. That means one normal is calculated for every vertex of the grid. These normals are stored and returned in order of their calculation.

See Also
std::vector<Eigen::Vector3d> flat(const std::vector<std::vector<Eigen::Vector3d> > &_grid), std::vector<Eigen::Vector3d> flat_inv(const std::vector<std::vector<Eigen::Vector3d> > &_grid), std::vector<Eigen::Vector3d> intermediate_inv(std::vector<std::vector<Eigen::Vector3d> > _grid);

Definition at line 133 of file normgrid.cpp.

std::vector< Eigen::Vector3d > Normal_Grid::intermediate_inv ( std::vector< std::vector< Eigen::Vector3d > >  _grid)
virtual

Calculate inverse fintermediate normals.

Parameters
_gridthe grid mesh
Returns
the normals for the grid
Exceptions
mondschein::exceptionif a known exception is thrown during execution

TBehaves essentiallc like the above function but inverts the normals.

See Also
std::vector<Eigen::Vector3d> flat(const std::vector<std::vector<Eigen::Vector3d> > &_grid), std::vector<Eigen::Vector3d> flat_inv(const std::vector<std::vector<Eigen::Vector3d> > &_grid), std::vector<Eigen::Vector3d> intermediate(std::vector<std::vector<Eigen::Vector3d> > _grid);

Definition at line 156 of file normgrid.cpp.


The documentation for this class was generated from the following files: