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

RBFInterpolant Class Reference

#include <RBFInterpolant.h>

Inheritance diagram for RBFInterpolant:

Inheritance graph
[legend]
Collaboration diagram for RBFInterpolant:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 RBFInterpolant ()
 RBFInterpolant (bool theDipoles)
void placeCenters ()
void procq (gmVector3 x, double *dfdq)
 Deriv of func wrt parameters.

void getq (double *q)
 Get copy of the implicit model parameters.

void _setq (double *q)
 Overridden by subclasses to set Qs.

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

void getqname (char **qn)
 The name of each parameter.

gmMatrix3 computeHessian (gmVector3 point)
void interpolate (Particles *ps, std::valarray< bool > flexible)
 Loads control particles into RBF vector and calls update().

double targetShape (gmVector3 point)

Public Attributes

RBFMesh rbfMesh
RBFMesh targetMesh
std::vector< gmVector3 > normals
bool dipoles
bool morph
bool moving

Constructor & Destructor Documentation

RBFInterpolant::RBFInterpolant  )  [inline]
 

Definition at line 36 of file RBFInterpolant.h.

References RBF::centers.

RBFInterpolant::RBFInterpolant bool  theDipoles  )  [inline]
 

Definition at line 41 of file RBFInterpolant.h.

References RBF::centers, and dipoles.


Member Function Documentation

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

Overridden by subclasses to set Qs.

_setq() is called directly only in subclasses of Implicit. Outside the Implicit class hierarchy, always call setq(). So, if you want to save the old set of Qs, a subclass should override _setq(). In fact, the default _setq() in Implicit does nothing, so you have to override it to do the work of setting the current Q array. However, on the off chance you have a subclass where you do not want to save the old Qs, then override setq() to do the work of settings the current Qs. Typically you will want to save the old Qs so subclasses will usually override (and call) _setq().

Reimplemented from Implicit.

Definition at line 98 of file RBFInterpolant.cpp.

References RBF::centers, and RBF::m_p.

gmMatrix3 RBFInterpolant::computeHessian gmVector3  point  ) 
 

Definition at line 156 of file RBFInterpolant.cpp.

References RBF::centers.

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

Get copy of the implicit model parameters.

Parameters:
A pointer to the array to be returned.

Reimplemented from Implicit.

Definition at line 79 of file RBFInterpolant.cpp.

References RBF::centers, and RBF::m_p.

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

The name of each parameter.

The names of the parameters of the function (if any) are put into an array which gets returned.

Parameters:
qn An array of size qlen of strings listing names of parameters

Reimplemented from Implicit.

Definition at line 136 of file RBFInterpolant.cpp.

References qlen().

void RBFInterpolant::interpolate Particles ps,
std::valarray< bool >  flexible
[virtual]
 

Loads control particles into RBF vector and calls update().

Reimplemented from RBF.

Definition at line 193 of file RBFInterpolant.cpp.

References Particles::addParticle(), RBF::centers, dipoles, Particles::getAttribute(), Particles::getBehavior(), moving, normals, ParticlePosition::setPosition(), Particles::size(), RBF::update(), and ParticlePosition::x.

void RBFInterpolant::placeCenters  ) 
 

Definition at line 24 of file RBFInterpolant.cpp.

References RBF::centers, dipoles, epsilon, TriMesh::mesh, morph, moving, Implicit::normal(), normals, rbfMesh, and RBF::update().

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

Deriv of func wrt parameters.

Reimplemented from Implicit.

Definition at line 116 of file RBFInterpolant.cpp.

References RBF::centers.

int RBFInterpolant::qlen  )  [virtual]
 

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

Reimplemented from Implicit.

Definition at line 72 of file RBFInterpolant.cpp.

References RBF::centers.

Referenced by getqname().

double RBFInterpolant::targetShape gmVector3  point  ) 
 

Definition at line 255 of file RBFInterpolant.cpp.

References TriMesh::exactDistanceToMesh(), and targetMesh.

Referenced by RBFPropagation::speed().


Member Data Documentation

bool RBFInterpolant::dipoles
 

Definition at line 33 of file RBFInterpolant.h.

Referenced by RBFPropagation::adaptivity(), RBFPropagation::applyConstraint(), interpolate(), placeCenters(), RBFInterpolant(), and RBFPropagation::tune().

bool RBFInterpolant::morph
 

Definition at line 34 of file RBFInterpolant.h.

Referenced by placeCenters(), and RBFPropagation::speed().

bool RBFInterpolant::moving
 

Definition at line 60 of file RBFInterpolant.h.

Referenced by RBFPropagation::applyConstraint(), interpolate(), and placeCenters().

std::vector<gmVector3> RBFInterpolant::normals
 

Definition at line 31 of file RBFInterpolant.h.

Referenced by RBFPropagation::adaptivity(), RBFPropagation::applyConstraint(), interpolate(), placeCenters(), RBFPropagation::propagateNormals(), and RBFPropagation::tune().

RBFMesh RBFInterpolant::rbfMesh
 

Definition at line 28 of file RBFInterpolant.h.

Referenced by placeCenters().

RBFMesh RBFInterpolant::targetMesh
 

Definition at line 29 of file RBFInterpolant.h.

Referenced by targetShape(), and RBFPropagation::tune().


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