#ifndef _IntWalk_PWalking_HeaderFile
#define _IntWalk_PWalking_HeaderFile
-#include <Standard.hxx>
-#include <Standard_DefineAlloc.hxx>
-#include <Standard_Handle.hxx>
-
-#include <Standard_Boolean.hxx>
-#include <Standard_Integer.hxx>
+#include <Adaptor3d_Surface.hxx>
#include <gp_Dir.hxx>
-#include <Standard_Real.hxx>
#include <IntImp_ConstIsoparametric.hxx>
#include <IntSurf_PntOn2S.hxx>
#include <gp_Dir2d.hxx>
#include <IntWalk_TheInt2S.hxx>
#include <TColStd_Array1OfReal.hxx>
#include <IntWalk_StatusDeflection.hxx>
+
class IntSurf_LineOn2S;
-class Standard_OutOfRange;
-class StdFail_NotDone;
-class Adaptor3d_HSurface;
-class IntSurf_PntOn2S;
-class gp_Dir;
class gp_Pnt;
-
//! This class implements an algorithm to determine the
//! intersection between 2 parametrized surfaces, marching from
//! a starting point. The intersection line
//! border of one of the domains. If an open line
//! stops at the middle of a domain, one stops at the tangent point.
//! Epsilon is SquareTolerance of points confusion.
- Standard_EXPORT IntWalk_PWalking(const Handle(Adaptor3d_HSurface)& Caro1,
- const Handle(Adaptor3d_HSurface)& Caro2,
+ Standard_EXPORT IntWalk_PWalking(const Handle(Adaptor3d_Surface)& Caro1,
+ const Handle(Adaptor3d_Surface)& Caro2,
const Standard_Real TolTangency,
const Standard_Real Epsilon,
const Standard_Real Deflection,
//! border of one of the domains. If an open line
//! stops at the middle of a domain, one stops at the tangent point.
//! Epsilon is SquareTolerance of points confusion.
- Standard_EXPORT IntWalk_PWalking(const Handle(Adaptor3d_HSurface)& Caro1,
- const Handle(Adaptor3d_HSurface)& Caro2,
+ Standard_EXPORT IntWalk_PWalking(const Handle(Adaptor3d_Surface)& Caro1,
+ const Handle(Adaptor3d_Surface)& Caro2,
const Standard_Real TolTangency,
const Standard_Real Epsilon,
const Standard_Real Deflection,
line->RemovePoint(anIdx);
}
- Standard_EXPORT Standard_Boolean PutToBoundary (const Handle(Adaptor3d_HSurface)& theASurf1,
- const Handle(Adaptor3d_HSurface)& theASurf2);
+ Standard_EXPORT Standard_Boolean PutToBoundary (const Handle(Adaptor3d_Surface)& theASurf1,
+ const Handle(Adaptor3d_Surface)& theASurf2);
- Standard_EXPORT Standard_Boolean SeekAdditionalPoints (const Handle(Adaptor3d_HSurface)& theASurf1,
- const Handle(Adaptor3d_HSurface)& theASurf2,
+ Standard_EXPORT Standard_Boolean SeekAdditionalPoints (const Handle(Adaptor3d_Surface)& theASurf1,
+ const Handle(Adaptor3d_Surface)& theASurf2,
const Standard_Integer theMinNbPoints);
Standard_Real MaxStep(Standard_Integer theIndex)
//! Arrays theInit (initial point to be precise) and theStep0 (steps-array) must contain
//! four items and must be filled strictly in following order:
//! {U-parameter on S1, V-parameter on S1, U-parameter on S2, V-parameter on S2}
- Standard_EXPORT Standard_Boolean DistanceMinimizeByGradient(const Handle(Adaptor3d_HSurface)& theASurf1,
- const Handle(Adaptor3d_HSurface)& theASurf2,
+ Standard_EXPORT Standard_Boolean DistanceMinimizeByGradient(const Handle(Adaptor3d_Surface)& theASurf1,
+ const Handle(Adaptor3d_Surface)& theASurf2,
TColStd_Array1OfReal& theInit,
const Standard_Real* theStep0 = 0);
//! parameters on theASurf. Their values are changed while algorithm being launched.
//! Array theStep0 (steps-array) must contain two items and must be filled strictly in following order:
//! {U-parameter, V-parameter}
- Standard_EXPORT Standard_Boolean DistanceMinimizeByExtrema (const Handle(Adaptor3d_HSurface)& theASurf,
+ Standard_EXPORT Standard_Boolean DistanceMinimizeByExtrema (const Handle(Adaptor3d_Surface)& theASurf,
const gp_Pnt& theP0,
Standard_Real& theU0,
Standard_Real& theV0,
//! (in order to obtain correct result after insertion).
//! Returns TRUE in case of success adding (i.e. can return FALSE even after
//! removing some points).
- Standard_EXPORT Standard_Boolean SeekPointOnBoundary (const Handle(Adaptor3d_HSurface)& theASurf1,
- const Handle(Adaptor3d_HSurface)& theASurf2,
+ Standard_EXPORT Standard_Boolean SeekPointOnBoundary (const Handle(Adaptor3d_Surface)& theASurf1,
+ const Handle(Adaptor3d_Surface)& theASurf2,
const Standard_Real theU1,
const Standard_Real theV1,
const Standard_Real theU2,
// Method to handle single singular point. Sub-method in SeekPointOnBoundary.
- Standard_EXPORT Standard_Boolean HandleSingleSingularPoint(const Handle(Adaptor3d_HSurface) &theASurf1,
- const Handle(Adaptor3d_HSurface) &theASurf2,
+ Standard_EXPORT Standard_Boolean HandleSingleSingularPoint(const Handle(Adaptor3d_Surface) &theASurf1,
+ const Handle(Adaptor3d_Surface) &theASurf2,
const Standard_Real the3DTol,
TColStd_Array1OfReal &thePnt);