Open CASCADE, the 3D modelling kernel
3D modeling & numerical simulation

Search the Forums
See All Topics

Help with Neighbor faces and common edge

Help with Neighbor faces and common edge
Game Milky 2013/04/03 12:23

Dear Forum supervisors and users,

I want to extract the neighbor faces and the common edges of my model (shape). I try to use TopExp::MapShapesAndAncestors(shape, TopAbs_EDGE, TopAbs_FACE, myMap); but not successful, I tried as follow:

TopTools_IndexedDataMapOfShapeListOfShape myMap;
      TopExp::MapShapesAndAncestors(shape, TopAbs_EDGE, TopAbs_FACE, myMap);
Standard_Integer aNbE=myMap.Extent();
      for(int j=1; j<=aNbE; j++)
            const TopoDS_Edge& aE=TopoDS::Edge(myMap.FindKey(j));
            const TopTools_ListOfShape& LF=myMap(j);
            Standard_Integer aNbF =LF.Extent();
            if (aNbF>=2)
            const TopoDS_Face& Face1 = TopoDS::Face(myMap.FindFromIndex(1).First());
            const TopoDS_Face& Face2 = TopoDS::Face(myMap.FindFromIndex(2).Last());
            Handle(Geom_Surface) surfaceA = BRep_Tool::Surface(Face1);
            Handle(Geom_Surface) surfaceB = BRep_Tool::Surface(Face2);

Have no compiling error but, doesn't give a correct result! Any error in using this class!

Any suggestion??

Latest news
  • Open CASCADE JT Assistant Sources
  • JT Assistant Linux and CAD Assistant
  • Open CASCADE JT Assistant

  • © OPEN CASCADE 2000 - 2015  |  Search  |  Contacts   |  Site map