iterates over indexes of free vetices in a PatchData. More...
#include <MsqFreeVertexIndexIterator.hpp>
Public Member Functions | |
MsqFreeVertexIndexIterator (PatchData *pd, MsqError &err) | |
void | reset () |
Resets the iterator. More... | |
bool | next () |
Increments the iterator. returns false if there is no more free vertex. More... | |
size_t | value () |
Returns an index corresponding to a free vertex. More... | |
MsqFreeVertexIndexIterator (PatchData *pd, MsqError &err) | |
void | reset () |
Resets the iterator. More... | |
bool | next () |
Increments the iterator. returns false if there is no more free vertex. More... | |
size_t | value () |
Returns an index corresponding to a free vertex. More... | |
Private Attributes | |
PatchData * | iterOriginator |
size_t | iterCurrentIndex |
MsqVertex * | iterVertexArray |
bool | initialState |
iterates over indexes of free vetices in a PatchData.
A free vertex is defined as not having the MSQ_SOFT_FIXED and MSQ_HARD_FIXED flags activated.
Use the iterator as follow: MsqFreeVertexIndexIterator ind(&patch_data,err); ind.reset(); while (ind.next()) { cout << ind.value(); } .
Definition at line 66 of file includeLinks/MsqFreeVertexIndexIterator.hpp.
|
inline |
Definition at line 68 of file includeLinks/MsqFreeVertexIndexIterator.hpp.
References PatchData::get_vertex_array(), and MsqFreeVertexIndexIterator::iterVertexArray.
|
inline |
Definition at line 68 of file src/Mesh/MsqFreeVertexIndexIterator.hpp.
References PatchData::get_vertex_array(), and MsqFreeVertexIndexIterator::iterVertexArray.
|
inline |
Increments the iterator. returns false if there is no more free vertex.
Definition at line 87 of file includeLinks/MsqFreeVertexIndexIterator.hpp.
References MsqFreeVertexIndexIterator::initialState, MsqVertex::is_flag_set(), MsqFreeVertexIndexIterator::iterCurrentIndex, MsqFreeVertexIndexIterator::iterOriginator, MsqFreeVertexIndexIterator::iterVertexArray, MsqVertex::MSQ_HARD_FIXED, MsqVertex::MSQ_SOFT_FIXED, and PatchData::num_vertices().
Referenced by PatchData::get_max_vertex_movement_squared(), PatchData::move_free_vertices_constrained(), SmartLaplacianSmoother::optimize_vertex_positions(), Randomize::optimize_vertex_positions(), LaplacianSmoother::optimize_vertex_positions(), ConjugateGradient::optimize_vertex_positions(), SteepestDescent::optimize_vertex_positions(), FeasibleNewton::optimize_vertex_positions(), NonSmoothSteepestDescent::optimize_vertex_positions(), and PatchData::set_free_vertices_constrained().
|
inline |
Increments the iterator. returns false if there is no more free vertex.
|
inline |
Resets the iterator.
The next call to next() will set the iterator on the first free vertex.
Definition at line 73 of file includeLinks/MsqFreeVertexIndexIterator.hpp.
References MsqFreeVertexIndexIterator::initialState, and MsqFreeVertexIndexIterator::iterCurrentIndex.
Referenced by PatchData::get_max_vertex_movement_squared(), PatchData::move_free_vertices_constrained(), SmartLaplacianSmoother::optimize_vertex_positions(), Randomize::optimize_vertex_positions(), LaplacianSmoother::optimize_vertex_positions(), ConjugateGradient::optimize_vertex_positions(), SteepestDescent::optimize_vertex_positions(), FeasibleNewton::optimize_vertex_positions(), NonSmoothSteepestDescent::optimize_vertex_positions(), and PatchData::set_free_vertices_constrained().
|
inline |
Resets the iterator.
The next call to next() will set the iterator on the first free vertex.
Definition at line 73 of file src/Mesh/MsqFreeVertexIndexIterator.hpp.
References MsqFreeVertexIndexIterator::initialState, and MsqFreeVertexIndexIterator::iterCurrentIndex.
|
inline |
Returns an index corresponding to a free vertex.
Definition at line 77 of file includeLinks/MsqFreeVertexIndexIterator.hpp.
References MsqFreeVertexIndexIterator::iterCurrentIndex.
Referenced by PatchData::get_max_vertex_movement_squared(), PatchData::move_free_vertices_constrained(), SmartLaplacianSmoother::optimize_vertex_positions(), Randomize::optimize_vertex_positions(), LaplacianSmoother::optimize_vertex_positions(), ConjugateGradient::optimize_vertex_positions(), SteepestDescent::optimize_vertex_positions(), FeasibleNewton::optimize_vertex_positions(), NonSmoothSteepestDescent::optimize_vertex_positions(), read_patran(), and PatchData::set_free_vertices_constrained().
|
inline |
Returns an index corresponding to a free vertex.
Definition at line 77 of file src/Mesh/MsqFreeVertexIndexIterator.hpp.
References MsqFreeVertexIndexIterator::iterCurrentIndex.
|
private |
Definition at line 82 of file includeLinks/MsqFreeVertexIndexIterator.hpp.
Referenced by MsqFreeVertexIndexIterator::next(), and MsqFreeVertexIndexIterator::reset().
|
private |
Definition at line 80 of file includeLinks/MsqFreeVertexIndexIterator.hpp.
Referenced by MsqFreeVertexIndexIterator::next(), MsqFreeVertexIndexIterator::reset(), and MsqFreeVertexIndexIterator::value().
|
private |
Definition at line 79 of file includeLinks/MsqFreeVertexIndexIterator.hpp.
Referenced by MsqFreeVertexIndexIterator::next().
|
private |
Definition at line 81 of file includeLinks/MsqFreeVertexIndexIterator.hpp.
Referenced by MsqFreeVertexIndexIterator::MsqFreeVertexIndexIterator(), and MsqFreeVertexIndexIterator::next().