Refractory Class Reference

#include <refractory.h>

Collaboration diagram for Refractory:

Collaboration graph
[legend]
List of all members.

Public Member Functions

int numRecordedVertexMoves (Vertex *)
int getNumVertRefractedN (void) const
int getNumVertRefractedInt (void) const
int getNumVertRefractedAng (void) const
int getNumVertRefractedSmallDisp (void) const
int getNumVertRefractedOctreeVio (void) const
bool isRefracted (Vertex *const)
bool vertexIsMoveCandidate (Vertex *const v)
bool vertexMovesAreRecorded (Vertex *)
void refractVertexForSmallDispVio (Vertex *const)
void refractVertexForIntVio (Vertex *const)
void refractVertforAngleVio (Vertex *const)
void refractVertforOctreeVio (Vertex *v)
void refractVertForNumVio (Vertex *const)
void updateVertMoveDistr (Vertex *const, ti_it &)
void enforceMaxdisplacement (Vertex *const, vector3 &)
void updateSuccessfulMove (const int &, Vertex *const)
void resetForNewGroup (void)
vp_cit getNextVertex (const int &group, vp_cit, bool const, bool const, bool const)
vp_cit beginN (void) const
vp_cit endN (void) const
vp_cit beginInt (void) const
vp_cit endInt (void) const
vp_cit beginAng (void) const
vp_cit endAng (void) const
vp_cit beginSmallDisp (void) const
vp_cit endSmallDisp (void) const
vp_cit beginOctreeVio (void) const
vp_cit endOctreeVio (void) const

Static Public Member Functions

static Refractoryinstance (void)

Member Function Documentation

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

int Refractory::numRecordedVertexMoves ( Vertex v  ) 

Get number of recorded moves for input vertex.

Parameters:
[in] v Vertex of interest.
Returns:
Number of recorded moves found for vertex.

int Refractory::getNumVertRefractedN ( void   )  const

Get number of vertices currently in refraction for filling their quota of moves per group.

Returns:
Number of vertices refracted for moving MAX_TOUCHES times.

int Refractory::getNumVertRefractedInt ( void   )  const

Get number of vertices currently in refraction for resulting in intersected faces.

Returns:
Number of vertices refracted for resulting in intersected faces.

int Refractory::getNumVertRefractedAng ( void   )  const

Get number of vertices currently in refraction for resulting in extreme angles.

Returns:
Number of vertices refracted for resulting in extreme angles.

int Refractory::getNumVertRefractedSmallDisp ( void   )  const

Get number of vertices currently in refraction for having unacceptably small virtual displacements.

Returns:
Number of vertices refracted for resulting in small virtual displacements..

int Refractory::getNumVertRefractedOctreeVio ( void   )  const

Get number of vertices currently in refraction for breaching boundarsy of octree.

Returns:
Number of vertices refracted for breaching octree boundary.

bool Refractory::isRefracted ( Vertex * const  v  ) 

Determine if input vertex is currently in refractory period.

Parameters:
[in] v Vertex of interest.
Returns:
True if refracted; false otherwise.

bool Refractory::vertexIsMoveCandidate ( Vertex *const  v  ) 

Determine if vertex is allowed to move.

Parameters:
[in] v Vertex of interest.
Returns:
True if allowed to move; false otherwise.

bool Refractory::vertexMovesAreRecorded ( Vertex v  ) 

Check if any moves by input vertex are recorded in this class.

Parameters:
[in] v Vertex of interest.
Returns:
True if recorded moves found for vertex.

void Refractory::refractVertexForSmallDispVio ( Vertex * const  v  ) 

Put input vertex into refractory state (period when vertex cannot move) for attempting such a small move.

Parameters:
[in] v Vertex to be refracted.

void Refractory::refractVertexForIntVio ( Vertex * const  v  ) 

Put input vertex into refractory state (period when vertex cannot move) for resulting in face intersections with every attempted move.

Parameters:
[in] v Vertex to be refracted.

