Back to index

salome-geom  6.5.0
Functions
GEOMImpl_PartitionDriver.cxx File Reference
#include <Standard_Stream.hxx>
#include <GEOMImpl_PartitionDriver.hxx>
#include <GEOMImpl_IPartition.hxx>
#include <GEOMImpl_Types.hxx>
#include <GEOM_Object.hxx>
#include <GEOM_Function.hxx>
#include <GEOMAlgo_Splitter.hxx>
#include <TDataStd_IntegerArray.hxx>
#include <TNaming_CopyShape.hxx>
#include <BRep_Tool.hxx>
#include <BRepAlgo.hxx>
#include <BRepTools.hxx>
#include <TopAbs.hxx>
#include <TopExp.hxx>
#include <TopoDS.hxx>
#include <TopoDS_Shape.hxx>
#include <TopoDS_Vertex.hxx>
#include <TopoDS_Wire.hxx>
#include <TopoDS_Iterator.hxx>
#include <TopTools_MapOfShape.hxx>
#include <TopTools_IndexedMapOfShape.hxx>
#include <TopTools_ListIteratorOfListOfShape.hxx>
#include <TopTools_DataMapOfShapeShape.hxx>
#include <ShapeFix_ShapeTolerance.hxx>
#include <ShapeFix_Shape.hxx>
#include <TColStd_IndexedDataMapOfTransientTransient.hxx>
#include <TColStd_ListIteratorOfListOfInteger.hxx>
#include <TColStd_ListOfInteger.hxx>
#include <Standard_NullObject.hxx>
#include <Precision.hxx>
#include <gp_Pnt.hxx>

Go to the source code of this file.

Functions

static void PrepareShapes (const TopoDS_Shape &theShape, Standard_Integer theType, TopTools_ListOfShape &theSimpleList)
Standard_EXPORT
Handle_Standard_Type & 
GEOMImpl_PartitionDriver_Type_ ()
const Handle (GEOMImpl_PartitionDriver) Handle(GEOMImpl_PartitionDriver)

Function Documentation

Definition at line 485 of file GEOMImpl_PartitionDriver.cxx.

{
  static Handle_Standard_Type aType1 = STANDARD_TYPE(TFunction_Driver);
  if (aType1.IsNull()) aType1 = STANDARD_TYPE(TFunction_Driver);
  static Handle_Standard_Type aType2 = STANDARD_TYPE(MMgt_TShared);
  if (aType2.IsNull()) aType2 = STANDARD_TYPE(MMgt_TShared);
  static Handle_Standard_Type aType3 = STANDARD_TYPE(Standard_Transient);
  if (aType3.IsNull()) aType3 = STANDARD_TYPE(Standard_Transient);

  static Handle_Standard_Transient _Ancestors[] = {aType1,aType2,aType3,NULL};
  static Handle_Standard_Type _aType =
    new Standard_Type ("GEOMImpl_PartitionDriver", sizeof(GEOMImpl_PartitionDriver),
                       1, (Standard_Address)_Ancestors, (Standard_Address)NULL);

  return _aType;
}

Here is the call graph for this function:

Definition at line 506 of file GEOMImpl_PartitionDriver.cxx.

{
  Handle(GEOMImpl_PartitionDriver) _anOtherObject;

  if (!AnObject.IsNull()) {
     if (AnObject->IsKind(STANDARD_TYPE(GEOMImpl_PartitionDriver))) {
       _anOtherObject = Handle(GEOMImpl_PartitionDriver)((Handle(GEOMImpl_PartitionDriver)&)AnObject);
     }
  }

  return _anOtherObject;
}

Here is the call graph for this function:

static void PrepareShapes ( const TopoDS_Shape &  theShape,
Standard_Integer  theType,
TopTools_ListOfShape &  theSimpleList 
) [static]

Definition at line 87 of file GEOMImpl_PartitionDriver.cxx.

{
  if (theType == PARTITION_NO_SELF_INTERSECTIONS ||
      theShape.ShapeType() != TopAbs_COMPOUND) {
    theSimpleList.Append(theShape);
    return;
  }

  // explode compound on simple shapes to allow their intersections
  TopoDS_Iterator It (theShape, Standard_True, Standard_True);
  TopTools_MapOfShape mapShape;
  for (; It.More(); It.Next()) {
    if (mapShape.Add(It.Value())) {
      TopoDS_Shape curSh = It.Value();
      PrepareShapes(curSh, theType, theSimpleList);
    }
  }
}

Here is the caller graph for this function: