Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

Plane Class Reference

#include <Plane.h>

Inheritance diagram for Plane:

Inheritance graph
[legend]
Collaboration diagram for Plane:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Plane ()
 Plane().

 Plane (double a, double b, double c, double d)
 Plane (double, double, double, double).

 Plane (gmVector3 n, double d)
 Plane (gmVector3, double).

 Plane (gmVector3 n, gmVector3 p)
 Plane (gmVector3, gmVector3).

virtual double proc (gmVector3 x)
virtual gmVector3 grad (gmVector3 x)
 grad returns the gradient of the function (proc()) for a point or region.

virtual gmMatrix3 hess (gmVector3 x)
 hess returns the Hessian of the function (proc()) for a point or region.

virtual Intervald proc (Box< double > x)
 proc returns the evaluation of the function that defines the Implicit surface.

virtual Box3d grad (Box< double > x)
virtual IMatrix3d hess (Box< double > x)
virtual Intervald proct (Box< double > x)
virtual Box3d gradt (Box< double > x)
virtual void procq (gmVector3, double *)
 procq(gmVector3, double*) Returns df/dq

virtual void getq (double *)
 getq(double*) Loads q with parameters

virtual void _setq (double *)
 _setq(double*) Loads parameters from q

virtual int qlen ()
 Number of implicit model parameters for this implicit object including its children.

virtual void getqname (char **qn)
 getqname(char**) Returns a list of parameter names

 MAKE_NAME ()
virtual const char ** getPixmapXPM (const int &size) const
 Returns the Pixmap for the Surface as a char* in the XPM image format.


Private Member Functions

void init (gmVector3, double)
 Initialization routine called by constructors.

Box3d m_nlrp (Intervald)
 Convenience function for the calculation of a LRP over a time interval for a particular m_n.

Intervald m_dlrp (Intervald)

Private Attributes

gmVector3 m_n
double m_d

Constructor & Destructor Documentation

Plane::Plane  ) 
 

Plane().

Creates the default x-y plane

Definition at line 42 of file Plane.cpp.

References init().

Plane::Plane double  a,
double  b,
double  c,
double  d
 

Plane (double, double, double, double).

Creates the plane described by the general equation (ax + by + cz + d = 0)

Definition at line 53 of file Plane.cpp.

References init().

Plane::Plane gmVector3  n,
double  d
 

Plane (gmVector3, double).

Creates the plane described by n (normal) and d (shortest distance from the origin to the plane).

Definition at line 66 of file Plane.cpp.

References init().

Plane::Plane gmVector3  n,
gmVector3  p
 

Plane (gmVector3, gmVector3).

Creates the plane described by n (normal) and p (vector to a point on the plane from the origin)

Definition at line 78 of file Plane.cpp.

References dot(), and init().


Member Function Documentation

void Plane::_setq double *  q  )  [virtual]
 

_setq(double*) Loads parameters from q

Reimplemented from Implicit.

Definition at line 223 of file Plane.cpp.

References m_d, and m_n.

const char ** Plane::getPixmapXPM const int &  size  )  const [virtual]
 

Returns the Pixmap for the Surface as a char* in the XPM image format.

This is a icon that can be used to represent the implicit in a GUI environment.

Reimplemented from Implicit.

Definition at line 244 of file Plane.cpp.

void Plane::getq double *  q  )  [virtual]
 

getq(double*) Loads q with parameters

Reimplemented from Implicit.

Definition at line 211 of file Plane.cpp.

References m_d, and m_n.

void Plane::getqname char **  qn  )  [virtual]
 

getqname(char**) Returns a list of parameter names

Reimplemented from Implicit.

Definition at line 235 of file Plane.cpp.

Box3d Plane::grad Box< double >  x  )  [virtual]
 

Reimplemented from Implicit.

Definition at line 160 of file Plane.cpp.

References convert(), m_n, and m_nlrp().

gmVector3 Plane::grad gmVector3  x  )  [virtual]
 

grad returns the gradient of the function (proc()) for a point or region.

Basically, the gradient returns a vector of partial derivatives, or more formally grad(proc()) = (dproc/dx,dproc/dy,dproc/dz).

Note:
Unless grad is overwritten, it defaults to the numerical approximation of the gradient = (proc(x+eps) - proc(x))/eps ...
Parameters:
x Where to evaluate the gradient of the function.
Returns:
The gradient result.
See also:
setEpsilon(double)

Reimplemented from Implicit.

Definition at line 123 of file Plane.cpp.

References m_n.

Box3d Plane::gradt Box< double >  x  )  [virtual]
 

Todo:
Fix me - but may not be calculatable.

Reimplemented from Implicit.

Definition at line 188 of file Plane.cpp.

IMatrix3d Plane::hess Box< double >  x  )  [virtual]
 

Reimplemented from Implicit.

Definition at line 172 of file Plane.cpp.

gmMatrix3 Plane::hess gmVector3  x  )  [virtual]
 

hess returns the Hessian of the function (proc()) for a point or region.

Basically, the Hessian is a matrix of second partial derivatives, or more formally hess(proc()) =

d^2proc/dx^2, d^2proc/dxdy d^2proc/dxdz \ d^2proc/dxdy, d^2proc/dy^2 d^2proc/dydz \ d^2proc/dxdz, d^2proc/dydz d^2proc/dz^2

Note:
Unless hess is overwritten, it defaults to the numerical approximation of the Hessian.
Parameters:
x Where to evaluate the Hessian of the function.
Returns:
The Hessian result.
See also:
setEpsilon(double)
Note:
The Hessian is symmetric for our uses.

Reimplemented from Implicit.

Definition at line 130 of file Plane.cpp.

void Plane::init gmVector3  n,
double  d
[private]
 

Initialization routine called by constructors.

This function allows all of the main object init code to be in one place.

Definition at line 30 of file Plane.cpp.

References m_d, and m_n.

Referenced by Plane().

Intervald Plane::m_dlrp Intervald   )  [private]
 

Definition at line 105 of file Plane.cpp.

References Implicit::getqold(), Intervald, m_d, and qlen().

Referenced by proc().

Box3d Plane::m_nlrp Intervald  t  )  [private]
 

Convenience function for the calculation of a LRP over a time interval for a particular m_n.

We use the "current" and the "last" coefficients to calculate an interval of the coefficients over a given time interval. This is used for 4D critical point finding.

Definition at line 91 of file Plane.cpp.

References Implicit::getqold(), Intervald, m_n, and qlen().

Referenced by grad(), and proc().

Plane::MAKE_NAME  ) 
 

Intervald Plane::proc Box< double >  x  )  [virtual]
 

proc returns the evaluation of the function that defines the Implicit surface.

In normal circumstances, the gmVector3 version of proc defaults to a pure virtual function which means that you must define proc(gmVector3) in its subclasses. When INTERVAL_EVAL_ONLY is defined, the Implicit version of proc defaults to a pure virtual function and the gmVector3 version calls the Interval version. Either way, you must define proc() in subclasses of Implicit.

Parameters:
x Where to evaluate the function.
Returns:
The function result. The function is positive outside the surface and negative inside.

Reimplemented from Implicit.

Definition at line 136 of file Plane.cpp.

References convert(), dot(), Intervald, m_d, m_dlrp(), m_n, and m_nlrp().

double Plane::proc gmVector3  x  )  [virtual]
 

Implements Implicit.

Definition at line 116 of file Plane.cpp.

References dot(), m_d, and m_n.

void Plane::procq gmVector3  x,
double *  dfdq
[virtual]
 

procq(gmVector3, double*) Returns df/dq

Reimplemented from Implicit.

Definition at line 197 of file Plane.cpp.

References m_d, and m_n.

Intervald Plane::proct Box< double >  x  )  [virtual]
 

Todo:
Fix me - but may not be calculatable.

Reimplemented from Implicit.

Definition at line 180 of file Plane.cpp.

References Intervald.

virtual int Plane::qlen  )  [inline, virtual]
 

Number of implicit model parameters for this implicit object including its children.

Reimplemented from Implicit.

Definition at line 50 of file Plane.h.

Referenced by m_dlrp(), and m_nlrp().


Member Data Documentation

double Plane::m_d [private]
 

Definition at line 20 of file Plane.h.

Referenced by _setq(), getq(), init(), m_dlrp(), proc(), and procq().

gmVector3 Plane::m_n [private]
 

Definition at line 19 of file Plane.h.

Referenced by _setq(), getq(), grad(), init(), m_nlrp(), proc(), and procq().


The documentation for this class was generated from the following files:
Generated on Mon Jun 28 15:03:01 2004 for Advanced Surface Library by doxygen 1.3.4