-// Copyright (C) 2007-2012 CEA/DEN, EDF R&D
+// Copyright (C) 2007-2013 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
//
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
+// Author : Anthony Geay (CEA/DEN)
#include "InterpKernelGeo2DComposedEdge.hxx"
#include "InterpKernelGeo2DElementaryEdge.hxx"
(*iter)->initLocations();
}
+void ComposedEdge::initLocationsWithOther(const ComposedEdge& other) const
+{
+ std::set<Edge *> s1,s2;
+ for(std::list<ElementaryEdge *>::const_iterator it1=_sub_edges.begin();it1!=_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();
+ 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));
+ for(std::vector<Edge *>::const_iterator it3=s3.begin();it3!=s3.end();it3++)
+ (*it3)->declareOn();
+}
+
ComposedEdge *ComposedEdge::clone() const
{
return new ComposedEdge(*this);
(*iter)->unApplySimilarity(xBary,yBary,fact);
for(std::list<ElementaryEdge *>::iterator iter=_sub_edges.begin();iter!=_sub_edges.end();iter++)
(*iter)->unApplySimilarity(xBary,yBary,fact);
+ for(std::list<ElementaryEdge *>::iterator iter=other._sub_edges.begin();iter!=other._sub_edges.end();iter++)
+ (*iter)->unApplySimilarity(xBary,yBary,fact);
}
double ComposedEdge::normalizeExt(ComposedEdge *other, double& xBary, double& yBary)