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

ImpList Class Reference

#include <ImpList.h>

Inheritance diagram for ImpList:

Inheritance graph
[legend]
Collaboration diagram for ImpList:

Collaboration graph
[legend]
List of all members.

Detailed Description

The ImpList class is a list of implicit surfaces.

f(x) for an implicit list is defined here as the summation over the list of each implicit's f(x).

Definition at line 20 of file ImpList.h.

Public Member Functions

 ImpList ()
 Default constructor.

 ImpList (std::list< Implicit * > ilist)
 Explicit constructor.

virtual double proc (gmVector3)
 Evaluate the sum of f(x).

virtual gmVector3 grad (gmVector3)
 Evaulate the sum of grad(x).

virtual gmMatrix3 hess (gmVector3)
 Evaluate the sum of hess(x).

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

virtual Box3d grad (Box< double >)
virtual IMatrix3d hess (Box< double >)
virtual int qlen ()
 Return number of parameters.

virtual void getq (double *)
 Retrieve parameters.

virtual void _setq (double *)
 Assign parameters.

virtual void getqname (char **)
 Retrieve parameter names.

virtual bool setChild (int index, Implicit *child)
 Assign elements.

virtual ImplicitgetChild (int index)
 Retrieve elements.

int numChildren ()
 Number of children currently defined.

int maxChildren ()
 Arbitrary # of children.

 MAKE_NAME ()

Private Attributes

std::list< Implicit * >::iterator i_it
 Convenience iterator variable.


Constructor & Destructor Documentation

ImpList::ImpList  ) 
 

Default constructor.

Definition at line 15 of file ImpList.cpp.

ImpList::ImpList std::list< Implicit * >  ilist  ) 
 

Explicit constructor.

Definition at line 22 of file ImpList.cpp.


Member Function Documentation

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

Assign parameters.

Parameters:
q Array of parameters.

Reimplemented from Implicit.

Definition at line 129 of file ImpList.cpp.

References i_it.

Implicit * ImpList::getChild int  index  )  [virtual]
 

Retrieve elements.

The index of the child to be retrieved.

Reimplemented from Implicit.

Definition at line 180 of file ImpList.cpp.

References i_it.

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

Retrieve parameters.

Parameters:
q Array of parameters.

Reimplemented from Implicit.

Definition at line 115 of file ImpList.cpp.

References i_it.

void ImpList::getqname char **  n  )  [virtual]
 

Retrieve parameter names.

Parameters:
n Array of parameter names.

Reimplemented from Implicit.

Definition at line 143 of file ImpList.cpp.

References i_it.

Box3d ImpList::grad Box< double >   )  [virtual]
 

Reimplemented from Implicit.

Definition at line 78 of file ImpList.cpp.

References i_it.

gmVector3 ImpList::grad gmVector3  x  )  [virtual]
 

Evaulate the sum of grad(x).

Parameters:
x Point at which to evaluate.
Returns:
Sum of grad(x) over implicits in the list.

Reimplemented from Implicit.

Definition at line 47 of file ImpList.cpp.

References i_it.

IMatrix3d ImpList::hess Box< double >   )  [virtual]
 

Reimplemented from Implicit.

Definition at line 88 of file ImpList.cpp.

References i_it.

gmMatrix3 ImpList::hess gmVector3   )  [virtual]
 

Evaluate the sum of hess(x).

Reimplemented from Implicit.

Definition at line 57 of file ImpList.cpp.

References i_it.

ImpList::MAKE_NAME  ) 
 

int ImpList::maxChildren  )  [inline, virtual]
 

Arbitrary # of children.

Reimplemented from Implicit.

Definition at line 48 of file ImpList.h.

int ImpList::numChildren  )  [inline, virtual]
 

Number of children currently defined.

Reimplemented from Implicit.

Definition at line 47 of file ImpList.h.

Intervald ImpList::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 68 of file ImpList.cpp.

References i_it, and Intervald.

double ImpList::proc gmVector3  x  )  [virtual]
 

Evaluate the sum of f(x).

Parameters:
x Point at which to evaluate.
Returns:
Sum of f(x) over implicits in the list.

Implements Implicit.

Definition at line 32 of file ImpList.cpp.

References i_it.

int ImpList::qlen void   )  [virtual]
 

Return number of parameters.

Reimplemented from Implicit.

Definition at line 101 of file ImpList.cpp.

References i_it.

bool ImpList::setChild int  index,
Implicit child
[virtual]
 

Assign elements.

Parameters:
index The index to place the child.
child The child to put into the ImpList.

Reimplemented from Implicit.

Definition at line 158 of file ImpList.cpp.

References i_it.


Member Data Documentation

std::list<Implicit*>::iterator ImpList::i_it [private]
 

Convenience iterator variable.

Definition at line 23 of file ImpList.h.

Referenced by _setq(), getChild(), getq(), getqname(), grad(), hess(), proc(), qlen(), and setChild().


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