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

Complement Class Reference

#include <Complement.h>

Inheritance diagram for Complement:

Inheritance graph
[legend]
Collaboration diagram for Complement:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Complement ()
 Constructors.

 Complement (Implicit *f)
virtual double proc (gmVector3 x)
 Negates the value of the implicit.

virtual gmVector3 grad (gmVector3 x)
 Negates the gradient of the implicit.

virtual gmMatrix3 hess (gmVector3 x)
 Negates the Hessian of the implicit.

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 void procq (gmVector3 p, double *q)
 Evaluate the derivative of proc with respect to q at a given point.

 MAKE_NAME ()

Constructor & Destructor Documentation

Complement::Complement  )  [inline]
 

Constructors.

Definition at line 17 of file Complement.h.

References UnaryOp::m_f.

Complement::Complement Implicit f  )  [inline]
 

Definition at line 18 of file Complement.h.

References UnaryOp::m_f.


Member Function Documentation

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

Reimplemented from UnaryOp.

Definition at line 42 of file Complement.cpp.

References Implicit::grad(), and UnaryOp::m_f.

gmVector3 Complement::grad gmVector3  x  )  [virtual]
 

Negates the gradient of the implicit.

Reimplemented from UnaryOp.

Definition at line 24 of file Complement.cpp.

References Implicit::grad(), and UnaryOp::m_f.

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

Reimplemented from UnaryOp.

Definition at line 50 of file Complement.cpp.

References Implicit::hess(), and UnaryOp::m_f.

gmMatrix3 Complement::hess gmVector3  x  )  [virtual]
 

Negates the Hessian of the implicit.

Reimplemented from UnaryOp.

Definition at line 31 of file Complement.cpp.

References Implicit::hess(), and UnaryOp::m_f.

Complement::MAKE_NAME  ) 
 

Intervald Complement::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 UnaryOp.

Definition at line 37 of file Complement.cpp.

References Intervald, UnaryOp::m_f, and Implicit::proc().

double Complement::proc gmVector3  x  )  [virtual]
 

Negates the value of the implicit.

Reimplemented from UnaryOp.

Definition at line 16 of file Complement.cpp.

References UnaryOp::m_f, and Implicit::proc().

void Complement::procq gmVector3  p,
double *  q
[virtual]
 

Evaluate the derivative of proc with respect to q at a given point.

This is the same as the underlying function, with all values negated.

Parameters:
p The point at which to evaluate.
q The derivatives with respect to q vector elements, on return. Must have this->qlen() elements.

Reimplemented from UnaryOp.

Definition at line 66 of file Complement.cpp.

References UnaryOp::m_f, Implicit::procq(), and Implicit::qlen().


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