Virtual_Disp Class Reference

#include <virtual_disp.h>

Collaboration diagram for Virtual_Disp:

Collaboration graph
[legend]
List of all members.

Public Member Functions

void buildVirtDispMapComplement (void)
bool findVirtDispToVertAssoc (Vertex *const, float const &, tv_it &)
void buildVirtDispMap (const int &)
void setVirtualDisp (Vertex *const, float const &)
void updateVirtualDisp (Vertex *const, bool const, float const &)
void removeVirtDispToVertAssoc (Vertex *const, float const &)
bool getVertAndRank (Vertex *const, tv_it &, int &)
void resetForNewGroup (const int &)
void removeVertFromAllMaps (Vertex *)
void validateVirtDispMapComplement (void)
void validateVirtDispMap2 (void)
void validateVirtDispMap (void) const
void addAdToSeedAd (const int &count, double ad)
void addVdToSeedVd (const int &count)
s_cit beginSeedActDisp (void)
s_cit endSeedActDisp (void)
s_cit beginSeedVirtDisp (void)
s_cit endSeedVirtDisp (void)
tv_crit getSeed (void)
int getNumVertsInVirtDispMap (void)
void advanceSeedToNextLargestVert (void)
void resetSeedToLargestVert (void)
tv_cit beginVirtDispMap (void)
tv_crit rendVirtDispMap (void)
tv_cit endVirtDispMap (void)

Static Public Member Functions

static Virtual_Dispinstance (void)

Member Function Documentation

Virtual_Disp & Virtual_Disp::instance ( void   )  [static]

void Virtual_Disp::buildVirtDispMapComplement ( void   ) 

Build v_to_vd2, the complement map of vd2_to_v.

bool Virtual_Disp::findVirtDispToVertAssoc ( Vertex * const  v,
float const &  sqd_vd,
tv_it match 
)

Find and return element in vd2_to_v that matches input vertex and squared virtual displacement.

Parameters:
[in] v Vertex of interest.
[in] sqd_vd Squared virtual displacement of vertex.
[out] match Iterator to matching vd2_to_v element, if found;
Returns:
True if match found; false otherwise.

void Virtual_Disp::buildVirtDispMap ( const int &  group  ) 

Build vd2_to_v (which maps squared virtual dispacement to vertex pointer).

void Virtual_Disp::setVirtualDisp ( Vertex * const  v,
float const &  sqd_vd 
)

Record association between input vertex and squared virtual displacement, removing any previous associations.

Parameters:
[in] v Vertex of interest.
[in] sqd_vd Squared virtual displacement of vertex.

void Virtual_Disp::updateVirtualDisp ( Vertex * const  v,
bool const  vertex_has_closest_pt,
float const &  gain 
)

Calculate and record the virtual displacement and input vertex association.

Parameters:
[in] v Vertex of interest.
[in] vertex_has_closest_pt If true then add vertex to maps;
[in] gain Proportionality constant between force and position. otherwise remove associations referencing input vertex.

void Virtual_Disp::removeVirtDispToVertAssoc ( Vertex * const  v,
float const &  sqd_vd 
)

Find and remove associations between input squared virtual displacement and input vertex in vd2_to_v map.

Parameters:
[in] v Vertex of interest.
[in] sqd_vd Squared virtual displacement associated with vertex.

bool Virtual_Disp::getVertAndRank ( Vertex * const  v,
tv_it match,
int &  rank 
)

Find vertex in map, record rank in ordering by squared virtual displacment, and return iterator to element.

Parameters:
[in] v Vertex of interest.
[out] match Iterator to first element that matches input vertex.
[out] rank Numbering of match in sort by displacement (larget to smallest).
Returns:
True if match found; false otherwise.

void Virtual_Disp::resetForNewGroup ( const int &  group  ) 

Re-initialize class before beginning a new group.

void Virtual_Disp::removeVertFromAllMaps ( Vertex v  ) 

Remove associations of input vertex from all virtual displacement maps.

Parameters:
[in] v Vertex of to be removed.

void Virtual_Disp::validateVirtDispMapComplement ( void   ) 

Perform data integrity check on vertex to virtual displacement map.

void Virtual_Disp::validateVirtDispMap2 ( void   ) 

Perform data integrity check on virtual displacement to vertex map by checking that displacements are not NaN, that the vertex is not NULL, that the displacement is less than threshold value, that closest face to vertex is not NULL, and comparing a calculated virtual displacement to stored displacement.

void Virtual_Disp::validateVirtDispMap ( void   )  const

Perform data integrity check on virtual displacement to vertex map by checking for duplicate vertices.

void Virtual_Disp::addAdToSeedAd ( const int &  count,
double  ad 
) [inline]

Store seed actual displacement to detect steady state of model.

void Virtual_Disp::addVdToSeedVd ( const int &  count  )  [inline]

Store seed virtual displacement to detect steady state of model.

s_cit Virtual_Disp::beginSeedActDisp ( void   )  [inline]

Get an iterator pointing to the first element in seed actual displacement vector.

Returns:
Iterator pointing to the first seed actual displacement element.

s_cit Virtual_Disp::endSeedActDisp ( void   )  [inline]

Get an iterator pointing to one past the last element in seed actual displacement vector.

Returns:
Iterator pointing to one past the last seed actual displacement element.

s_cit Virtual_Disp::beginSeedVirtDisp ( void   )  [inline]

Get an iterator pointing to the first element in seed virtual displacement vector.

Returns:
Iterator pointing to the first seed virtual displacement element.

s_cit Virtual_Disp::endSeedVirtDisp ( void   )  [inline]

Get an iterator pointing to one past the last element in seed virtual displacement vector.

Returns:
Iterator pointing to one past the last seed virtual displacement element.

tv_crit Virtual_Disp::getSeed ( void   )  [inline]

Retrieve an iterator pointing to seed of collection of vertices to move.

Returns:
Iterator pointing to element of virtual displacment map.

int Virtual_Disp::getNumVertsInVirtDispMap ( void   )  [inline]

Retrieve number of vertices in virtual displacement map.

Returns:
Number of elements in virtual displacement map.

void Virtual_Disp::advanceSeedToNextLargestVert ( void   )  [inline]

Advance iterator to point to next element in map sorted by virtual displacement.

void Virtual_Disp::resetSeedToLargestVert ( void   )  [inline]

Reset iterator to point to first element in map sorted by virtual displacement.

tv_cit Virtual_Disp::beginVirtDispMap ( void   )  [inline]

Get an iterator pointing to the first element in virtual displacement map.

Returns:
Iterator pointing to the first virtual displacement element.

tv_crit Virtual_Disp::rendVirtDispMap ( void   )  [inline]

Get a reverse iterator pointing to one past the last element in virtual displacement map.

Returns:
Reverse iterator pointing to one past the last virtual displacement element.

tv_cit Virtual_Disp::endVirtDispMap ( void   )  [inline]

Get an iterator pointing to one past the last element in virtual displacement map.

Returns:
Iterator pointing to one past the last virtual displacement element.


The documentation for this class was generated from the following files:
Generated on Fri Feb 13 13:58:42 2009 for meshmorph by  doxygen 1.5.1