diff --git a/src/ProjLib/ProjLib.cxx b/src/ProjLib/ProjLib.cxx index 23ca6495ad..5da06356cf 100644 --- a/src/ProjLib/ProjLib.cxx +++ b/src/ProjLib/ProjLib.cxx @@ -14,8 +14,17 @@ // Alternatively, this file may be used under the terms of Open CASCADE // commercial license or contractual agreement. +#include +#include #include +#include +#include +#include +#include +#include +#include +#include #include #include #include @@ -33,22 +42,13 @@ #include #include #include -#include #include #include #include #include #include #include -#include -#include -#include -#include -#include -#include -#include #include -#include //======================================================================= //function : Project diff --git a/src/ProjLib/ProjLib.hxx b/src/ProjLib/ProjLib.hxx index 3601b5a66b..2751ddf93a 100644 --- a/src/ProjLib/ProjLib.hxx +++ b/src/ProjLib/ProjLib.hxx @@ -37,141 +37,77 @@ class gp_Cylinder; class gp_Cone; class gp_Sphere; class gp_Torus; -class ProjLib_ProjectOnPlane; -class ProjLib_ProjectOnSurface; -class ProjLib_ComputeApprox; -class ProjLib_ComputeApproxOnPolarSurface; class ProjLib_ProjectedCurve; -class ProjLib_HProjectedCurve; -class ProjLib_CompProjectedCurve; -class ProjLib_HCompProjectedCurve; -class ProjLib_PrjResolve; -class ProjLib_PrjFunc; -class ProjLib_Projector; -class ProjLib_Plane; -class ProjLib_Cylinder; -class ProjLib_Cone; -class ProjLib_Sphere; -class ProjLib_Torus; -//! The projLib package first provides projection of -//! curves on a plane along a given Direction. The -//! result will be a 3D curve. -//! The ProjLib package provides projection of curves -//! on surfaces to compute the curve in the parametric -//! space. +//! The ProjLib package first provides projection of curves on a plane along a given Direction. +//! The result will be a 3D curve. //! +//! The ProjLib package provides projection of curves on surfaces to compute the curve in the parametric space. //! It is assumed that the curve is on the surface. //! -//! It provides : +//! It provides: //! -//! * Package methods to handle the easiest cases : +//! * Package methods to handle the easiest cases: +//! - Line, Circle, Ellipse, Parabola, Hyperbola on plane. +//! - Line, Circle on cylinder. +//! - Line, Circle on cone. //! -//! - Line, Circle, Ellipse, Parabola, Hyperbola on plane. +//! * Classes to handle the general cases: +//! - Plane. +//! - Cylinder. +//! - Cone. +//! - Sphere. +//! - Torus. //! -//! - Line, Circle on cylinder. -//! -//! - Line, Circle on cone. -//! -//! * Classes to handle the general cases : -//! -//! - Plane. -//! -//! - Cylinder. -//! -//! - Cone. -//! -//! - Sphere. -//! -//! - Torus. -//! -//! * A generic class to handle a Curve from Adaptor3d -//! on a Surface from Adaptor3d. +//! * A generic class to handle a Adaptor3d_Curve on a Adaptor3d_Surface. class ProjLib { public: DEFINE_STANDARD_ALLOC - Standard_EXPORT static gp_Pnt2d Project (const gp_Pln& Pl, const gp_Pnt& P); - + Standard_EXPORT static gp_Lin2d Project (const gp_Pln& Pl, const gp_Lin& L); - + Standard_EXPORT static gp_Circ2d Project (const gp_Pln& Pl, const gp_Circ& C); - + Standard_EXPORT static gp_Elips2d Project (const gp_Pln& Pl, const gp_Elips& E); - + Standard_EXPORT static gp_Parab2d Project (const gp_Pln& Pl, const gp_Parab& P); - + Standard_EXPORT static gp_Hypr2d Project (const gp_Pln& Pl, const gp_Hypr& H); - + Standard_EXPORT static gp_Pnt2d Project (const gp_Cylinder& Cy, const gp_Pnt& P); - + Standard_EXPORT static gp_Lin2d Project (const gp_Cylinder& Cy, const gp_Lin& L); - + Standard_EXPORT static gp_Lin2d Project (const gp_Cylinder& Cy, const gp_Circ& Ci); - + Standard_EXPORT static gp_Pnt2d Project (const gp_Cone& Co, const gp_Pnt& P); - + Standard_EXPORT static gp_Lin2d Project (const gp_Cone& Co, const gp_Lin& L); - + Standard_EXPORT static gp_Lin2d Project (const gp_Cone& Co, const gp_Circ& Ci); - + Standard_EXPORT static gp_Pnt2d Project (const gp_Sphere& Sp, const gp_Pnt& P); - + Standard_EXPORT static gp_Lin2d Project (const gp_Sphere& Sp, const gp_Circ& Ci); - + Standard_EXPORT static gp_Pnt2d Project (const gp_Torus& To, const gp_Pnt& P); - + Standard_EXPORT static gp_Lin2d Project (const gp_Torus& To, const gp_Circ& Ci); //! Make empty P-Curve of relevant to type Standard_EXPORT static void MakePCurveOfType (const ProjLib_ProjectedCurve& PC, Handle(Geom2d_Curve)& aC); + //! Returns "true" if surface is analytical, that is it can be //! Plane, Cylinder, Cone, Sphere, Torus. //! For all other types of surface method returns "false". Standard_EXPORT static Standard_Boolean IsAnaSurf (const Handle(Adaptor3d_Surface)& theAS); - - - -protected: - - - - - -private: - - - - -friend class ProjLib_ProjectOnPlane; -friend class ProjLib_ProjectOnSurface; -friend class ProjLib_ComputeApprox; -friend class ProjLib_ComputeApproxOnPolarSurface; -friend class ProjLib_ProjectedCurve; -friend class ProjLib_HProjectedCurve; -friend class ProjLib_CompProjectedCurve; -friend class ProjLib_HCompProjectedCurve; -friend class ProjLib_PrjResolve; -friend class ProjLib_PrjFunc; -friend class ProjLib_Projector; -friend class ProjLib_Plane; -friend class ProjLib_Cylinder; -friend class ProjLib_Cone; -friend class ProjLib_Sphere; -friend class ProjLib_Torus; - }; - - - - - - #endif // _ProjLib_HeaderFile