cgv
|
interface class for multivariate function with two template arguments: More...
#include <mfunc.h>
Public Types | |
typedef cgv::math::vec< X > | pnt_type |
points must have get_nr_independent_variables() components | |
typedef cgv::math::vec< X > | vec_type |
vectors must have get_nr_independent_variables() components | |
Public Member Functions | |
virtual | ~mfunc () |
virtual destructor | |
virtual unsigned | get_nr_independent_variables () const =0 |
return the number of independent variables that are mapped by the function | |
virtual T | evaluate (const pnt_type &p) const =0 |
interface for evaluation of the multivariate function | |
virtual vec_type | evaluate_gradient (const pnt_type &p) const |
interface for evaluation of the gradient of the multivariate function. | |
interface class for multivariate function with two template arguments:
typedef cgv::math::vec<X> cgv::math::mfunc< X, T >::pnt_type |
points must have get_nr_independent_variables() components
typedef cgv::math::vec<X> cgv::math::mfunc< X, T >::vec_type |
vectors must have get_nr_independent_variables() components
|
inlinevirtual |
|
inlinevirtual |
interface for evaluation of the gradient of the multivariate function.
default implementation uses central differences to approximate the gradient, with an epsilon of 1e-5.
Definition at line 31 of file mfunc.h.
References cgv::math::mfunc< X, T >::evaluate(), and cgv::math::vec< T >::size().
Referenced by cgv::render::gl::gl_implicit_surface_drawable_base::new_vertex().
|
pure virtual |
return the number of independent variables that are mapped by the function
Implemented in cgv::math::v2_func< X, T >, and cgv::math::v3_func< X, T >.