Back to index

salome-geom  6.5.0
Functions
GEOMAlgo_GetInPlace.cxx File Reference
#include <GEOMAlgo_GetInPlace.hxx>
#include <NMTDS_BoxBndTree.hxx>
#include <NCollection_UBTreeFiller.hxx>
#include <Bnd_Box.hxx>
#include <gp_Pnt.hxx>
#include <TColStd_ListOfInteger.hxx>
#include <TColStd_ListIteratorOfListOfInteger.hxx>
#include <TopAbs_ShapeEnum.hxx>
#include <TopoDS_Iterator.hxx>
#include <TopoDS_Shape.hxx>
#include <TopoDS_Vertex.hxx>
#include <TopoDS_Edge.hxx>
#include <TopoDS_Face.hxx>
#include <TopoDS_Compound.hxx>
#include <BRep_Tool.hxx>
#include <BRep_Builder.hxx>
#include <BRepBndLib.hxx>
#include <TopExp.hxx>
#include <TopTools_IndexedMapOfShape.hxx>
#include <TopTools_ListOfShape.hxx>
#include <TopTools_DataMapOfShapeListOfShape.hxx>
#include <TopTools_DataMapIteratorOfDataMapOfShapeListOfShape.hxx>
#include <TopTools_ListIteratorOfListOfShape.hxx>
#include <TopTools_MapOfShape.hxx>
#include <TopTools_MapIteratorOfMapOfShape.hxx>
#include <NMTTools_CoupleOfShape.hxx>
#include <GEOMAlgo_Tools.hxx>

Go to the source code of this file.

Functions

static void MapBRepShapes (const TopoDS_Shape &aS, TopTools_IndexedMapOfShape &aM)

Function Documentation

void MapBRepShapes ( const TopoDS_Shape &  aS,
TopTools_IndexedMapOfShape &  aM 
) [static]

Definition at line 1125 of file GEOMAlgo_GetInPlace.cxx.

{
  Standard_Boolean bDegenerated;
  TopAbs_ShapeEnum aType;
  TopoDS_Iterator aIt;
  //
  aType=aS.ShapeType();
  if (aType==TopAbs_VERTEX || aType==TopAbs_EDGE ||
      aType==TopAbs_FACE   || aType==TopAbs_SOLID) {
    bDegenerated=Standard_False;
    if (aType==TopAbs_EDGE) {
      TopoDS_Edge *pE=(TopoDS_Edge*)&aS;
      bDegenerated=BRep_Tool::Degenerated(*pE);
    }
    if (!bDegenerated) {
      aM.Add(aS);
    }
  }
  //
  aIt.Initialize(aS);
  for(; aIt.More(); aIt.Next()) {
    const TopoDS_Shape& aSx=aIt.Value();
    aType=aSx.ShapeType();
    MapBRepShapes(aSx, aM);
  }
}

Here is the caller graph for this function: