// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
+#include <ProjLib_ProjectOnSurface.hxx>
#include <Adaptor3d_Curve.hxx>
#include <Adaptor3d_Surface.hxx>
#include <Geom_BSplineCurve.hxx>
#include <PLib.hxx>
#include <Precision.hxx>
-#include <ProjLib_ProjectOnSurface.hxx>
#include <Standard_NoSuchObject.hxx>
#include <TColgp_Array1OfPnt.hxx>
#include <TColStd_Array1OfInteger.hxx>
//=======================================================================
//function : ProjLib_ProjectOnSurface
-//purpose :
+//purpose :
//=======================================================================
-
ProjLib_ProjectOnSurface::ProjLib_ProjectOnSurface
(const Handle(Adaptor3d_Surface)& S ) :
myTolerance(0.0),
mySurface = S;
}
+//=======================================================================
+//function : Load
+//purpose :
+//=======================================================================
+void ProjLib_ProjectOnSurface::Load (const Handle(Adaptor3d_Surface)& S)
+{
+ mySurface = S;
+ myIsDone = Standard_False;
+}
+
+//=======================================================================
+//function : Load
+//purpose :
+//=======================================================================
void ProjLib_ProjectOnSurface::Load(const Handle(Adaptor3d_Curve)& C,
const Standard_Real Tolerance)
{
"ProjLib_ProjectOnSurface:BSpline");
return myResult ;
}
-
-//=======================================================================
-//function : IsDone
-//purpose :
-//=======================================================================
-
-Standard_Boolean ProjLib_ProjectOnSurface::IsDone() const
-{
- return myIsDone;
-}
DEFINE_STANDARD_ALLOC
-
//! Create an empty projector.
Standard_EXPORT ProjLib_ProjectOnSurface();
-
+
//! Create a projector normally to the surface <S>.
Standard_EXPORT ProjLib_ProjectOnSurface(const Handle(Adaptor3d_Surface)& S);
-
+
Standard_EXPORT virtual ~ProjLib_ProjectOnSurface();
-
+
//! Set the Surface to <S>.
//! To compute the projection, you have to Load the Curve.
Standard_EXPORT void Load (const Handle(Adaptor3d_Surface)& S);
-
+
//! Compute the projection of the curve <C> on the Surface.
Standard_EXPORT void Load (const Handle(Adaptor3d_Curve)& C, const Standard_Real Tolerance);
-
- Standard_EXPORT Standard_Boolean IsDone() const;
-
- Standard_EXPORT Handle(Geom_BSplineCurve) BSpline() const;
-
-
-
-
-protected:
-
-
+ Standard_Boolean IsDone() const { return myIsDone; }
+ Standard_EXPORT Handle(Geom_BSplineCurve) BSpline() const;
private:
-
-
Handle(Adaptor3d_Curve) myCurve;
Handle(Adaptor3d_Surface) mySurface;
Standard_Real myTolerance;
Standard_Boolean myIsDone;
Handle(Geom_BSplineCurve) myResult;
-
};
-
-
-
-
-
-
#endif // _ProjLib_ProjectOnSurface_HeaderFile