// This file is generated by WOK (CPPExt). // Please do not edit this file; modify original file instead. // The copyright and license terms as defined for the original file apply to // this header file considered to be the "object code" form of the original source. #ifndef _BOPTools_Tools2D_HeaderFile #define _BOPTools_Tools2D_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_Macro_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif #ifndef _Standard_Real_HeaderFile #include #endif #ifndef _Handle_Geom2d_Curve_HeaderFile #include #endif #ifndef _Handle_Geom_Curve_HeaderFile #include #endif class TopoDS_Edge; class TopoDS_Face; class gp_Vec; class Geom2d_Curve; class Geom_Curve; class ProjLib_ProjectedCurve; class gp_Dir; class TopoDS_Vertex; //! The class contains handy static functions
//! dealing with the topology
class BOPTools_Tools2D { public: void* operator new(size_t,void* anAddress) { return anAddress; } void* operator new(size_t size) { return Standard::Allocate(size); } void operator delete(void *anAddress) { if (anAddress) Standard::Free((Standard_Address&)anAddress); } //! Remove P-Curve of the edge on the face
Standard_EXPORT static void RemovePCurveForEdgeOnFace(const TopoDS_Edge& aE,const TopoDS_Face& aF) ; //! Compute P-Curve for the edge on the face
Standard_EXPORT static void BuildPCurveForEdgeOnFace(const TopoDS_Edge& aE,const TopoDS_Face& aF) ; //! Compute tangent for the edge [in 3D] at parameter
Standard_EXPORT static Standard_Boolean EdgeTangent(const TopoDS_Edge& anE,const Standard_Real aT,gp_Vec& Tau) ; //! Compute normal for the face at parameters
//! of the corresp. surface.
Standard_EXPORT static void FaceNormal(const TopoDS_Face& aF,const Standard_Real U,const Standard_Real V,gp_Vec& aN) ; //! Compute surface parameters of the face
//! for the point from the edge at parameter .
Standard_EXPORT static void PointOnSurface(const TopoDS_Edge& aE,const TopoDS_Face& aF,const Standard_Real aT,Standard_Real& U,Standard_Real& V) ; //! Get P-Curve for the edge on surface .
//! If the P-Curve does not exist, build it using Make2D().
//! [aToler] - reached tolerance
//! [aTrim3d] - trimming flag.
Standard_EXPORT static void CurveOnSurface(const TopoDS_Edge& aE,const TopoDS_Face& aF,Handle(Geom2d_Curve)& aC,Standard_Real& aToler,const Standard_Boolean aTrim3d) ; //! Get P-Curve for the edge on surface .
//! If the P-Curve does not exist, build it using Make2D().
//! [aFirst, aLast] - range of the P-Curve
//! [aToler] - reached tolerance
//! [aTrim3d] - trimming flag.
Standard_EXPORT static void CurveOnSurface(const TopoDS_Edge& aE,const TopoDS_Face& aF,Handle(Geom2d_Curve)& aC,Standard_Real& aFirst,Standard_Real& aLast,Standard_Real& aToler,const Standard_Boolean aTrim3d) ; //! Returns TRUE if the edge has P-Curve
//! on surface .
//! [aFirst, aLast] - range of the P-Curve
//! [aToler] - reached tolerance
//! If the P-Curve does not exist, aC.IsNull()=TRUE.
Standard_EXPORT static Standard_Boolean HasCurveOnSurface(const TopoDS_Edge& aE,const TopoDS_Face& aF,Handle(Geom2d_Curve)& aC,Standard_Real& aFirst,Standard_Real& aLast,Standard_Real& aToler) ; //! Returns TRUE if the edge has P-Curve
//! on surface .
//! If the P-Curve does not exist, aC.IsNull()=TRUE.
Standard_EXPORT static Standard_Boolean HasCurveOnSurface(const TopoDS_Edge& aE,const TopoDS_Face& aF) ; //! Same as Make2D()
Standard_EXPORT static void MakeCurveOnSurface(const TopoDS_Edge& aE,const TopoDS_Face& aF,Handle(Geom2d_Curve)& aC,Standard_Real& aFirst,Standard_Real& aLast,Standard_Real& aToler,const Standard_Boolean aTrim3d) ; //! Make P-Curve for the edge on surface .
//! [aFirst, aLast] - range of the P-Curve
//! [aToler] - reached tolerance
//! [aTrim3d] - trimming flag.
Standard_EXPORT static void Make2D(const TopoDS_Edge& aE,const TopoDS_Face& aF,Handle(Geom2d_Curve)& aC,Standard_Real& aFirst,Standard_Real& aLast,Standard_Real& aToler,const Standard_Boolean aTrim3d) ; //! Make P-Curve for the 3D-curve on surface .
//! [aToler] - reached tolerance
Standard_EXPORT static void MakePCurveOnFace(const TopoDS_Face& aF,const Handle(Geom_Curve)& C3D,Handle(Geom2d_Curve)& aC,Standard_Real& aToler) ; //! Make P-Curve for the 3D-curve on surface .
//! [aT1, aT2] - range to build
//! [aToler] - reached tolerance
Standard_EXPORT static void MakePCurveOnFace(const TopoDS_Face& aF,const Handle(Geom_Curve)& C3D,const Standard_Real aT1,const Standard_Real aT2,Handle(Geom2d_Curve)& aC,Standard_Real& aToler) ; //! Adjust P-Curve (3D-curve ) on surface .
Standard_EXPORT static void AdjustPCurveOnFace(const TopoDS_Face& aF,const Handle(Geom_Curve)& C3D,const Handle(Geom2d_Curve)& aC2D,Handle(Geom2d_Curve)& aC2DA) ; //! Adjust P-Curve (3D-curve ) on surface .
//! [aT1, aT2] - range to adjust
Standard_EXPORT static void AdjustPCurveOnFace(const TopoDS_Face& aF,const Standard_Real aT1,const Standard_Real aT2,const Handle(Geom2d_Curve)& aC2D,Handle(Geom2d_Curve)& aC2DA) ; //! Make empty P-Curve of relevant to type
Standard_EXPORT static void MakePCurveOfType(const ProjLib_ProjectedCurve& PC,Handle(Geom2d_Curve)& aC) ; //! Compute tangent for the edge at parameter
Standard_EXPORT static Standard_Boolean TangentOnEdge(const Standard_Real aParm,const TopoDS_Edge& anE,gp_Vec& aTang) ; //! Compute tangent for the edge at arbitrary intermediate parameter.
Standard_EXPORT static Standard_Boolean TangentOnEdge(const TopoDS_Edge& anE,gp_Dir& aDTang) ; //! Compute tangent for the vertex point for the edge .
//! is opposite vertex of the edge
Standard_EXPORT static Standard_Boolean TangentOnVertex(const TopoDS_Vertex& aVF,const TopoDS_Vertex& aVL,const TopoDS_Edge& anE,gp_Vec& aTang) ; //! Returns parametric range for the edge .
Standard_EXPORT static void EdgeBounds(const TopoDS_Edge& anE,Standard_Real& aFirst,Standard_Real& aLast) ; //! Compute intermediate value in between [aFirst, aLast] .
Standard_EXPORT static Standard_Real IntermediatePoint(const Standard_Real aFirst,const Standard_Real aLast) ; //! Compute intermediate value of parameter for the edge .
Standard_EXPORT static Standard_Real IntermediatePoint(const TopoDS_Edge& anE) ; protected: private: }; // other Inline functions and methods (like "C++: function call" methods) #endif