-// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
// File: GEOMAlgo_GetInPlace_1.cxx
// Author: Peter KURNEV
-static
- Standard_Integer PntInEdge(const TopoDS_Edge& aF,
+static
+ Standard_Integer PntInEdge(const TopoDS_Edge& aF,
gp_Pnt& aP);
-static
- Standard_Integer PntInEdge(const TopoDS_Edge& aF,
+static
+ Standard_Integer PntInEdge(const TopoDS_Edge& aF,
gp_Pnt& aP,
Standard_Real& aT);
-static
- Standard_Integer PntInFace(const TopoDS_Face& aF,
+static
+ Standard_Integer PntInFace(const TopoDS_Face& aF,
gp_Pnt& aP);
-static
- Standard_Integer PntInFace(const TopoDS_Face& aF,
+static
+ Standard_Integer PntInFace(const TopoDS_Face& aF,
gp_Pnt& aP,
gp_Pnt2d& theP2D);
-static
- Standard_Integer PntInSolid(const TopoDS_Solid& aZ,
+static
+ Standard_Integer PntInSolid(const TopoDS_Solid& aZ,
const Standard_Real aTol,
gp_Pnt& aP);
-
+
//=======================================================================
//function : CheckCoincidence
-//purpose :
+//purpose :
//=======================================================================
Standard_Boolean GEOMAlgo_GetInPlace::CheckCoincidence(const TopoDS_Shape& aS1,
const TopoDS_Shape& aS2)
//
else if (aType2==TopAbs_FACE) {
const TopoDS_Face& aF2=*((TopoDS_Face*)&aS2);
- iErr=PntInFace(aF2, aP2);
+ iErr=PntInFace(aF2, aP2);
}
//
else if (aType2==TopAbs_SOLID) {
const TopoDS_Solid& aZ2=*((TopoDS_Solid*)&aS2);
- iErr=PntInSolid(aZ2, myTolerance, aP2);
+ iErr=PntInSolid(aZ2, myTolerance, aP2);
}
//
else {
//
const TopoDS_Edge& aE1=*((TopoDS_Edge*)&aS1);
//
- GeomAPI_ProjectPointOnCurve& aPPC=myContext.ProjPC(aE1);
+ GeomAPI_ProjectPointOnCurve& aPPC=myContext->ProjPC(aE1);
aPPC.Perform(aP2);
aNbPoints=aPPC.NbPoints();
if (aNbPoints) {
if (aDmin < myTolerance) {
dT=1.e-12;
BRep_Tool::Curve(aE1, aT1, aT2);
- if(aT > (aT1-dT) && aT < (aT2+dT)) {
+ if(aT > (aT1-dT) && aT < (aT2+dT)) {
bOk=Standard_True;
}
}
else if (aType1==TopAbs_FACE) {
const TopoDS_Face& aF1=*((TopoDS_Face*)&aS1);
//
- bOk=myContext.IsValidPointForFace(aP2, aF1, myTolerance);
- }
+ bOk=myContext->IsValidPointForFace(aP2, aF1, myTolerance);
+ }
//
else if (aType1==TopAbs_SOLID) {
const TopoDS_Solid& aZ1=*((TopoDS_Solid*)&aS1);
//
- BRepClass3d_SolidClassifier& aSC=myContext.SolidClassifier(aZ1);
+ BRepClass3d_SolidClassifier& aSC=myContext->SolidClassifier(aZ1);
aSC.Perform(aP2, myTolerance);
aState=aSC.State();
bOk=(aState==TopAbs_IN);
//
//=======================================================================
//function : PntInEdge
-//purpose :
+//purpose :
//=======================================================================
Standard_Integer PntInEdge(const TopoDS_Edge& aE,
gp_Pnt& aP)
-
+
{
Standard_Integer iErr;
Standard_Real aT;
}
//=======================================================================
//function : PntInEdge
-//purpose :
+//purpose :
//=======================================================================
Standard_Integer PntInEdge(const TopoDS_Edge& aE,
gp_Pnt& aP,
}
//=======================================================================
//function : PntInSolid
-//purpose :
+//purpose :
//=======================================================================
Standard_Integer PntInSolid(const TopoDS_Solid& aZ,
const Standard_Real aTol,
gp_Pnt aPx;
gp_Pnt2d aP2Dx;
gp_Vec aDNx;
-
+
TopoDS_Face aF;
TopExp_Explorer aExp;
//
}
//=======================================================================
//function : PntInFace
-//purpose :
+//purpose :
//=======================================================================
-Standard_Integer PntInFace(const TopoDS_Face& aF,
+Standard_Integer PntInFace(const TopoDS_Face& aF,
gp_Pnt& aP)
{
- Standard_Integer iErr;
+ Standard_Integer iErr;
//
gp_Pnt2d aP2Dx;
//
- iErr=PntInFace(aF, aP, aP2Dx);
+ iErr=PntInFace(aF, aP, aP2Dx);
//
return iErr;
}
//=======================================================================
//function : PntInFace
-//purpose :
+//purpose :
//=======================================================================
-Standard_Integer PntInFace(const TopoDS_Face& aF,
+Standard_Integer PntInFace(const TopoDS_Face& aF,
gp_Pnt& theP,
gp_Pnt2d& theP2D)
{
aTolTangfIntr=1.e-10;
//
Geom2dHatch_Intersector aIntr(aTotArcIntr, aTolTangfIntr);
- Geom2dHatch_Hatcher aHatcher(aIntr,
- aTolHatch2D, aTolHatch3D,
+ Geom2dHatch_Hatcher aHatcher(aIntr,
+ aTolHatch2D, aTolHatch3D,
Standard_True, Standard_False);
//
iErr=0;
//
aFF=aF;
aFF.Orientation (TopAbs_FORWARD);
- //
+ //
aS=BRep_Tool::Surface(aFF);
BRepTools::UVBounds(aFF, aUMin, aUMax, aVMin, aVMax);
//