Back to index

salome-geom  6.5.0
Functions
GEOMAlgo_Builder_1.cxx File Reference
#include <GEOMAlgo_Builder.hxx>
#include <TColStd_ListOfInteger.hxx>
#include <TopoDS.hxx>
#include <TopoDS_Shape.hxx>
#include <TopoDS_Wire.hxx>
#include <TopoDS_Edge.hxx>
#include <TopoDS_Shell.hxx>
#include <TopoDS_Iterator.hxx>
#include <TopTools_MapOfShape.hxx>
#include <TopTools_ListOfShape.hxx>
#include <TopTools_ListIteratorOfListOfShape.hxx>
#include <TopTools_MapIteratorOfMapOfShape.hxx>
#include <BRep_Tool.hxx>
#include <BRep_Builder.hxx>
#include <IntTools_Context.hxx>
#include <BOPTools_ListIteratorOfListOfPaveBlock.hxx>
#include <BOPTools_ListOfPaveBlock.hxx>
#include <BOPTools_PaveBlock.hxx>
#include <NMTDS_ShapesDataStructure.hxx>
#include <NMTTools_PaveFiller.hxx>
#include <NMTTools_CommonBlockPool.hxx>
#include <NMTTools_ListIteratorOfListOfCommonBlock.hxx>
#include <NMTTools_CommonBlock.hxx>
#include <NMTTools_ListOfCommonBlock.hxx>
#include <NMTTools_CommonBlockAPI.hxx>
#include <GEOMAlgo_Tools3D.hxx>
#include <TColStd_ListIteratorOfListOfInteger.hxx>

Go to the source code of this file.

Functions

static void FillImagesCompounds (const TopTools_MapOfShape &, BRepAlgo_Image &)
static void FillImagesCompound (const TopoDS_Shape &, BRepAlgo_Image &, TopTools_MapOfShape &)

Function Documentation

void FillImagesCompound ( const TopoDS_Shape &  theS,
BRepAlgo_Image &  theImages,
TopTools_MapOfShape &  theMFP 
) [static]

Definition at line 308 of file GEOMAlgo_Builder_1.cxx.

{
  Standard_Boolean bInterferred;
  TopAbs_ShapeEnum aTypeX;
  TopAbs_Orientation aOrX;
  TopoDS_Iterator aIt;
  BRep_Builder aBB;
  TopTools_ListIteratorOfListOfShape aItIm;
  //
  if (!theMFP.Add(theS)) {
    return;
  }
  //
  bInterferred=Standard_False;
  aIt.Initialize(theS);
  for (; aIt.More(); aIt.Next()) {
    const TopoDS_Shape& aSX=aIt.Value();
    aTypeX=aSX.ShapeType();
    if (aTypeX==TopAbs_COMPOUND) {
      FillImagesCompound(aSX, theImages, theMFP);
    }
    if (theImages.HasImage(aSX)) {
      bInterferred=Standard_True;
    }
  }
  if (!bInterferred){
    return;
  }
  //
  TopoDS_Shape aCIm;
  GEOMAlgo_Tools3D::MakeContainer(TopAbs_COMPOUND, aCIm);
  //
  aIt.Initialize(theS);
  for (; aIt.More(); aIt.Next()) {
    const TopoDS_Shape& aSX=aIt.Value();
    aOrX=aSX.Orientation();
    if (theImages.HasImage(aSX)) {
      const TopTools_ListOfShape& aLFIm=theImages.Image(aSX);
      aItIm.Initialize(aLFIm);
      for (; aItIm.More(); aItIm.Next()) {
        TopoDS_Shape aSXIm=aItIm.Value();
        aSXIm.Orientation(aOrX);
        aBB.Add(aCIm, aSXIm);
      }
    }
    else {
      aBB.Add(aCIm, aSX);
    }
  }
  theImages.Bind(theS, aCIm);
}

Here is the call graph for this function:

Here is the caller graph for this function:

void FillImagesCompounds ( const TopTools_MapOfShape &  theMS,
BRepAlgo_Image &  theImages 
) [static]

Definition at line 292 of file GEOMAlgo_Builder_1.cxx.

{
  TopTools_MapOfShape aMFP;
  TopTools_MapIteratorOfMapOfShape aItS;
  //
  aItS.Initialize(theMS);
  for (; aItS.More(); aItS.Next()) {
    const TopoDS_Shape& aC=aItS.Key();
    FillImagesCompound(aC, theImages, aMFP);
  }
}

Here is the call graph for this function:

Here is the caller graph for this function: