Back to index

salome-geom  6.5.0
Public Member Functions | Protected Member Functions | Protected Attributes
GEOMAlgo_GetInPlace Class Reference

The implementation of Get In Place Algorithm. More...

#include <GEOMAlgo_GetInPlace.hxx>

Inheritance diagram for GEOMAlgo_GetInPlace:
Inheritance graph
[legend]
Collaboration diagram for GEOMAlgo_GetInPlace:
Collaboration graph
[legend]

List of all members.

Public Member Functions

Standard_EXPORT GEOMAlgo_GetInPlace ()
 Constructor.
virtual Standard_EXPORT ~GEOMAlgo_GetInPlace ()
 Destructor.
virtual Standard_EXPORT void SetShapeWhere (const TopoDS_Shape &theShape)
 Modifier.
Standard_EXPORT const
TopoDS_Shape & 
ShapeWhere () const
 Selector.
Standard_EXPORT void SetTolMass (const Standard_Real theTol)
 Modifier.
Standard_EXPORT Standard_Real TolMass () const
 Selector.
Standard_EXPORT void SetTolCG (const Standard_Real theTol)
 Modifier.
Standard_EXPORT Standard_Real TolCG () const
 Selector.
virtual Standard_EXPORT void Perform ()
 Perform the algorithm.
Standard_EXPORT Standard_Boolean IsFound () const
 Returns state of the search.
virtual Standard_EXPORT void CheckData ()
 Checks data.
virtual Standard_EXPORT void Clear ()
 Clear the internal content.
Standard_EXPORT const
GEOMAlgo_DataMapOfShapeMapOfShape
ShapesIn () const
 Returns the map of shapes IN.
Standard_EXPORT const
GEOMAlgo_DataMapOfShapeMapOfShape
ShapesOn () const
 Returns the map of shapes ON.
virtual Standard_EXPORT void SetArgument (const TopoDS_Shape &theShape)
Standard_EXPORT const
TopoDS_Shape & 
Argument () const
Standard_EXPORT void SetTolerance (const Standard_Real aT)
Standard_EXPORT Standard_Real Tolerance () const
Standard_EXPORT void SetCheckGeometry (const Standard_Boolean aFlag)
Standard_EXPORT Standard_Boolean CheckGeometry () const
Standard_EXPORT void SetContext (const Handle(IntTools_Context)&)
Standard_EXPORT const Handle (IntTools_Context)&Context()
Standard_EXPORT const
TopTools_DataMapOfShapeListOfShape & 
Images () const
Standard_EXPORT const
TopTools_DataMapOfShapeShape & 
Origins () const
Standard_EXPORT Standard_Integer ErrorStatus () const
Standard_EXPORT Standard_Integer WarningStatus () const
Standard_EXPORT void ComputeInternalShapes (const Standard_Boolean theFlag)
 Allows to omit of creation of internal shapes (manifold topology).
Needed for the SALOME/TRIPOLI module.

Protected Member Functions

Standard_EXPORT void Intersect ()
Standard_EXPORT void PerformVV ()
Standard_EXPORT void PerformVE ()
Standard_EXPORT void PerformEE ()
Standard_EXPORT void PerformVF ()
Standard_EXPORT void PerformEF ()
Standard_EXPORT void PerformFF ()
Standard_EXPORT void FillEdgesOn ()
Standard_EXPORT void FillFacesOn ()
Standard_EXPORT void FillSolidsOn ()
Standard_EXPORT void PerformZF ()
Standard_EXPORT void PerformZZ ()
Standard_EXPORT void FillImages ()
Standard_EXPORT void FillImagesCompound (const TopoDS_Shape &theS)
Standard_EXPORT void CheckGProps ()
Standard_EXPORT void CheckGProps (const TopoDS_Shape &theS)
Standard_EXPORT void FillShapesIn (const TopoDS_Shape &theS1, const TopoDS_Shape &theS2)
Standard_EXPORT void FillShapesOn (const TopoDS_Shape &theS1, const TopoDS_Shape &theS2)
Standard_EXPORT Standard_Boolean CheckCoincidence (const TopoDS_Shape &theS1, const TopoDS_Shape &theS2)
 Handle (IntTools_Context) myContext
virtual Standard_EXPORT void CheckResult ()

Protected Attributes

TopoDS_Shape myShapeWhere
GEOMAlgo_GetInPlaceIterator myIterator
GEOMAlgo_DataMapOfShapeMapOfShape myShapesIn
GEOMAlgo_DataMapOfShapeMapOfShape myShapesOn
Standard_Real myTolMass
Standard_Real myTolCG
Standard_Boolean myFound
GEOMAlgo_DataMapOfShapePnt myMapShapePnt
TopoDS_Shape myArgument
Standard_Real myTolerance
Standard_Boolean myCheckGeometry
TopTools_DataMapOfShapeListOfShape myImages
TopTools_DataMapOfShapeShape myOrigins
Standard_Integer myErrorStatus
Standard_Integer myWarningStatus
Standard_Boolean myComputeInternalShapes

Detailed Description

The implementation of Get In Place Algorithm.

The algorithm provides the search the argument [What] in the shape [Where].

Definition at line 138 of file GEOMAlgo_GetInPlace.hxx.


Constructor & Destructor Documentation

Constructor.

Definition at line 75 of file GEOMAlgo_GetInPlace.cxx.

:
  GEOMAlgo_GluerAlgo(),
  GEOMAlgo_Algo()
{
  myTolerance=0.0001;
  myTolMass=0.0001;
  myTolCG=0.0001;
  myFound=Standard_False;
  myCheckGeometry=Standard_True;
}

Destructor.

Definition at line 90 of file GEOMAlgo_GetInPlace.cxx.

{
}

Member Function Documentation

const TopoDS_Shape & GEOMAlgo_GluerAlgo::Argument ( ) const [inherited]

Definition at line 59 of file GEOMAlgo_GluerAlgo.cxx.

{
  return myArgument;
}
Standard_Boolean GEOMAlgo_GetInPlace::CheckCoincidence ( const TopoDS_Shape &  theS1,
const TopoDS_Shape &  theS2 
) [protected]

Definition at line 91 of file GEOMAlgo_GetInPlace_1.cxx.

{
  Standard_Boolean bOk;
  Standard_Integer iErr;
  Standard_Real aTol2;
  TopAbs_ShapeEnum aType1, aType2;
  TopAbs_State aState;
  gp_Pnt aP1, aP2;
  //
  myErrorStatus=0;
  //
  iErr=0;
  bOk=Standard_False;
  aTol2=myTolerance*myTolerance;
  aType1=aS1.ShapeType();
  aType2=aS2.ShapeType();
  //
  // 1. A point on shape #2 -> aP2
  if (myMapShapePnt.IsBound(aS2)) {
    aP2=myMapShapePnt.Find(aS2);
  }
  else {//else 1
    if (aType2==TopAbs_VERTEX) {
      const TopoDS_Vertex& aV2=*((TopoDS_Vertex*)&aS2);
      aP2=BRep_Tool::Pnt(aV2);
    }
    //
    else if (aType2==TopAbs_EDGE) {
      const TopoDS_Edge& aE2=*((TopoDS_Edge*)&aS2);
      iErr=PntInEdge(aE2, aP2);
    }
    //
    else if (aType2==TopAbs_FACE) {
      const TopoDS_Face& aF2=*((TopoDS_Face*)&aS2);
      iErr=PntInFace(aF2, aP2);
    }
    //
    else if (aType2==TopAbs_SOLID) {
      const TopoDS_Solid& aZ2=*((TopoDS_Solid*)&aS2);
      iErr=PntInSolid(aZ2, myTolerance, aP2);
    }
    //
    else {
      iErr=1;
    }
    //
    if (iErr) {
      myErrorStatus=50;
      return bOk;
    }
    //
    myMapShapePnt.Bind(aS2, aP2);
  } //else 1
  //
  // 2. Project the point aP2 on shape #1 and check
  if (aType1==TopAbs_EDGE) {
    Standard_Integer aNbPoints;
    Standard_Real aDmin, aT, aT1, aT2, dT;
    //
    const TopoDS_Edge& aE1=*((TopoDS_Edge*)&aS1);
    //
    GeomAPI_ProjectPointOnCurve& aPPC=myContext->ProjPC(aE1);
    aPPC.Perform(aP2);
    aNbPoints=aPPC.NbPoints();
    if (aNbPoints) {
      aDmin=aPPC.LowerDistance();
      aT=aPPC.LowerDistanceParameter();
      if (aDmin < myTolerance) {
       dT=1.e-12;
       BRep_Tool::Curve(aE1, aT1, aT2);
        if(aT > (aT1-dT) && aT < (aT2+dT)) {
         bOk=Standard_True;
       }
      }
    }
    //else {
    // iErr=2;
    //}
  }//if (aType1==TopAbs_EDGE) {
  //
  else if (aType1==TopAbs_FACE) {
    const TopoDS_Face& aF1=*((TopoDS_Face*)&aS1);
    //
    bOk=myContext->IsValidPointForFace(aP2, aF1, myTolerance);
  }
  //
  else if (aType1==TopAbs_SOLID) {
    const TopoDS_Solid& aZ1=*((TopoDS_Solid*)&aS1);
    //
    BRepClass3d_SolidClassifier& aSC=myContext->SolidClassifier(aZ1);
    aSC.Perform(aP2, myTolerance);
    aState=aSC.State();
    bOk=(aState==TopAbs_IN);
  }
  //
  if (iErr) {
    myErrorStatus=50;
  }
  //
  return bOk;
}

Here is the call graph for this function:

Here is the caller graph for this function:

void GEOMAlgo_GetInPlace::CheckData ( ) [virtual]

Checks data.

Reimplemented from GEOMAlgo_Algo.

Definition at line 277 of file GEOMAlgo_GetInPlace.cxx.

{
  myErrorStatus=0;
  myWarningStatus=0;
  //
  if (myArgument.IsNull()) {
    myErrorStatus=2;
    return;
  }
  //
  if (myShapeWhere.IsNull()) {
    myErrorStatus=3;
    return;
  }
}

Here is the caller graph for this function:

Standard_Boolean GEOMAlgo_GluerAlgo::CheckGeometry ( ) const [inherited]

Definition at line 92 of file GEOMAlgo_GluerAlgo.cxx.

{
  return myCheckGeometry;
}
void GEOMAlgo_GetInPlace::CheckGProps ( ) [protected]

Definition at line 60 of file GEOMAlgo_GetInPlace_2.cxx.

{
  myFound=Standard_False;
  CheckGProps(myArgument);
}

Here is the caller graph for this function:

void GEOMAlgo_GetInPlace::CheckGProps ( const TopoDS_Shape &  theS) [protected]

Definition at line 69 of file GEOMAlgo_GetInPlace_2.cxx.

{
  Standard_Boolean bOnlyClosed;
  Standard_Integer iDim, aNbS2;
  Standard_Real aMass1, aMass2, aD2, aTolCG2, dM;
  TopAbs_ShapeEnum  aType1;
  gp_Pnt aCG1, aCG2;
  TopoDS_Iterator aIt;
  TopoDS_Compound aC2;
  BRep_Builder aBB;
  TopTools_ListIteratorOfListOfShape aItLS;
  //
  myErrorStatus=0;
  //
  aType1=aS1.ShapeType();
  if (aType1==TopAbs_COMPOUND) {
    aIt.Initialize(aS1);
    for(; aIt.More(); aIt.Next()) {
      const TopoDS_Shape& aS1x=aIt.Value();
      CheckGProps(aS1x);
      if (!myFound) {
       return;
      }
    }
  }
  //
  iDim=Dimension(aType1);
  //
  if (!myImages.IsBound(aS1)) {
    // it should not be.
    return;
  }
  const TopTools_ListOfShape& aLS2=myImages.Find(aS1);
  aNbS2=aLS2.Extent();
  if (!aNbS2) {
    // it should not be.
    return;
  }
  //
  aBB.MakeCompound(aC2);
  aItLS.Initialize(aLS2);
  for (; aItLS.More(); aItLS.Next()) {
    const TopoDS_Shape& aS2x=aItLS.Value();
    aBB.Add(aC2, aS2x);
  }
  //-------------------------
  GProp_GProps aG1, aG2;
  //
  aTolCG2=myTolCG*myTolCG;
  bOnlyClosed=Standard_False;
  //
  if (iDim==0) {
    PointProperties(aS1, aG1);
    PointProperties(aC2, aG2);
  }
  else if (iDim==1) {
    BRepGProp::LinearProperties(aS1, aG1);
    BRepGProp::LinearProperties(aC2, aG2);
  }
  else if (iDim==2) {
    BRepGProp::SurfaceProperties(aS1, aG1);
    BRepGProp::SurfaceProperties(aC2, aG2);
  }
  else if (iDim==3) {
    BRepGProp::VolumeProperties(aS1, aG1, bOnlyClosed);
    BRepGProp::VolumeProperties(aC2, aG2, bOnlyClosed);
  }
  //
  aMass1=aG1.Mass();
  aMass2=aG2.Mass();
  aCG1=aG1.CentreOfMass();
  aCG2=aG2.CentreOfMass();
  //
  dM=fabs(aMass1-aMass2);
  if (aMass1 > myTolMass) {
    dM=dM/aMass1;
  }
  //
  aD2=aCG1.SquareDistance(aCG2);
  //
  if ((dM > myTolMass) || (aD2 > aTolCG2)) {
    myFound=Standard_False;
    return;
  }
  myFound=Standard_True;
}

Here is the call graph for this function:

void GEOMAlgo_Algo::CheckResult ( ) [protected, virtual, inherited]