void Refractory::refractVertforAngleVio ( Vertex * const  v  ) 

Put input vertex into refractory state (period when vertex cannot move) for ulting in very small (near 0) or very large (near 2*pi) angles with every attempted move.

Parameters:
[in] v Vertex to be refracted.

void Refractory::refractVertforOctreeVio ( Vertex v  ) 

Put input vertex into refractory state (period when vertex cannot move) for passing the octree boundary limits with every attempted move.

Parameters:
[in] v Vertex to be refracted.

void Refractory::refractVertForNumVio ( Vertex * const  v  ) 

Put input vertex into refractory state (period when vertex cannot move) for being moved too many times.

Parameters:
[in] v Vertex to be refracted.

void Refractory::updateVertMoveDistr ( Vertex const,
ti_it  
)

void Refractory::enforceMaxdisplacement ( Vertex * const  v,
vector3 new_pos 
)

Enforce maximum vertex displacment policy.

Parameters:
[in] v Vertex being moved.
[out] new_pos New Position of input vertex.

void Refractory::updateSuccessfulMove ( const int &  group,
Vertex * const  v 
)

Update class after successful vertex move.

Parameters:
[in] v Last moved vertex.

void Refractory::resetForNewGroup ( void   ) 

Clear class members for new group of moved vertices.

vp_cit Refractory::getNextVertex ( const int &  group,
vp_cit  v,
bool const  int_flag,
bool const  ang_flag,
bool const  outside_octree 
)

Decide whether to try moving the same vertex again or give up and try moving another vertex.

Parameters:
[in] v Vertex of interest.
[in] int_flag True if vertex move resulted in new face intersections; false otherwise.
[in] ang_flag True if vertex move resulted in extreme angles; false otherwise.
[in] outside_octree True if vertex move breached octree boundary; false otherwise.
Returns:
Iterator pointing to next vertex move candidate.

vp_cit Refractory::beginN ( void   )  const

Get an iterator pointing to the first in the collection of vertices refracted for moving MAX_TOUCHES times.

Returns:
Iterator pointing to the first refracted vertex.

vp_cit Refractory::endN ( void   )  const

Get an iterator pointing to one past the last in the collection of vertices refracted for moving MAX_TOUCHES times.

Returns:
Iterator pointing to one past the last refracted vertex.

vp_cit Refractory::beginInt ( void   )  const

Get an iterator pointing to the first in the collection of vertices refracted for resulting in intersected faces.

Returns:
Iterator pointing to the first refracted vertex.

vp_cit Refractory::endInt ( void   )  const

Get an iterator pointing to one past the last in the collection of vertices refracted for resulting in intersected faces.

Returns:
Iterator pointing to one past the last refracted vertex.

vp_cit Refractory::beginAng ( void   )  const

Get an iterator pointing to the first in the collection of vertices refracted for resulting in extreme angles.

Returns:
Iterator pointing to the first refracted vertex.

vp_cit Refractory::endAng ( void   )  const

Get an iterator pointing to one past the last in the collection of vertices refracted for resulting in extreme angles.

Returns:
Iterator pointing to one past the last refracted vertex.

vp_cit Refractory::beginSmallDisp ( void   )  const

Get an iterator pointing to the first in the collection of vertices refracted for having an unacceptably small virtual displacement.

Returns:
Iterator pointing to the first refracted vertex.

vp_cit Refractory::endSmallDisp ( void   )  const

Get an iterator pointing to one past the last in the collection of vertices refracted for having an unacceptably small virtual displacement.

Returns:
Iterator pointing to one past the last refracted vertex.

vp_cit Refractory::beginOctreeVio ( void   )  const

Get an iterator pointing to the first in the collection of vertices refracted for breaching boundary of octree.

Returns:
Iterator pointing to the first refracted vertex.

vp_cit Refractory::endOctreeVio ( void   )  const

Get an iterator pointing to one past the last in the collection of vertices refracted for breaching boundary of octree.

Returns:
Iterator pointing to one past the last refracted vertex.


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