45 #pragma package(smart_init)
74 if (strcmp(nom_A, nom_B) == 0)
85 if (found == 0 || same == 0)
93 VertexCriteria::VertexCriteria (
MCVertex * __mcVertex,
MCAA * __mcaa)
94 : _mcaa(__mcaa), _mcVertex(__mcVertex)
133 std::vector <CovertexCriteria *>::iterator it;
137 std::vector<MCEdge *> adjEdges;
148 for (std::vector<MCEdge*>::iterator itEdge = adjEdges.begin();
149 itEdge != adjEdges.end(); itEdge++)
169 double covertexLength = covc->
GetLength();
174 std::map < MCFace * , std::set<MCEdge *> > subset_face_edges;
175 for (std::vector<MCEdge*>::iterator itEdge = adjEdges.begin();
176 itEdge != adjEdges.end(); itEdge++)
180 for ( std::set < MCFace * >::iterator itF = adjfaces.begin();
181 itF != adjfaces.end();
190 subset_face_edges[
f].insert( *itEdge );
196 for (std::map <
MCFace * , std::set<MCEdge *> >::iterator itFSE = subset_face_edges.begin();
197 itFSE != subset_face_edges.end();
200 std::vector<OT_VECTEUR_3D> points;
201 for (std::set<MCEdge *>::iterator itE = (itFSE->second).begin();
202 itE != (itFSE->second).end();
217 if ((*it)->GetCovertex() == cov)
227 if (points.size() == 2)
252 double criterionAngle;
254 if (_deviationAngle < _mcaa->GetLimitAngle())
259 return criterionAngle;
264 double criterionEdgeLen;
266 criterionEdgeLen = 1 - std::min(limitEdgeLen,
_edgeLen) / limitEdgeLen;
267 return criterionEdgeLen;
277 int iVertexRank = arc->
Rank();
278 bool bIsLoop = arc->
IsLoop();
281 if (iVertexRank == 0)
285 else if ( iVertexRank == 2
292 std::vector<MCEdge *> edges2;
306 unsigned char rgba1[4];
308 unsigned char rgba2[4];
311 if (is_colored2 != is_colored1)
313 else if ( rgba1[0] != rgba2[0] || rgba1[1] != rgba2[1] || rgba1[2] != rgba2[2] || rgba1[3] != rgba2[3])
322 std::vector<MCEdge *> edges;
325 if (edges.size() != 2)
328 for (
int i=0; i<2; i++)
335 if (edgeLength<limitLength)
361 std::ostringstream out;
363 unsigned char rgb[3];
367 std::vector <CovertexCriteria *>::iterator it;
371 out <<
"\nSeparator { #sep1 \n";
372 out <<
"\n Coordinate3 {\n point [ \n";
373 out << point[0] <<
" " << point[1] <<
" " << point[2] <<
" \n";
375 out <<
"PolygonOffset { \n";
376 out <<
"styles POINTS \n";
377 out <<
"factor 5.0 \n";
378 out <<
"units 1.0 \n";
380 out <<
"DrawStyle {\npointSize 6\n}\n";
381 out <<
"BaseColor { \n rgb "<<((double)rgb[0])/255<<
" " <<((double)rgb[1])/255<<
" "<<((double)rgb[2])/255<<
"\n }\n";
382 out <<
"PointSet {\nstartIndex "<<0<<
"\nnumPoints "<<1<<
"\n}\n";
383 out <<
"} # end Sep1 \n";