Biomechanical Joint Model
 Author: Anderson Maciel

ImplicitPrimitive Class Reference

#include <primitive.h>

Inherits Primitive.

Inherited by Metaballs, MetaballsSphere, and MetaballsTriangle.

Inheritance diagram for ImplicitPrimitive:

Inheritance graph
[legend]
Collaboration diagram for ImplicitPrimitive:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ImplicitPrimitive (REAL isolevel=0.5)
 ImplicitPrimitive (const ImplicitPrimitive &p)
virtual bool intersectedBy (Ray &ray) const
virtual REAL getDistance (const VEC &X) const
virtual void findIntersection (const VEC &P1, const VEC &P2, REAL valp1, REAL valp2, VEC &P, VEC &N) const

Protected Member Functions

virtual REAL density (const VEC &U) const =0
virtual VEC gradient (const VEC &U) const =0
VEC getNormal (const VEC &X) const
VEC dichotomy (const VEC &P1, const VEC &P2, REAL valp1, REAL valp2) const

Protected Attributes

REAL iso_value

Detailed Description

Definition at line 63 of file primitive.h.


Constructor & Destructor Documentation

ImplicitPrimitive::ImplicitPrimitive REAL  isolevel = 0.5  )  [inline]
 

Definition at line 66 of file primitive.h.

ImplicitPrimitive::ImplicitPrimitive const ImplicitPrimitive p  )  [inline]
 

Definition at line 67 of file primitive.h.


Member Function Documentation

virtual REAL ImplicitPrimitive::density const VEC U  )  const [protected, pure virtual]
 

Implemented in MetaballsSphere, MetaballsSphere_exp, MetaballsTriangle, Metaballs_Shen, and Metaballs_exp.

Referenced by dichotomy(), and getDistance().

VEC ImplicitPrimitive::dichotomy const VEC P1,
const VEC P2,
REAL  valp1,
REAL  valp2
const [protected]
 

Definition at line 101 of file primitive.cpp.

References density(), EPS, iso_value, and REAL.

Referenced by intersectedBy().

Here is the call graph for this function:

void ImplicitPrimitive::findIntersection const VEC P1,
const VEC P2,
REAL  valp1,
REAL  valp2,
VEC P,
VEC N
const [virtual]
 

Implements Primitive.

Definition at line 125 of file primitive.cpp.

References LinAlg::epsilon, getNormal(), LinAlg::Vector::normalize(), and REAL.

Here is the call graph for this function:

REAL ImplicitPrimitive::getDistance const VEC X  )  const [virtual]
 

Implements Primitive.

Definition at line 69 of file primitive.cpp.

References Primitive::bbox, BBox::contains(), density(), BBox::isEmpty(), iso_value, and REAL.

Referenced by intersectedBy().

Here is the call graph for this function:

VEC ImplicitPrimitive::getNormal const VEC X  )  const [inline, protected]
 

Definition at line 79 of file primitive.h.

References gradient().

Referenced by findIntersection().

Here is the call graph for this function:

virtual VEC ImplicitPrimitive::gradient const VEC U  )  const [protected, pure virtual]
 

Implemented in MetaballsSphere, MetaballsSphere_exp, MetaballsTriangle, Metaballs_Shen, and Metaballs_exp.

Referenced by getNormal().

bool ImplicitPrimitive::intersectedBy Ray ray  )  const [virtual]
 

Implements Primitive.

Reimplemented in Metaballs_Shen.

Definition at line 28 of file primitive.cpp.

References Ray::D, dichotomy(), LinAlg::epsilon, getDistance(), LinAlg::Vector::norm(), Ray::O, Ray::P, REAL, Ray::segment, and Ray::t.

Here is the call graph for this function:


Member Data Documentation

REAL ImplicitPrimitive::iso_value [protected]
 

Definition at line 86 of file primitive.h.

Referenced by dichotomy(), and getDistance().


The documentation for this class was generated from the following files:
Generated on Thu Dec 1 10:14:31 2005 for COME - Biomechanical Joint Model by  doxygen 1.4.5