HyperspaceExplorer 0.7.1
|
Parametrized surface in four-space defined by . More...
#include <Surface.h>
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 | |
Impl * | pImpl_ |
Parametrized surface in four-space defined by .
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.
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 (as parameter space)
umin | minimal value in u |
umax | maximal value in u |
du | stepsize in u |
vmin | minimal value in v |
vmax | maximal value in v |
dv | stepsize in v |
parms | Parameter for the function |
References DepthCueUtil::calibrateColorForSurface(), VertexHolder< N, P, double >::setColorCalibrationFunction(), and this.
VecMath::MultiDimensionalVector< VecMath::Vector< 4 >, 1 > Surface::df | ( | double | uu, |
double | vv | ||
) | [protected, virtual] |
numerical calculation of the derivatives in u and v:
uu | u value |
vv | v value |
References operator()().
unsigned int Surface::getNumParameters | ( | ) | [virtual] |
Reimplemented from FunctionHolder< 4, 2, double >.
void Surface::Initialize | ( | void | ) | [protected, virtual] |
allocate and initialize X[][] with values of f()
call InitMem () above
Reimplemented from FunctionHolder< 4, 2, double >.
References _function, VertexHolder< N, P, double >::calibrateColors(), max(), min(), and VertexHolder< N, P, double >::setX().
Referenced by coshz::coshz(), cosz::cosz(), CustomComplexFunction::CustomComplexFunction(), CustomSurface::CustomSurface(), emz2::emz2(), ez::ez(), Horizon::Horizon(), lnz::lnz(), Polynomial::Polynomial(), ReInit(), sinhz::sinhz(), sinz::sinz(), sqrtz::sqrtz(), Surface1::Surface1(), tanz::tanz(), Torus3::Torus3(), z2::z2(), z3::z3(), zA::zA(), zm1::zm1(), and zm2::zm2().
Vector< 4 > & Surface::operator() | ( | double | u, |
double | v, | ||
double | = 0 |
||
) | [virtual] |
Function evaluation operator for three parameters.
u | first argument, e.g. y or u |
v | second argument, e.g. z or v |
Reimplemented from Displayable.
References _function.
Referenced by df().
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
uu | u value |
vv | v value |