Public Types | Public Member Functions

OpenTissue::function::ImplicitFunction< math_types > Class Template Reference

#include <function_implicit_function.h>

Inheritance diagram for OpenTissue::function::ImplicitFunction< math_types >:
OpenTissue::function::SignedDistanceFunction< math_types >

List of all members.

Public Types

typedef math_types::real_type real_type
typedef math_types::vector3_type vector3_type

Public Member Functions

virtual ~ImplicitFunction ()
virtual real_type evaluate (vector3_type const &x) const =0
virtual vector3_type gradient (vector3_type const &x) const =0

Detailed Description

template<typename math_types>
class OpenTissue::function::ImplicitFunction< math_types >

Implicit Function interface

If you have an implicit function (surface) and want to be consistent with other IFs in OT, then derive from this interface and implement evaluate() and gradient(). Note: This interface is often employed as an integrated part of the signed distance function interface,

See also:
SignedDistanceFunction
Parameters:
math_types The (almost) mandatory math types

Member Typedef Documentation


Constructor & Destructor Documentation

template<typename math_types>
virtual OpenTissue::function::ImplicitFunction< math_types >::~ImplicitFunction (  )  [inline, virtual]

Member Function Documentation

template<typename math_types>
virtual real_type OpenTissue::function::ImplicitFunction< math_types >::evaluate ( vector3_type const &  x  )  const [pure virtual]

Evaluate the implicit function that defines the surface. All implicit functions must be designed in such way that: evaluate(x) < 0 --> x is inside the surface (or inside the volume), evaluate(x) = 0 --> x is on the surface, and evaluate(x) > 0 --> x is outside the surface.

template<typename math_types>
virtual vector3_type OpenTissue::function::ImplicitFunction< math_types >::gradient ( vector3_type const &  x  )  const [pure virtual]

The gradient of the implicit function evaluated in x. The gradient will always point from low to high values wrt evaluate(x).


The documentation for this class was generated from the following file: