HyperspaceExplorer 0.7.1
Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes
Surface Class Reference

Parametrized surface in four-space defined by $ f: R^2 \rightarrow R^4 $. More...

#include <Surface.h>

Inheritance diagram for Surface:
Inheritance graph
[legend]
Collaboration diagram for Surface:
Collaboration graph
[legend]

List of all members.

Classes

struct  Impl

Public Types

typedef VecMath::Vector< 4 > & function_type (double, double)
typedef VecMath::Vector< 4 > raw_function_type (double, double)
 the real, raw type of the function used to generate values

Public Member Functions

 Surface ()
 Surface default c'tor, zeroes everything.
 Surface (double umin, double umax, double du, double vmin, double vmax, double dv, ParameterMap parms=ParameterMap())
virtual void ReInit (double _tmin, double _tmax, double _dt, double _umin, double _umax, double _du, double _vmin, double _vmax, double _dv)
 re-initialize a Surface if the definition set has changed
VecMath::Vector< 4 > & operator() (double u, double v, double=0)
 Function evaluation operator for three parameters.
virtual unsigned getNumParameters ()

Protected Member Functions

virtual
VecMath::MultiDimensionalVector
< VecMath::Vector< 4 >, 1 > 
df (double, double)
void Initialize (void)
 allocate and initialize X[][] with values of f()

Protected Attributes

virtual function_type normal
 calculate normal to function at a given point in definition set
std::shared_ptr
< ParametricFunction< 4, 2 > > 
_function
 Pointer to the actual ParametricFunction doing all the work.

Private Attributes

ImplpImpl_

Detailed Description

Parametrized surface in four-space defined by $ f: R^2 \rightarrow R^4 $.

Author:
Lene Preuss <lene.preuss@gmail.com>

Member Typedef Documentation

typedef VecMath::Vector<4>& Surface::function_type(double, double)

type of the function used to generate values, optimized with a reference as return value

Reimplemented from FunctionHolder< 4, 2, double >.

Reimplemented in ComplexFunction.


Constructor & Destructor Documentation

Surface::Surface ( double  umin,
double  umax,
double  du,
double  vmin,
double  vmax,
double  dv,
ParameterMap  parms = ParameterMap() 
)

Surface c'tor given a definition set in $ R^2 $ (as parameter space)

Parameters:
uminminimal value in u
umaxmaximal value in u
dustepsize in u
vminminimal value in v
vmaxmaximal value in v
dvstepsize in v
parmsParameter for the function

References DepthCueUtil::calibrateColorForSurface(), VertexHolder< N, P, double >::setColorCalibrationFunction(), and this.

Here is the call graph for this function:


Member Function Documentation

VecMath::MultiDimensionalVector< VecMath::Vector< 4 >, 1 > Surface::df ( double  uu,
double  vv 
) [protected, virtual]

numerical calculation of the derivatives in u and v:

\[ \frac{df}{du} = \lim_{h \rightarrow 0} \frac{f(u+h, v) - f(u, v)}{h}, \frac{df}{dv}\mbox{analogously} \]

Parameters:
uuu value
vvv value
Returns:
gradient in t, u and v as array

References operator()().

Here is the call graph for this function:

unsigned int Surface::getNumParameters ( ) [virtual]
Returns:
number of parameters for the function

Reimplemented from FunctionHolder< 4, 2, double >.

void Surface::Initialize ( void  ) [protected, virtual]
Vector< 4 > & Surface::operator() ( double  u,
double  v,
double  = 0 
) [virtual]

Function evaluation operator for three parameters.

Parameters:
ufirst argument, e.g. y or u
vsecond argument, e.g. z or v
Returns:
f(t, u, v)

Reimplemented from Displayable.

References _function.

Referenced by df().

Here is the caller graph for this function:


Member Data Documentation

Vector< 4 > & Surface::normal [protected]

calculate normal to function at a given point in definition set

no further assumption is made than that f () is continuous

this function is not yet used anywhere, but i like it

Parameters:
uuu value
vvv value
Returns:
surface normal, normalized

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

Generated on Mon Apr 9 2012 20:25:18 for HyperspaceExplorer 0.7.1 by doxygen 1.7.4  -  Hosted bySourceForge.net Logo