Reimplemented in GEOMAlgo_Gluer.

Definition at line 59 of file GEOMAlgo_Algo.cxx.

void GEOMAlgo_GetInPlace::Clear ( ) [virtual]

Clear the internal content.

Reimplemented from GEOMAlgo_GluerAlgo.

Definition at line 169 of file GEOMAlgo_GetInPlace.cxx.

Here is the call graph for this function:

Here is the caller graph for this function:

void GEOMAlgo_Algo::ComputeInternalShapes ( const Standard_Boolean  theFlag) [inherited]

Allows to omit of creation of internal shapes (manifold topology).
Needed for the SALOME/TRIPOLI module.

Definition at line 87 of file GEOMAlgo_Algo.cxx.

{
  myComputeInternalShapes = theFlag;
}

Here is the caller graph for this function:

Standard_Integer GEOMAlgo_Algo::ErrorStatus ( ) const [inherited]

Definition at line 67 of file GEOMAlgo_Algo.cxx.

{
  return myErrorStatus;
}

Here is the caller graph for this function:

void GEOMAlgo_GetInPlace::FillEdgesOn ( ) [protected]

Definition at line 405 of file GEOMAlgo_GetInPlace.cxx.

{
  Standard_Integer i, aNbE;
  TopoDS_Iterator aIt;
  TopTools_IndexedMapOfShape aME;
  TopTools_MapIteratorOfMapOfShape aItMS;
  //
  TopExp::MapShapes(myArgument, TopAbs_EDGE, aME);
  aNbE=aME.Extent();
  for (i=1; i<=aNbE; ++i) {
    const TopoDS_Edge& aE1=*((TopoDS_Edge*)&aME(i));
    if (BRep_Tool::Degenerated(aE1)) {
      continue;
    }
    //
    aIt.Initialize(aE1);
    for (; aIt.More(); aIt.Next()) {
      const TopoDS_Shape& aV1=aIt.Value();
      if (myShapesOn.IsBound(aV1)) {
        const TopTools_MapOfShape& aMSOn=myShapesOn.Find(aV1);
        //aNbSOn=aMSOn.Extent();
        aItMS.Initialize(aMSOn);
        for (; aItMS.More(); aItMS.Next()) {
          const TopoDS_Shape& aV2=aItMS.Key();
          FillShapesOn(aE1, aV2);
        }
      }
    }
  }
}

Here is the call graph for this function:

Here is the caller graph for this function:

void GEOMAlgo_GetInPlace::FillFacesOn ( ) [protected]

Definition at line 573 of file GEOMAlgo_GetInPlace.cxx.

{
  Standard_Integer i, j, aNbF, aNbE;
  TopoDS_Iterator aIt;
  TopTools_IndexedMapOfShape aMF, aME;
  TopTools_MapIteratorOfMapOfShape aItMS;
  //
  TopExp::MapShapes(myArgument, TopAbs_FACE, aMF);
  aNbF=aMF.Extent();
  for (i=1; i<=aNbF; ++i) {
    const TopoDS_Face& aF1=*((TopoDS_Face*)&aMF(i));
    //
    aME.Clear();
    TopExp::MapShapes(aF1, TopAbs_EDGE, aME);
    aNbE=aME.Extent();
    for (j=1; j<=aNbE; ++j) {
      const TopoDS_Edge& aE1=*((TopoDS_Edge*)&aME(j));
      if (BRep_Tool::Degenerated(aE1)) {
        continue;
      }
      //
      if (myShapesOn.IsBound(aE1)) {
        const TopTools_MapOfShape& aMSOn=myShapesOn.Find(aE1);
        aItMS.Initialize(aMSOn);
        for (; aItMS.More(); aItMS.Next()) {
          const TopoDS_Shape& aS2=aItMS.Key();
          FillShapesOn(aF1, aS2);
        }
      }
      //
      if (myShapesIn.IsBound(aE1)) {
        const TopTools_MapOfShape& aMSIn=myShapesIn.Find(aE1);
        aItMS.Initialize(aMSIn);
        for (; aItMS.More(); aItMS.Next()) {
          const TopoDS_Shape& aS2=aItMS.Key();
          FillShapesOn(aF1, aS2);
        }
      }
    }//for (j=1; j<=aNbE; ++j) {
  }//for (i=1; i<=aNbF; ++i) {
}

Here is the call graph for this function:

Here is the caller graph for this function:

void GEOMAlgo_GetInPlace::FillImages ( ) [protected]

Definition at line 867 of file GEOMAlgo_GetInPlace.cxx.

{
  Standard_Integer i, aNbS, aNbSx, aNbSi;
  TopAbs_ShapeEnum aType;
  TopoDS_Iterator aIt;
  TopTools_ListOfShape aLSx;
  TopTools_ListIteratorOfListOfShape aItLS;
  TopTools_IndexedMapOfShape aMS;
  TopTools_MapIteratorOfMapOfShape aItMS;
  //
  myErrorStatus=0;
  myWarningStatus=0;
  //
  myImages.Clear();
  //
  // 1. Vertices
  aMS.Clear();
  TopExp::MapShapes(myArgument, TopAbs_VERTEX, aMS);
  aNbS=aMS.Extent();
  for (i=1; i<=aNbS; ++i) {
    const TopoDS_Shape& aV=aMS(i);
    if (myShapesOn.IsBound(aV)) {
      const TopTools_MapOfShape& aMSx=myShapesOn.Find(aV);
      aNbSx=aMSx.Extent();
      //
      aLSx.Clear();
      aItMS.Initialize(aMSx);
      for (; aItMS.More(); aItMS.Next()) {
        const TopoDS_Shape& aVx=aItMS.Key();
        aLSx.Append(aVx);
      }
      //
      myImages.Bind(aV, aLSx);
    }
  }
  //
  // 2. Edges
  aMS.Clear();
  TopExp::MapShapes(myArgument, TopAbs_EDGE, aMS);
  aNbS=aMS.Extent();
  for (i=1; i<=aNbS; ++i) {
    const TopoDS_Shape& aE=aMS(i);
    if (myShapesIn.IsBound(aE)) {
      const TopTools_MapOfShape& aMSx=myShapesIn.Find(aE);
      aNbSx=aMSx.Extent();
      //
      aLSx.Clear();
      aItMS.Initialize(aMSx);
      for (; aItMS.More(); aItMS.Next()) {
        const TopoDS_Shape& aEx=aItMS.Key();
        aType=aEx.ShapeType();
        if (aType==TopAbs_EDGE){
          aLSx.Append(aEx);
        }
      }
      //
      myImages.Bind(aE, aLSx);
    }
  }
  //
  // 3. Wires
  aMS.Clear();
  TopExp::MapShapes(myArgument, TopAbs_WIRE, aMS);
  aNbS=aMS.Extent();
  for (i=1; i<=aNbS; ++i) {
    const TopoDS_Shape& aW=aMS(i);
    aLSx.Clear();
    aIt.Initialize(aW);
    for(; aIt.More(); aIt.Next()) {
      const TopoDS_Shape& aE=aIt.Value();
      if (myImages.IsBound(aE)) {
        const TopTools_ListOfShape& aLSi=myImages.Find(aE);
        aNbSi=aLSi.Extent();
        //
        aItLS.Initialize(aLSi);
        for (; aItLS.More(); aItLS.Next()) {
          const TopoDS_Shape& aEi=aItLS.Value();
          aLSx.Append(aEi);
        }
      }
    }
    myImages.Bind(aW, aLSx);
  }
  //
  // 4. Faces
  aMS.Clear();
  TopExp::MapShapes(myArgument, TopAbs_FACE, aMS);
  aNbS=aMS.Extent();
  for (i=1; i<=aNbS; ++i) {
    const TopoDS_Shape& aF=aMS(i);
    if (myShapesIn.IsBound(aF)) {
      const TopTools_MapOfShape& aMSx=myShapesIn.Find(aF);
      aNbSx=aMSx.Extent();
      //
      aLSx.Clear();
      aItMS.Initialize(aMSx);
      for (; aItMS.More(); aItMS.Next()) {
        const TopoDS_Shape& aFx=aItMS.Key();
        aType=aFx.ShapeType();
        if (aType==TopAbs_FACE){
          aLSx.Append(aFx);
        }
      }
      //
      myImages.Bind(aF, aLSx);
    }
  }
  //
  // 5. Shells
  aMS.Clear();
  TopExp::MapShapes(myArgument, TopAbs_SHELL, aMS);
  aNbS=aMS.Extent();
  for (i=1; i<=aNbS; ++i) {
    const TopoDS_Shape& aSh=aMS(i);
    aLSx.Clear();
    aIt.Initialize(aSh);
    for(; aIt.More(); aIt.Next()) {
      const TopoDS_Shape& aF=aIt.Value();
      if (myImages.IsBound(aF)) {
        const TopTools_ListOfShape& aLSi=myImages.Find(aF);
        aNbSi=aLSi.Extent();
        //
        aItLS.Initialize(aLSi);
        for (; aItLS.More(); aItLS.Next()) {
          const TopoDS_Shape& aFi=aItLS.Value();
          aLSx.Append(aFi);
        }
      }
    }
    myImages.Bind(aSh, aLSx);
  }
  //
  // 6. Solids
  aMS.Clear();
  TopExp::MapShapes(myArgument, TopAbs_SOLID, aMS);
  aNbS=aMS.Extent();
  for (i=1; i<=aNbS; ++i) {
    const TopoDS_Shape& aZ=aMS(i);
    if (myShapesIn.IsBound(aZ)) {
      const TopTools_MapOfShape& aMSx=myShapesIn.Find(aZ);
      aNbSx=aMSx.Extent();
      //
      aLSx.Clear();
      aItMS.Initialize(aMSx);
      for (; aItMS.More(); aItMS.Next()) {
        const TopoDS_Shape& aZx=aItMS.Key();
        aType=aZx.ShapeType();
        if (aType==TopAbs_SOLID){
          aLSx.Append(aZx);
        }
      }
      //
      myImages.Bind(aZ, aLSx);
    }
  }
  //
  // 7. CompSolids
  aMS.Clear();
  TopExp::MapShapes(myArgument, TopAbs_COMPSOLID, aMS);
  aNbS=aMS.Extent();
  for (i=1; i<=aNbS; ++i) {
    const TopoDS_Shape& aCs=aMS(i);
    aLSx.Clear();
    aIt.Initialize(aCs);
    for(; aIt.More(); aIt.Next()) {
      const TopoDS_Shape& aZ=aIt.Value();
      if (myImages.IsBound(aZ)) {
        const TopTools_ListOfShape& aLSi=myImages.Find(aZ);
        aNbSi=aLSi.Extent();
        //
        aItLS.Initialize(aLSi);
        for (; aItLS.More(); aItLS.Next()) {
          const TopoDS_Shape& aZi=aItLS.Value();
          aLSx.Append(aZi);
        }
      }
    }
    myImages.Bind(aCs, aLSx);
  }
  //
  // 8. Compounds
  aType=myArgument.ShapeType();
  if (aType==TopAbs_COMPOUND) {
    FillImagesCompound(myArgument);
  }
}

Here is the call graph for this function:

Here is the caller graph for this function:

void GEOMAlgo_GetInPlace::FillImagesCompound ( const TopoDS_Shape &  theS) [protected]

Definition at line 1057 of file GEOMAlgo_GetInPlace.cxx.

{
  TopAbs_ShapeEnum aType;
  TopoDS_Iterator aIt;
  TopTools_ListOfShape aLSx;
  TopTools_ListIteratorOfListOfShape aItLS;
  //
  aIt.Initialize(aS);
  for(; aIt.More(); aIt.Next()) {
    const TopoDS_Shape& aSx=aIt.Value();
    aType=aSx.ShapeType();
    //
    if (aType==TopAbs_COMPOUND) {
      FillImagesCompound(aSx);
    }
    //
    if (myImages.IsBound(aSx)) {
      const TopTools_ListOfShape& aLSi=myImages.Find(aSx);
      aItLS.Initialize(aLSi);
      for (; aItLS.More(); aItLS.Next()) {
        const TopoDS_Shape& aSi=aItLS.Value();
        aLSx.Append(aSi);
      }
    }
  }
  myImages.Bind(aS, aLSx);
}

Here is the caller graph for this function:

void GEOMAlgo_GetInPlace::FillShapesIn ( const TopoDS_Shape &  theS1,
const TopoDS_Shape &  theS2 
) [protected]

Definition at line 1089 of file GEOMAlgo_GetInPlace.cxx.

{
  if (myShapesIn.IsBound(aS1)) {
    TopTools_MapOfShape& aMS=myShapesIn.ChangeFind(aS1);
    aMS.Add(aS2);
  }
  else {
    TopTools_MapOfShape aMS;
    //
    aMS.Add(aS2);
    myShapesIn.Bind(aS1, aMS);
  }
}

Here is the caller graph for this function:

void GEOMAlgo_GetInPlace::FillShapesOn ( const TopoDS_Shape &  theS1,
const TopoDS_Shape &  theS2 
) [protected]

Definition at line 1107 of file GEOMAlgo_GetInPlace.cxx.

{
  if (myShapesOn.IsBound(aS1)) {
    TopTools_MapOfShape& aMS=myShapesOn.ChangeFind(aS1);
    aMS.Add(aS2);
  }
  else {
    TopTools_MapOfShape aMS;
    //
    aMS.Add(aS2);
    myShapesOn.Bind(aS1, aMS);
  }
}

Here is the caller graph for this function:

void GEOMAlgo_GetInPlace::FillSolidsOn ( ) [protected]

Definition at line 724 of file GEOMAlgo_GetInPlace.cxx.

{
  Standard_Integer i, j, aNbS, aNbF;
  TopTools_IndexedMapOfShape aMS, aMF;
  TopTools_MapIteratorOfMapOfShape aItMS;
  //
  TopExp::MapShapes(myArgument, TopAbs_SOLID, aMS);
  //
  aNbS=aMS.Extent();
  for (i=1; i<=aNbS; ++i) {
    const TopoDS_Shape& aSD1=aMS(i);
    //
    aMF.Clear();
    TopExp::MapShapes(aSD1, TopAbs_FACE, aMF);
    aNbF=aMF.Extent();
    for (j=1; j<=aNbF; ++j) {
      const TopoDS_Shape& aF1=aMF(j);
      //
      if (myShapesOn.IsBound(aF1)) {
        const TopTools_MapOfShape& aMSOn=myShapesOn.Find(aF1);
        aItMS.Initialize(aMSOn);
        for (; aItMS.More(); aItMS.Next()) {
          const TopoDS_Shape& aS2=aItMS.Key();
          FillShapesOn(aSD1, aS2);
        }
      }
      //
      if (myShapesIn.IsBound(aF1)) {
        const TopTools_MapOfShape& aMSIn=myShapesIn.Find(aF1);
        aItMS.Initialize(aMSIn);
        for (; aItMS.More(); aItMS.Next()) {
          const TopoDS_Shape& aS2=aItMS.Key();
          FillShapesOn(aSD1, aS2);
        }
      }
    }//for (j=1; j<=aNbF; ++j) {
  }//for (i=1; i<=aNbS; ++i) {
}

Here is the call graph for this function:

Here is the caller graph for this function:

Standard_EXPORT const GEOMAlgo_GluerAlgo::Handle ( IntTools_Context  ) [inherited]

Here is the caller graph for this function:

GEOMAlgo_GluerAlgo::Handle ( IntTools_Context  ) [protected, inherited]
const TopTools_DataMapOfShapeListOfShape & GEOMAlgo_GluerAlgo::Images ( ) const [inherited]

Definition at line 116 of file GEOMAlgo_GluerAlgo.cxx.

{
  return myImages;
}

Here is the caller graph for this function:

void GEOMAlgo_GetInPlace::Intersect ( ) [protected]

Definition at line 296 of file GEOMAlgo_GetInPlace.cxx.

{
  Standard_Integer i, j, aNbS1, aNbS2, aNbSD;
  TColStd_ListIteratorOfListOfInteger aItLI;
  TopTools_IndexedMapOfShape aMS1, aMS2;
  TopTools_DataMapOfShapeListOfShape aDMSLS;
  TopTools_DataMapIteratorOfDataMapOfShapeListOfShape aItDMSLS;
  TopTools_ListIteratorOfListOfShape aItLS;
  NMTTools_CoupleOfShape aCS;
  //
  NMTDS_BoxBndTreeSelector aSelector;
  NMTDS_BoxBndTree aBBTree;
  NCollection_UBTreeFiller <Standard_Integer, Bnd_Box> aTreeFiller(aBBTree);
  //
  myErrorStatus=0;
  myWarningStatus=0;
  //
  myIterator.Clear();
  //
  MapBRepShapes(myArgument, aMS1);
  aNbS1=aMS1.Extent();
  for (i=1; i<=aNbS1; ++i) {
    Bnd_Box aBox1;
    //
    const TopoDS_Shape& aS1=aMS1(i);
    BRepBndLib::Add(aS1, aBox1);
    //modified by NIZNHY-PKV Fri Jun 10 08:20:03 2011f
    //aBox1.SetGap(myTolerance);
    aBox1.Enlarge(myTolerance);
    //modified by NIZNHY-PKV Fri Jun 10 08:20:06 2011t
    //
    aTreeFiller.Add(i, aBox1);
  }
  //
  aTreeFiller.Fill();
  //
  MapBRepShapes(myShapeWhere, aMS2);
  aNbS2=aMS2.Extent();
  for (j=1; j<=aNbS2; ++j) {
    Bnd_Box aBox2;
    //
    const TopoDS_Shape& aS2=aMS2(j);
    BRepBndLib::Add(aS2, aBox2);
    //modified by NIZNHY-PKV Fri Jun 10 08:20:23 2011f
    //aBox2.SetGap(myTolerance);
    aBox2.Enlarge(myTolerance);
    //modified by NIZNHY-PKV Fri Jun 10 08:20:25 2011t
    //
    aSelector.Clear();
    aSelector.SetBox(aBox2);
    aNbSD=aBBTree.Select(aSelector);
    if (!aNbSD) {
      continue;  // it should not be
    }
    //
    const TColStd_ListOfInteger& aLI=aSelector.Indices();
    aItLI.Initialize(aLI);
    for (; aItLI.More(); aItLI.Next()) {
      i=aItLI.Value();
      const TopoDS_Shape& aS1=aMS1(i);
      //
      if (aDMSLS.IsBound(aS1)) {
        TopTools_ListOfShape& aLS=aDMSLS.ChangeFind(aS1);
        aLS.Append(aS2);
      }
      else {
        TopTools_ListOfShape aLS;
        //
        aLS.Append(aS2);
        aDMSLS.Bind(aS1, aLS);
      }
    }
  }// for (j=1; j<=aNbS2; ++j) {
  //
  aItDMSLS.Initialize(aDMSLS);
  for (; aItDMSLS.More(); aItDMSLS.Next()) {
    const TopoDS_Shape& aS1=aItDMSLS.Key();
    const TopTools_ListOfShape& aLS2=aItDMSLS.Value();
    aCS.SetShape1(aS1);
    aItLS.Initialize(aLS2);
    for (; aItLS.More(); aItLS.Next()) {
      const TopoDS_Shape& aS2=aItLS.Value();
      aCS.SetShape2(aS2);
      myIterator.AppendPair(aCS);
    }
  }
}

Here is the call graph for this function:

Here is the caller graph for this function:

Standard_Boolean GEOMAlgo_GetInPlace::IsFound ( ) const

Returns state of the search.

Returns:
Standard_True if the argument is found.

Definition at line 129 of file GEOMAlgo_GetInPlace.cxx.

{
  return myFound;
}
const TopTools_DataMapOfShapeShape & GEOMAlgo_GluerAlgo::Origins ( ) const [inherited]

Definition at line 124 of file GEOMAlgo_GluerAlgo.cxx.

{
  return myOrigins;
}
void GEOMAlgo_GetInPlace::Perform ( ) [virtual]

Perform the algorithm.

Implements GEOMAlgo_Algo.

Definition at line 184 of file GEOMAlgo_GetInPlace.cxx.

{
  myFound=Standard_False;
  myErrorStatus=0;
  myWarningStatus=0;
  //
  Clear();
  if (myErrorStatus) {
    return;
  }
  //
  CheckData();
  if (myErrorStatus) {
    return;
  }
  //
  // Initialize the context
  GEOMAlgo_GluerAlgo::Perform();
  //
  Intersect();
  if (myErrorStatus) {
    return;
  }
  //
  PerformVV();
  if (myErrorStatus) {
    return;
  }
  //
  FillEdgesOn();
  if (myErrorStatus) {
    return;
  }
  //
  PerformVE();
  if (myErrorStatus) {
    return;
  }
  //
  PerformEE();
  if (myErrorStatus) {
    return;
  }
  //
  PerformVF();
  if (myErrorStatus) {
    return;
  }
  //
  FillFacesOn();
  if (myErrorStatus) {
    return;
  }
  //
  PerformEF();
  if (myErrorStatus) {
    return;
  }
  //
  PerformFF();
  if (myErrorStatus) {
    return;
  }
  //
  FillSolidsOn();
  if (myErrorStatus) {
    return;
  }
  //
  PerformZF();
  if (myErrorStatus) {
    return;
  }
  //
  PerformZZ();
  if (myErrorStatus) {
    return;
  }
  //
  FillImages();
  if (myErrorStatus) {
    return;
  }
  //
  CheckGProps();
  if (myErrorStatus) {
    return;
  }
}

Here is the call graph for this function:

void GEOMAlgo_GetInPlace::PerformEE ( ) [protected]

Definition at line 473 of file GEOMAlgo_GetInPlace.cxx.

{
  Standard_Boolean bHasOn, bHasIn, bFound;
  TopoDS_Iterator aIt;
  TopTools_MapOfShape aMSX;
  //
  myErrorStatus=0;
  myWarningStatus=0;
  //
  myIterator.Initialize(TopAbs_EDGE, TopAbs_EDGE);
  for (; myIterator.More(); myIterator.Next()) {
    const NMTTools_CoupleOfShape& aCS=myIterator.Value();
    const TopoDS_Shape& aE1=aCS.Shape1();
    const TopoDS_Shape& aE2=aCS.Shape2();
    //
    bHasOn=myShapesOn.IsBound(aE1);
    bHasIn=myShapesIn.IsBound(aE1);
    const TopTools_MapOfShape& aMSOn=(bHasOn) ? myShapesOn.Find(aE1) : aMSX;
    const TopTools_MapOfShape& aMSIn=(bHasIn) ? myShapesIn.Find(aE1) : aMSX;
    //
    bFound=Standard_True;
    aIt.Initialize(aE2);
    for (; aIt.More(); aIt.Next()) {
      const TopoDS_Shape& aV2=aIt.Value();
      if (!(aMSOn.Contains(aV2) || aMSIn.Contains(aV2))) {
        bFound=!bFound;
        break;
      }
    }
    if (!bFound) {
      continue;
    }
    //
    bFound=CheckCoincidence(aE1, aE2);
    if (myErrorStatus) {
      return;
    }
    if (bFound) {
      FillShapesIn(aE1, aE2);
    }
  }
}

Here is the call graph for this function:

Here is the caller graph for this function:

void GEOMAlgo_GetInPlace::PerformEF ( ) [protected]

Definition at line 618 of file GEOMAlgo_GetInPlace.cxx.

{
  Standard_Boolean  bFound, bHasOnF, bHasInF;
  TopoDS_Iterator aIt;
  TopTools_MapOfShape aMSX;
  //
  myErrorStatus=0;
  myWarningStatus=0;
  //
  myIterator.Initialize(TopAbs_FACE, TopAbs_EDGE);
  for (; myIterator.More(); myIterator.Next()) {
    const NMTTools_CoupleOfShape& aCS=myIterator.Value();
    const TopoDS_Shape& aF1=aCS.Shape1();
    const TopoDS_Shape& aE2=aCS.Shape2();
    //
    // 1.
    bHasOnF=myShapesOn.IsBound(aF1);
    const TopTools_MapOfShape& aMSOnF=(bHasOnF) ? myShapesOn.Find(aF1) : aMSX;
    bFound=aMSOnF.Contains(aE2);
    if (bFound) {
      continue;
    }
    //
    // 2.
    bHasInF=myShapesIn.IsBound(aF1);
    const TopTools_MapOfShape& aMSInF=(bHasInF) ? myShapesIn.Find(aF1) : aMSX;
    //
    aIt.Initialize(aE2);
    for (; aIt.More(); aIt.Next()) {
      const TopoDS_Shape& aV2=aIt.Value();
      bFound=(aMSOnF.Contains(aV2) || aMSInF.Contains(aV2));
      if (!bFound) {
        break;
      }
    }
    if (!bFound) {
      continue;
    }
    //------------------------------
    bFound=CheckCoincidence(aF1, aE2);
    if (myErrorStatus) {
      return;
    }
    if (bFound) {
      FillShapesIn(aF1, aE2);
    }
  }
}

Here is the call graph for this function:

Here is the caller graph for this function:

void GEOMAlgo_GetInPlace::PerformFF ( ) [protected]

Definition at line 670 of file GEOMAlgo_GetInPlace.cxx.

{
  Standard_Boolean  bFound, bHasOnF, bHasInF;
  Standard_Integer i, aNbS2;
  TopTools_MapOfShape aMSX;
  TopTools_IndexedMapOfShape aMS2;
  //
  myErrorStatus=0;
  myWarningStatus=0;
  //
  myIterator.Initialize(TopAbs_FACE, TopAbs_FACE);
  for (; myIterator.More(); myIterator.Next()) {
    const NMTTools_CoupleOfShape& aCS=myIterator.Value();
    const TopoDS_Shape& aF1=aCS.Shape1();
    const TopoDS_Shape& aF2=aCS.Shape2();
    //
    bHasOnF=myShapesOn.IsBound(aF1);
    const TopTools_MapOfShape& aMSOnF=(bHasOnF) ? myShapesOn.Find(aF1) : aMSX;
    //
    bHasInF=myShapesIn.IsBound(aF1);
    const TopTools_MapOfShape& aMSInF=(bHasInF) ? myShapesIn.Find(aF1) : aMSX;
    //
    aMS2.Clear();
    MapBRepShapes(aF2, aMS2);
    //
    bFound=Standard_False;
    aNbS2=aMS2.Extent();
    for (i=1; i<=aNbS2; ++i) {
      const TopoDS_Shape& aS2=aMS2(i);
      if (aS2.IsSame(aF2)) {
        continue;
      }
      bFound=(aMSOnF.Contains(aS2) || aMSInF.Contains(aS2));
      if (!bFound) {
        break;
      }
    }
    if (!bFound) {
      continue;
    }
    //
    bFound=CheckCoincidence(aF1, aF2);
    if (myErrorStatus) {
      return;
    }
    if (bFound) {
      FillShapesIn(aF1, aF2);
    }
  }
}

Here is the call graph for this function:

Here is the caller graph for this function:

void GEOMAlgo_GetInPlace::PerformVE ( ) [protected]

Definition at line 439 of file GEOMAlgo_GetInPlace.cxx.

{
  Standard_Boolean bFound;
  //
  myErrorStatus=0;
  myWarningStatus=0;
  //
  // 2. Fill Shapes In
  myIterator.Initialize(TopAbs_EDGE, TopAbs_VERTEX);
  for (; myIterator.More(); myIterator.Next()) {
    const NMTTools_CoupleOfShape& aCS=myIterator.Value();
    const TopoDS_Shape& aE1=aCS.Shape1();
    const TopoDS_Shape& aV2=aCS.Shape2();
    //
    if (myShapesOn.IsBound(aE1)) {
      const TopTools_MapOfShape& aMSOn=myShapesOn.Find(aE1);
      if (aMSOn.Contains(aV2)) {
        continue;
      }
    }
    //
    bFound=CheckCoincidence(aE1, aV2);
    if (myErrorStatus) {
      return;
    }
    if (bFound) {
      FillShapesIn(aE1, aV2);
    }
  }
}

Here is the call graph for this function:

Here is the caller graph for this function:

void GEOMAlgo_GetInPlace::PerformVF ( ) [protected]

Definition at line 519 of file GEOMAlgo_GetInPlace.cxx.

{
  Standard_Boolean bHasOn, bHasIn, bFound;
  Standard_Integer i, aNbE;
  TopTools_MapOfShape aMSX;
  TopTools_IndexedMapOfShape aME;
  //
  myErrorStatus=0;
  myWarningStatus=0;
  //
  myIterator.Initialize(TopAbs_FACE, TopAbs_VERTEX);
  for (; myIterator.More(); myIterator.Next()) {
    const NMTTools_CoupleOfShape& aCS=myIterator.Value();
    const TopoDS_Shape& aF1=aCS.Shape1();
    const TopoDS_Shape& aV2=aCS.Shape2();
    //
    aME.Clear();
    TopExp::MapShapes(aF1, TopAbs_EDGE, aME);
    //
    bFound=Standard_False;
    aNbE=aME.Extent();
    for (i=1; i<=aNbE; ++i) {
      const TopoDS_Edge& aE1=*((TopoDS_Edge*)&aME(i));
      if (BRep_Tool::Degenerated(aE1)) {
        continue;
      }
      //
      bHasOn=myShapesOn.IsBound(aE1);
      bHasIn=myShapesIn.IsBound(aE1);
      const TopTools_MapOfShape& aMSOn=(bHasOn) ? myShapesOn.Find(aE1) : aMSX;
      const TopTools_MapOfShape& aMSIn=(bHasIn) ? myShapesIn.Find(aE1) : aMSX;
      bFound= (aMSOn.Contains(aV2) || aMSIn.Contains(aV2));
      if (bFound) {
        break;
      }
    }
    //
    if (bFound) {
      continue;
    }
    //
    bFound=CheckCoincidence(aF1, aV2);
    if (myErrorStatus) {
      return;
    }
    if (bFound) {
      FillShapesIn(aF1, aV2);
    }
  }
}

Here is the call graph for this function:

Here is the caller graph for this function:

void GEOMAlgo_GetInPlace::PerformVV ( ) [protected]

Definition at line 387 of file GEOMAlgo_GetInPlace.cxx.

{
  myErrorStatus=0;
  myWarningStatus=0;
  //
  myIterator.Initialize(TopAbs_VERTEX, TopAbs_VERTEX);
  for (; myIterator.More(); myIterator.Next()) {
    const NMTTools_CoupleOfShape& aCS=myIterator.Value();
    const TopoDS_Shape& aV1=aCS.Shape1();
    const TopoDS_Shape& aV2=aCS.Shape2();
    //
    FillShapesOn(aV1, aV2);
  }
}

Here is the call graph for this function:

Here is the caller graph for this function:

void GEOMAlgo_GetInPlace::PerformZF ( ) [protected]

Definition at line 766 of file GEOMAlgo_GetInPlace.cxx.

{
  Standard_Boolean  bFound, bHasOnF;
  TopTools_MapOfShape aMSX;
  //
  myErrorStatus=0;
  myWarningStatus=0;
  //
  myIterator.Initialize(TopAbs_SOLID, TopAbs_FACE);
  for (; myIterator.More(); myIterator.Next()) {
    const NMTTools_CoupleOfShape& aCS=myIterator.Value();
    const TopoDS_Shape& aSo1=aCS.Shape1();
    const TopoDS_Shape& aF2=aCS.Shape2();
    //
    bHasOnF=myShapesOn.IsBound(aSo1);
    const TopTools_MapOfShape& aMSOnF=(bHasOnF) ? myShapesOn.Find(aSo1) : aMSX;
    bFound=aMSOnF.Contains(aF2);
    if (bFound) {
      continue;
    }
    //------------------------------
    bFound=CheckCoincidence(aSo1, aF2);
    if (myErrorStatus) {
      return;
    }
    if (bFound) {
      FillShapesIn(aSo1, aF2);
    }
  }
}

Here is the call graph for this function:

Here is the caller graph for this function:

void GEOMAlgo_GetInPlace::PerformZZ ( ) [protected]

Definition at line 800 of file GEOMAlgo_GetInPlace.cxx.

{
  Standard_Boolean bFound, bHasOn, bHasIn;
  Standard_Integer i, aNbS2, iCntOn, iCntIn, iCntOut;
  TopTools_MapOfShape aMSX;
  TopTools_IndexedMapOfShape aMS2;
  //
  myErrorStatus=0;
  myWarningStatus=0;
  //
  myIterator.Initialize(TopAbs_SOLID, TopAbs_SOLID);
  for (; myIterator.More(); myIterator.Next()) {
    const NMTTools_CoupleOfShape& aCS=myIterator.Value();
    const TopoDS_Shape& aSo1=aCS.Shape1();
    const TopoDS_Shape& aSo2=aCS.Shape2();
    //
    bHasOn=myShapesOn.IsBound(aSo1);
    const TopTools_MapOfShape& aMSOn=(bHasOn) ? myShapesOn.Find(aSo1) : aMSX;
    //
    bHasIn=myShapesIn.IsBound(aSo1);
    const TopTools_MapOfShape& aMSIn=(bHasIn) ? myShapesIn.Find(aSo1) : aMSX;
    //
    aMS2.Clear();
    TopExp::MapShapes(aSo2, TopAbs_FACE, aMS2);
    //
    iCntIn=0;
    iCntOn=0;
    iCntOut=0;
    bFound=Standard_False;
    aNbS2=aMS2.Extent();
    for (i=1; i<=aNbS2; ++i) {
      const TopoDS_Shape& aF2=aMS2(i);
      //
      if (aMSIn.Contains(aF2)) {
        ++iCntIn;
        bFound=Standard_True;
        break;
      }
      else if (!aMSOn.Contains(aF2)) {
        ++iCntOut;
        bFound=Standard_False;// out
        break;
      }
      else {
        ++iCntOn; //on
      }
    }
    //
    if (!bFound && iCntOut) {
      continue;
    }
    //
    if (!iCntIn) {
      bFound=CheckCoincidence(aSo1, aSo2);
      if (myErrorStatus) {
        return;
      }
    }
    if (bFound) {
      FillShapesIn(aSo1, aSo2);
    }
  }// for (; myIterator.More(); myIterator.Next()) {
}

Here is the call graph for this function:

Here is the caller graph for this function:

void GEOMAlgo_GluerAlgo::SetArgument ( const TopoDS_Shape &  theShape) [virtual, inherited]

Definition at line 51 of file GEOMAlgo_GluerAlgo.cxx.

{
  myArgument=theShape;
}

Here is the caller graph for this function:

void GEOMAlgo_GluerAlgo::SetCheckGeometry ( const Standard_Boolean  aFlag) [inherited]

Definition at line 84 of file GEOMAlgo_GluerAlgo.cxx.

{
  myCheckGeometry=aFlag;
}

Here is the caller graph for this function:

void GEOMAlgo_GluerAlgo::SetContext ( const Handle(IntTools_Context)&  theContext) [inherited]

Definition at line 100 of file GEOMAlgo_GluerAlgo.cxx.

{
  myContext=theContext;
}

Here is the caller graph for this function:

void GEOMAlgo_GetInPlace::SetShapeWhere ( const TopoDS_Shape &  theShape) [virtual]

Modifier.

Sets the shape where the search is intended.

Parameters:
theShapeThe shape where the search is intended.

Definition at line 137 of file GEOMAlgo_GetInPlace.cxx.

{
  myShapeWhere=theShape;
}
void GEOMAlgo_GetInPlace::SetTolCG ( const Standard_Real  theTol)

Modifier.

Sets the tolerance of center of gravily.

Parameters:
theTolThe value tolerance of center of gravily.

Definition at line 113 of file GEOMAlgo_GetInPlace.cxx.

{
  myTolCG=theTol;
}
void GEOMAlgo_GluerAlgo::SetTolerance ( const Standard_Real  aT) [inherited]

Definition at line 67 of file GEOMAlgo_GluerAlgo.cxx.

{
  myTolerance=aT;
}

Here is the caller graph for this function:

void GEOMAlgo_GetInPlace::SetTolMass ( const Standard_Real  theTol)

Modifier.

Sets the tolerance of mass.

Parameters:
theTolThe value tolerance of mass.

Definition at line 97 of file GEOMAlgo_GetInPlace.cxx.

{
  myTolMass=theTol;
}

Returns the map of shapes IN.

Returns:
Returns the map of shapes IN. The Key - the (sub)shape of the argument [What]. The Item- the (sub)shapes of the shape [Where] that have the state IN in respect of [What].

Definition at line 153 of file GEOMAlgo_GetInPlace.cxx.

{
  return myShapesIn;
}

Returns the map of shapes ON.

Returns:
Returns the map of shapes ON. The Key - the (sub)shape of the argument [What]. The Item- the (sub)shapes of the shape [Where] that have the state ON in respect of [What].

Definition at line 161 of file GEOMAlgo_GetInPlace.cxx.

{
  return myShapesOn;
}
const TopoDS_Shape & GEOMAlgo_GetInPlace::ShapeWhere ( ) const

Selector.

Returns the shape where the search is intended.

Returns:
The shape where the search is intended.

Definition at line 145 of file GEOMAlgo_GetInPlace.cxx.

{
  return myShapeWhere;
}
Standard_Real GEOMAlgo_GetInPlace::TolCG ( ) const

Selector.

Returns the tolerance of center of gravily.

Returns:
The value tolerance of center of gravily.

Definition at line 121 of file GEOMAlgo_GetInPlace.cxx.

{
  return myTolCG;
}
Standard_Real GEOMAlgo_GluerAlgo::Tolerance ( ) const [inherited]

Definition at line 75 of file GEOMAlgo_GluerAlgo.cxx.

{
  return myTolerance;
}

Here is the caller graph for this function:

Standard_Real GEOMAlgo_GetInPlace::TolMass ( ) const

Selector.

Returns the value tolerance of mass.

Returns:
The value tolerance of mass.

Definition at line 105 of file GEOMAlgo_GetInPlace.cxx.

{
  return myTolMass;
}
Standard_Integer GEOMAlgo_Algo::WarningStatus ( ) const [inherited]

Definition at line 75 of file GEOMAlgo_Algo.cxx.

{
  return myWarningStatus;
}

Here is the caller graph for this function:


Member Data Documentation

TopoDS_Shape GEOMAlgo_GluerAlgo::myArgument [protected, inherited]

Definition at line 89 of file GEOMAlgo_GluerAlgo.hxx.

Standard_Boolean GEOMAlgo_GluerAlgo::myCheckGeometry [protected, inherited]

Definition at line 91 of file GEOMAlgo_GluerAlgo.hxx.

Standard_Boolean GEOMAlgo_Algo::myComputeInternalShapes [protected, inherited]

Definition at line 73 of file GEOMAlgo_Algo.hxx.

Standard_Integer GEOMAlgo_Algo::myErrorStatus [protected, inherited]

Definition at line 71 of file GEOMAlgo_Algo.hxx.

Standard_Boolean GEOMAlgo_GetInPlace::myFound [protected]

Definition at line 316 of file GEOMAlgo_GetInPlace.hxx.

TopTools_DataMapOfShapeListOfShape GEOMAlgo_GluerAlgo::myImages [protected, inherited]

Definition at line 93 of file GEOMAlgo_GluerAlgo.hxx.

Definition at line 311 of file GEOMAlgo_GetInPlace.hxx.

Definition at line 317 of file GEOMAlgo_GetInPlace.hxx.

TopTools_DataMapOfShapeShape GEOMAlgo_GluerAlgo::myOrigins [protected, inherited]

Definition at line 94 of file GEOMAlgo_GluerAlgo.hxx.

Definition at line 312 of file GEOMAlgo_GetInPlace.hxx.

Definition at line 313 of file GEOMAlgo_GetInPlace.hxx.

TopoDS_Shape GEOMAlgo_GetInPlace::myShapeWhere [protected]

Definition at line 310 of file GEOMAlgo_GetInPlace.hxx.

Standard_Real GEOMAlgo_GetInPlace::myTolCG [protected]

Definition at line 315 of file GEOMAlgo_GetInPlace.hxx.

Standard_Real GEOMAlgo_GluerAlgo::myTolerance [protected, inherited]

Definition at line 90 of file GEOMAlgo_GluerAlgo.hxx.

Standard_Real GEOMAlgo_GetInPlace::myTolMass [protected]

Definition at line 314 of file GEOMAlgo_GetInPlace.hxx.

Standard_Integer GEOMAlgo_Algo::myWarningStatus [protected, inherited]

Definition at line 72 of file GEOMAlgo_Algo.hxx.


The documentation for this class was generated from the following files: