// 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 _IntCurvesFace_ShapeIntersector_HeaderFile #define _IntCurvesFace_ShapeIntersector_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_Macro_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif #ifndef _Standard_Integer_HeaderFile #include #endif #ifndef _Standard_Address_HeaderFile #include #endif #ifndef _BRepTopAdaptor_SeqOfPtr_HeaderFile #include #endif #ifndef _TColStd_SequenceOfInteger_HeaderFile #include #endif #ifndef _TColStd_SequenceOfReal_HeaderFile #include #endif #ifndef _Standard_Real_HeaderFile #include #endif #ifndef _Handle_Adaptor3d_HCurve_HeaderFile #include #endif #ifndef _IntCurveSurface_TransitionOnCurve_HeaderFile #include #endif #ifndef _TopAbs_State_HeaderFile #include #endif class TopoDS_Shape; class gp_Lin; class Adaptor3d_HCurve; class gp_Pnt; class TopoDS_Face; class IntCurvesFace_ShapeIntersector { 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); } Standard_EXPORT IntCurvesFace_ShapeIntersector(); Standard_EXPORT void Load(const TopoDS_Shape& Sh,const Standard_Real Tol) ; //! Perform the intersection between the
//! segment L and the loaded shape.
//!
//! PInf is the smallest parameter on the line
//! PSup is the highest parammter on the line
//!
//! For an infinite line PInf and PSup can be
//! +/- RealLast.
Standard_EXPORT void Perform(const gp_Lin& L,const Standard_Real PInf,const Standard_Real PSup) ; //! Perform the intersection between the
//! segment L and the loaded shape.
//!
//! PInf is the smallest parameter on the line
//! PSup is the highest parammter on the line
//!
//! For an infinite line PInf and PSup can be
//! +/- RealLast.
Standard_EXPORT void PerformNearest(const gp_Lin& L,const Standard_Real PInf,const Standard_Real PSup) ; //! same method for a HCurve from Adaptor3d.
//! PInf an PSup can also be - and + INF.
Standard_EXPORT void Perform(const Handle(Adaptor3d_HCurve)& HCu,const Standard_Real PInf,const Standard_Real PSup) ; //! True is returned when the intersection have been computed.
Standard_Boolean IsDone() const; Standard_Integer NbPnt() const; //! Returns the U parameter of the ith intersection point
//! on the surface.
Standard_Real UParameter(const Standard_Integer I) const; //! Returns the V parameter of the ith intersection point
//! on the surface.
Standard_Real VParameter(const Standard_Integer I) const; //! Returns the parameter of the ith intersection point
//! on the line.
Standard_Real WParameter(const Standard_Integer I) const; //! Returns the geometric point of the ith intersection
//! between the line and the surface.
const gp_Pnt& Pnt(const Standard_Integer I) const; //! Returns the ith transition of the line on the surface.
IntCurveSurface_TransitionOnCurve Transition(const Standard_Integer I) const; //! Returns the ith state of the point on the face.
//! The values can be either TopAbs_IN
//! ( the point is in the face)
//! or TopAbs_ON
//! ( the point is on a boudary of the face).
TopAbs_State State(const Standard_Integer I) const; //! Returns the significant face used to determine
//! the intersection.
//!
const TopoDS_Face& Face(const Standard_Integer I) const; //! Internal method. Sort the result on the Curve
//! parameter.
Standard_EXPORT void SortResult() ; Standard_EXPORT void Destroy() ; ~IntCurvesFace_ShapeIntersector() { Destroy(); } protected: private: Standard_Boolean done; Standard_Integer nbfaces; Standard_Address PtrJetons; Standard_Address PtrJetonsIndex; BRepTopAdaptor_SeqOfPtr PtrIntersector; TColStd_SequenceOfInteger IndexPt; TColStd_SequenceOfInteger IndexFace; TColStd_SequenceOfInteger IndexIntPnt; TColStd_SequenceOfReal IndexPar; }; #include // other Inline functions and methods (like "C++: function call" methods) #endif