moab
moab::element_utility::Parametrizer Class Reference

#include <parametrizer.hpp>

List of all members.

Public Member Functions

 Parametrizer ()
 Parametrizer (const Self &f)
template<typename Moab , typename Entity_handle , typename Point >
std::pair< bool, Point > operator() (Moab &moab, const Entity_handle &eh, const Point &point)
template<typename Moab , typename Entity_handle , typename Point >
void interpolate (Moab &moab, const Entity_handle &eh, const Point &natural_coords)

Private Types

typedef Parametrizer Self
typedef moab::EntityHandle Entity_handle

Private Attributes

Linear_hex_map< moab::Matrix3hex_map
Linear_tet_map< Entity_handle,
moab::Matrix3
tet_map
Spectral_hex_map< moab::Matrix3spectral_hex_map
Quadratic_hex_map< moab::Matrix3quadratic_hex_map

Detailed Description

Definition at line 55 of file parametrizer.hpp.


Member Typedef Documentation

Definition at line 57 of file parametrizer.hpp.


Constructor & Destructor Documentation

Definition at line 60 of file parametrizer.hpp.

: hex_map(), tet_map(){}

Definition at line 61 of file parametrizer.hpp.

                                 : hex_map( f.hex_map), 
                       tet_map( f.tet_map) {}

Member Function Documentation

template<typename Moab , typename Entity_handle , typename Point >
void moab::element_utility::Parametrizer::interpolate ( Moab &  moab,
const Entity_handle eh,
const Point &  natural_coords 
) [inline]

Definition at line 94 of file parametrizer.hpp.

                                               {
            //get field values from moab tag, 
            //then 
            //evaluate_scalar_field(); 
        }
template<typename Moab , typename Entity_handle , typename Point >
std::pair< bool, Point> moab::element_utility::Parametrizer::operator() ( Moab &  moab,
const Entity_handle eh,
const Point &  point 
) [inline]

Definition at line 65 of file parametrizer.hpp.

                                                {
            //get entity
            typedef std::vector< moab::CartVect> Points;
                Points points;
            get_moab_points( moab, eh, points);
            //get type
            switch( moab.type_from_handle( eh)){
                case moab::MBHEX:
                    return hex_map( moab, eh, 
                            points, point);
                case moab::MBTET:
                    return tet_map( moab, eh, 
                            points, point);
                //TODO: not correct..
                //TODO: add quadratic hex, and a proper case for
                // spectral hex
                default:
                    quadratic_hex_map( moab, eh, 
                               points, point);
                    return spectral_hex_map( moab, eh, 
                                 points, point);
                   std::cerr << "Element type not supported" 
                         << std::endl;
                  return make_pair( false, Point(3, 0.0));
            }
        }

Member Data Documentation


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines