-// Copyright (C) 2007-2014 CEA/DEN, EDF R&D
+// Copyright (C) 2007-2015 CEA/DEN, EDF R&D
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
*it=new ElementaryEdge(e,direction);
}
+/*! \cond HIDDEN_ITEMS */
struct AbsEdgeCmp
{
AbsEdgeCmp(ElementaryEdge *b):_b1(b) { }
ElementaryEdge *_b1;
};
+/*! \endcond */
double ComposedEdge::getCommonLengthWith(const ComposedEdge& other) const
{
}
/**
- * Reset the status of all edges (OUT, IN, ON) because they were potentially assignated
+ * Reset the status of all edges (OUT, IN, ON) because they were potentially assigned
* by the previous candidate processing.
*/
-void ComposedEdge::initLocationsWithOther(const ComposedEdge& other) const
+void ComposedEdge::InitLocationsWithOther(const ComposedEdge& first, const ComposedEdge& other)
{
std::set<Edge *> s1,s2;
- for(std::list<ElementaryEdge *>::const_iterator it1=_sub_edges.begin();it1!=_sub_edges.end();it1++)
+ for(std::list<ElementaryEdge *>::const_iterator it1=first._sub_edges.begin();it1!=first._sub_edges.end();it1++)
s1.insert((*it1)->getPtr());
for(std::list<ElementaryEdge *>::const_iterator it2=other._sub_edges.begin();it2!=other._sub_edges.end();it2++)
s2.insert((*it2)->getPtr());
- initLocations();
+ first.initLocations();
other.initLocations();
std::vector<Edge *> s3;
std::set_intersection(s1.begin(),s1.end(),s2.begin(),s2.end(),std::back_insert_iterator< std::vector<Edge *> >(s3));
unApplySimilarityOnMyNodes(xBary,yBary,fact);
other.unApplySimilarityOnMyNodesIfNotAlreadyHit(xBary,yBary,fact);
initEdgeHitStatus();
- other.initEdgeHitStatus();
+ other.initEdgeHitStatus();
unApplySimilarityOnMyEdges(xBary,yBary,fact);
other.unApplySimilarityOnMyEdgesIfNotAlreadyHit(xBary,yBary,fact);
}
applySimilarityOnMyNodes(xBary,yBary,dimChar);
other->applySimilarityOnMyNodesIfNotAlreadyHit(xBary,yBary,dimChar);
initEdgeHitStatus();
- other->initEdgeHitStatus();
+ other->initEdgeHitStatus();
applySimilarityOnMyEdges(xBary,yBary,dimChar);
other->applySimilarityOnMyEdgesIfNotAlreadyHit(xBary,yBary,dimChar);
}
}
void ComposedEdge::initNodeHitStatus() const
- {
+{
for(std::list<ElementaryEdge *>::const_iterator iter=_sub_edges.begin();iter!=_sub_edges.end();iter++)
{
(*iter)->getStartNode()->initHitStatus();
for(std::list< IntersectElement >::iterator iter2=listOfIntesc.begin();iter2!=listOfIntesc.end();iter2++)
if((*iter2).isIncludedByBoth())
inOutSwitch.insert(*iter2);
- }
+ }
//if overlapped we can forget
}
else
/*bool ComposedEdge::isInOrOut(Node *aNodeOn, Node *nodeToTest) const
{
-
+
EdgeInfLin *e1=new EdgeInfLin(aNodeOn,nodeToTest);
double ref=e1->getCharactValue(*nodeToTest);
set< IntersectElement > inOutSwitch;