src/cdtGen.cpp
/*! \fn void CDTGenerator::removeLocalDegeneracies()
 *  \brief Breaks cosphericality condition(if exists) among any neighboring 5-points set in Delaunay triangulation. 
 */
\fn void CDTGenerator::removeLocalDegeneracies()
\brief Breaks cosphericality condition(if exists) among any neighboring 5-points set in Delaunay triangulation.
\ fn void CDTGenerator :: removeLocalDegeneracies () \ brief Breaks cosphericality condition ( if exists ) among any neighboring 5 - points set in Delaunay triangulation .
void CDTGenerator::removeLocalDegeneracies()
{
	DegenerateVertexSet degenerateVertexSet;
	vector<DegenerateVertexSet> localDegeneracySet;
	size_t degenPartnerID;
	for (Delaunay::Finite_cells_iterator cIter = DT.finite_cells_begin(), cIterEnd = DT.finite_cells_end(); cIter != cIterEnd; cIter++)
	{
		if (hasDegeneracyWithNeighbor(cIter, degenPartnerID))
		{
			correspondingVerticesInLCC(cIter, degenPartnerID, degenerateVertexSet); 
			localDegeneracySet.push_back(degenerateVertexSet);		
		}
	}	
	LCC::Dart_handle perturbableVertexHandle;
	for (vector<DegenerateVertexSet>::iterator dSetIter = localDegeneracySet.begin(), dSetIterEnd = localDegeneracySet.end(); dSetIter != dSetIterEnd; dSetIter++)
	{
		if (hasPerturbableVertex(*dSetIter, perturbableVertexHandle))
		{
			if (segmentSafePerturbable(perturbableVertexHandle))
				perturbVertex(perturbableVertexHandle); 
		}
	}
	computeDelaunayTetrahedralization(-1); 
}
void CDTGenerator :: removeLocalDegeneracies ( ) { DegenerateVertexSet degenerateVertexSet ; vector < DegenerateVertexSet > localDegeneracySet ; size_t degenPartnerID ; for ( Delaunay :: Finite_cells_iterator cIter = DT . finite_cells_begin ( ) , cIterEnd = DT . finite_cells_end ( ) ; cIter != cIterEnd ; cIter ++ ) { if ( hasDegeneracyWithNeighbor ( cIter , degenPartnerID ) ) { correspondingVerticesInLCC ( cIter , degenPartnerID , degenerateVertexSet ) ; localDegeneracySet . push_back ( degenerateVertexSet ) ; } } LCC :: Dart_handle perturbableVertexHandle ; for ( vector < DegenerateVertexSet > :: iterator dSetIter = localDegeneracySet . begin ( ) , dSetIterEnd = localDegeneracySet . end ( ) ; dSetIter != dSetIterEnd ; dSetIter ++ ) { if ( hasPerturbableVertex ( * dSetIter , perturbableVertexHandle ) ) { if ( segmentSafePerturbable ( perturbableVertexHandle ) ) perturbVertex ( perturbableVertexHandle ) ; } } computeDelaunayTetrahedralization ( -1 ) ; }
\fn void CDTGenerator::removeLocalDegeneracies()
  \brief Breaks cosphericality condition(if exists) among any neighboring 5-points set in Delaunay triangulation.
\ fn void CDTGenerator :: removeLocalDegeneracies () \ brief Breaks cosphericality condition ( if exists ) among any neighboring 5 - points set in Delaunay triangulation .
// Test for 5-point set of vertices which are cospherical // handle to corresponding 5 vertices in PLC // perturb a vertex in local degenerate vertex sets in 'segment safe' way. // symbolic perturbation // compute DT of modified vertices // TODO: Must consider the symbolic perturbation information