MathTL
 All Classes Functions Variables Typedefs Enumerations
Public Member Functions | Public Attributes | Static Public Attributes
MathTL::LinearBezierMapping Class Reference

#include <chart.h>

Inheritance diagram for MathTL::LinearBezierMapping:
MathTL::Chart< 2, 2 >

List of all members.

Public Member Functions

 LinearBezierMapping ()
 LinearBezierMapping (const LinearBezierMapping &)
 LinearBezierMapping (const Point< 2 > &, const Point< 2 > &, const Point< 2 > &, const Point< 2 > &)
 ~LinearBezierMapping ()
LinearBezierMappingoperator= (const LinearBezierMapping &x)
void setup ()
const Point< 2 > & get_b_00 () const
const Point< 2 > & get_b_01 () const
const Point< 2 > & get_b_10 () const
const Point< 2 > & get_b_11 () const
void map_point (const Point< 2 > &, Point< 2 > &) const
double map_point (const double, const int) const
void map_point_inv (const Point< 2 > &, Point< 2 > &) const
double map_point_inv (const double, const int) const
const double Gram_factor (const Point< 2 > &x) const
const double Gram_D_factor (const unsigned int i, const Point< 2 > &x) const
const double Dkappa_inv (const unsigned int i, const unsigned int j, const Point< 2 > &x) const
const bool in_patch (const Point< 2 > &x) const
const double a_i (const int i) const
const string to_string () const

Public Attributes

Point< 2 > b_00
Point< 2 > b_01
Point< 2 > b_10
Point< 2 > b_11

Static Public Attributes

static const string className = "LinearBezierMapping"

Detailed Description

This class models parametrizations for arbitrary quadrangles in R^2. It's crucial functionality is to map a single point, lying in (0,1)^2 to a point in the quadrangle and vice versa. The involved mapping explicitely looks like:

k(s,t) := (1-s)*(1-t)b_00 + s*(1-t)b_10 + (1-s)*t*b_01 + s*t*b_11,

where the b_ij are the vertices of the qudrangle at hand.


Constructor & Destructor Documentation

default constructor:

copy constructor

MathTL::LinearBezierMapping::LinearBezierMapping ( const Point< 2 > &  _b_00,
const Point< 2 > &  _b_01,
const Point< 2 > &  _b_10,
const Point< 2 > &  _b_11 
) [inline]

constructor for initialization of the four vertices

virtual destructor


Member Function Documentation

const double MathTL::LinearBezierMapping::a_i ( const int  i) const [inline, virtual]

return the i-th diagonal element in the case of kappa not depending on x TODO: shift this virtual method into a subclass of Chart

Implements MathTL::Chart< 2, 2 >.

const Point< 2 > & MathTL::LinearBezierMapping::get_b_00 ( ) const [inline]

access to vertices

double MathTL::LinearBezierMapping::map_point ( const double  ,
const int   
) const [inline, virtual]

special 1D version TODO: remove this member in this generic branch!

Implements MathTL::Chart< 2, 2 >.

double MathTL::LinearBezierMapping::map_point_inv ( const double  ,
const int   
) const [inline, virtual]

special 1D version TODO: remove this member in this generic branch!

Implements MathTL::Chart< 2, 2 >.

LinearBezierMapping& MathTL::LinearBezierMapping::operator= ( const LinearBezierMapping x)

assignment operator

setup routine, called by preceding constructor, sets up generic qudrangle, needed for beeingable to invert the mapping. idea: by appropriate shifting rotation and shearing, the qudrangle can be transformed into another qudrangle for which it is clear how its parametrization be inverted.

const string MathTL::LinearBezierMapping::to_string ( ) const [virtual]

returns a string representation of this object

Implements MathTL::Chart< 2, 2 >.


Member Data Documentation

const string MathTL::LinearBezierMapping::className = "LinearBezierMapping" [static]

static field to store the name of the class


The documentation for this class was generated from the following files:
 All Classes Functions Variables Typedefs Enumerations