Public Types | Public Member Functions | Protected Attributes

OpenTissue::edm::Object< edm_types > Class Template Reference

#include <edm_object.h>

List of all members.

Public Types

typedef edm_types::value_traits value_traits
typedef edm_types::math_types math_types
typedef edm_types::real_type real_type
typedef edm_types::vector3_type vector3_type
typedef geometry::BaseShape
< math_types
base_shape
typedef
function::SignedDistanceFunction
< math_types
sdf_type

Public Member Functions

 Object ()
virtual ~Object ()
template<typename shape_type >
shape_type & create_shape ()
base_shape const * get_shape () const
Objectset_scale (real_type const &scale)
real_type const & get_scale () const
Objectset_visibility (bool visible)
bool get_visibility () const
real_type eval (vector3_type const &x) const
 < the object's inside/outside function
vector3_type normal (vector3_type const &x) const
 < the object's gradient vector at a point
real_type dist (vector3_type const &x) const
 < the distace from p to the surface

Protected Attributes

bool m_visible
real_type m_scale
base_shapem_shape
sdf_type const * m_sdf

Detailed Description

template<typename edm_types>
class OpenTissue::edm::Object< edm_types >

An Implicit Impenetrable Object (obstacle)


Member Typedef Documentation

template<typename edm_types >
typedef geometry::BaseShape<math_types> OpenTissue::edm::Object< edm_types >::base_shape
template<typename edm_types >
typedef edm_types::math_types OpenTissue::edm::Object< edm_types >::math_types
template<typename edm_types >
typedef edm_types::real_type OpenTissue::edm::Object< edm_types >::real_type
template<typename edm_types >
typedef function::SignedDistanceFunction<math_types> OpenTissue::edm::Object< edm_types >::sdf_type
template<typename edm_types >
typedef edm_types::value_traits OpenTissue::edm::Object< edm_types >::value_traits
template<typename edm_types >
typedef edm_types::vector3_type OpenTissue::edm::Object< edm_types >::vector3_type

Constructor & Destructor Documentation

template<typename edm_types >
OpenTissue::edm::Object< edm_types >::Object (  )  [inline]
template<typename edm_types >
virtual OpenTissue::edm::Object< edm_types >::~Object (  )  [inline, virtual]

Member Function Documentation

template<typename edm_types >
template<typename shape_type >
shape_type& OpenTissue::edm::Object< edm_types >::create_shape (  )  [inline]
template<typename edm_types >
real_type OpenTissue::edm::Object< edm_types >::dist ( vector3_type const &  x  )  const [inline]

< the distace from p to the surface

template<typename edm_types >
real_type OpenTissue::edm::Object< edm_types >::eval ( vector3_type const &  x  )  const [inline]

< the object's inside/outside function

template<typename edm_types >
real_type const& OpenTissue::edm::Object< edm_types >::get_scale (  )  const [inline]
template<typename edm_types >
base_shape const* OpenTissue::edm::Object< edm_types >::get_shape (  )  const [inline]
template<typename edm_types >
bool OpenTissue::edm::Object< edm_types >::get_visibility (  )  const [inline]
template<typename edm_types >
vector3_type OpenTissue::edm::Object< edm_types >::normal ( vector3_type const &  x  )  const [inline]

< the object's gradient vector at a point

template<typename edm_types >
Object& OpenTissue::edm::Object< edm_types >::set_scale ( real_type const &  scale  )  [inline]
template<typename edm_types >
Object& OpenTissue::edm::Object< edm_types >::set_visibility ( bool  visible  )  [inline]

Member Data Documentation

template<typename edm_types >
real_type OpenTissue::edm::Object< edm_types >::m_scale [protected]
template<typename edm_types >
sdf_type const* OpenTissue::edm::Object< edm_types >::m_sdf [protected]
template<typename edm_types >
base_shape* OpenTissue::edm::Object< edm_types >::m_shape [protected]
template<typename edm_types >
bool OpenTissue::edm::Object< edm_types >::m_visible [protected]

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