Back to index

salome-geom  6.5.0
Functions
NMTDS_ShapesDataStructure.cxx File Reference
#include <NMTDS_ShapesDataStructure.hxx>
#include <TopoDS_Iterator.hxx>
#include <TopoDS_Shape.hxx>
#include <BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors.hxx>
#include <NMTDS_ListOfIndexedDataMapOfShapeAncestorsSuccessors.hxx>
#include <NMTDS_ListIteratorOfListOfIndexedDataMapOfShapeAncestorsSuccessors.hxx>
#include <BooleanOperations_ShapeAndInterferences.hxx>
#include <NMTDS_IndexRange.hxx>
#include <BooleanOperations_AncestorsSeqAndSuccessorsSeq.hxx>
#include <TColStd_MapOfInteger.hxx>
#include <NMTDS_Tools.hxx>

Go to the source code of this file.

Functions

static void ComputeBoxExS (const Standard_Integer aIx, const NMTDS_ShapesDataStructure *pDS, Bnd_Box &aBoxEx)
static void GetAllSuccessorsS (const Standard_Integer nS, const NMTDS_ShapesDataStructure *myDS, TColStd_IndexedMapOfInteger &aMA)

Function Documentation

void ComputeBoxExS ( const Standard_Integer  aIx,
const NMTDS_ShapesDataStructure pDS,
Bnd_Box &  aBoxEx 
) [static]

Definition at line 374 of file NMTDS_ShapesDataStructure.cxx.

{
  Standard_Integer i, aNbS, iS;
  //
  const Bnd_Box& aBox=pDS->GetBoundingBox(aIx);
  aBoxEx.Add(aBox);
  //
  aNbS=pDS->NumberOfSuccessors(aIx);
  for (i=1; i<=aNbS; ++i) {
    Bnd_Box aBoxS;
    iS=pDS->GetSuccessor(aIx, i);
    ComputeBoxExS(iS, pDS, aBoxS);
    aBoxEx.Add(aBoxS);
  }
}

Here is the caller graph for this function:

void GetAllSuccessorsS ( const Standard_Integer  nS,
const NMTDS_ShapesDataStructure myDS,
TColStd_IndexedMapOfInteger &  aMA 
) [static]

Definition at line 345 of file NMTDS_ShapesDataStructure.cxx.

{
  TopAbs_ShapeEnum aT;
  Standard_Integer i, nSx, aNbSuccessors, *pSuccessors;
  Standard_Address xSuccessors;
  //
  const TopoDS_Shape& aS=myDS->Shape(nS);
  aT=aS.ShapeType();
  if(NMTDS_Tools::HasBRep(aT)) {
    aMA.Add(nS);
    //
    if (aT==TopAbs_VERTEX) {
      return;
    }
  }
  //
  myDS->GetSuccessors(nS, xSuccessors, aNbSuccessors);
  pSuccessors=(Standard_Integer*)xSuccessors;
  for (i=0; i<aNbSuccessors; ++i) {
    nSx=pSuccessors[i];
    GetAllSuccessorsS(nSx, myDS, aMA);
  }
}

Here is the call graph for this function:

Here is the caller graph for this function: