// 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 _TopOpeBRep_FaceEdgeIntersector_HeaderFile #define _TopOpeBRep_FaceEdgeIntersector_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_Macro_HeaderFile #include #endif #ifndef _TopoDS_Face_HeaderFile #include #endif #ifndef _TopoDS_Edge_HeaderFile #include #endif #ifndef _Standard_Real_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif #ifndef _GeomAdaptor_Curve_HeaderFile #include #endif #ifndef _IntCurveSurface_SequenceOfPnt_HeaderFile #include #endif #ifndef _TColStd_SequenceOfInteger_HeaderFile #include #endif #ifndef _Standard_Integer_HeaderFile #include #endif #ifndef _TopExp_Explorer_HeaderFile #include #endif #ifndef _TopoDS_Shape_HeaderFile #include #endif #ifndef _TopoDS_Vertex_HeaderFile #include #endif #ifndef _TopAbs_State_HeaderFile #include #endif #ifndef _TopAbs_Orientation_HeaderFile #include #endif #ifndef _TopAbs_ShapeEnum_HeaderFile #include #endif class TopoDS_Shape; class gp_Pnt; class gp_Pnt2d; class TopOpeBRepDS_Transition; class TopoDS_Vertex; class TopOpeBRep_FaceEdgeIntersector { 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 TopOpeBRep_FaceEdgeIntersector(); Standard_EXPORT void Perform(const TopoDS_Shape& F,const TopoDS_Shape& E) ; Standard_EXPORT Standard_Boolean IsEmpty() ; //! returns intersected face or edge according to
//! value of = 1 or 2
Standard_EXPORT const TopoDS_Shape& Shape(const Standard_Integer Index) const; //! Force the tolerance values used by the next Perform(S1,S2) call.
Standard_EXPORT void ForceTolerance(const Standard_Real tol) ; //! Return the tolerance value used in the last Perform() call
//! If ForceTolerance() has been called, return the given value.
//! If not, return value extracted from shapes.
Standard_EXPORT Standard_Real Tolerance() const; Standard_EXPORT Standard_Integer NbPoints() const; Standard_EXPORT void InitPoint() ; Standard_EXPORT Standard_Boolean MorePoint() const; Standard_EXPORT void NextPoint() ; //! return the 3D point of the current intersection point.
Standard_EXPORT gp_Pnt Value() const; //! parametre de Value() sur l'arete
Standard_EXPORT Standard_Real Parameter() const; //! parametre de Value() sur la face
Standard_EXPORT void UVPoint(gp_Pnt2d& P) const; //! IN ou ON / a la face. Les points OUT ne sont pas retournes.
Standard_EXPORT TopAbs_State State() const; //! Index = 1 transition par rapport a la face, en cheminant sur l'arete
Standard_EXPORT TopOpeBRepDS_Transition Transition(const Standard_Integer Index,const TopAbs_Orientation FaceOrientation) const; Standard_EXPORT Standard_Boolean IsVertex(const TopoDS_Shape& S,const gp_Pnt& P,const Standard_Real Tol,TopoDS_Vertex& V) ; Standard_EXPORT Standard_Boolean IsVertex(const Standard_Integer I,TopoDS_Vertex& V) ; //! trace only
Standard_EXPORT Standard_Integer Index() const; protected: private: Standard_EXPORT void ResetIntersection() ; //! extract tolerance values from shapes ,,
//! in order to perform intersection between and
//! with tolerance values "fitting" the shape tolerances.
//! (called by Perform() by default, when ForceTolerances() has not
//! been called)
Standard_EXPORT void ShapeTolerances(const TopoDS_Shape& S1,const TopoDS_Shape& S2) ; //! returns the max tolerance of sub-shapes of type
//! found in shape . If no such sub-shape found, return
//! Precision::Intersection()
//! (called by ShapeTolerances())
Standard_EXPORT Standard_Real ToleranceMax(const TopoDS_Shape& S,const TopAbs_ShapeEnum T) const; TopoDS_Face myFace; TopoDS_Edge myEdge; Standard_Real myTol; Standard_Boolean myForceTolerance; GeomAdaptor_Curve myCurve; Standard_Boolean myIntersectionDone; IntCurveSurface_SequenceOfPnt mySequenceOfPnt; TColStd_SequenceOfInteger mySequenceOfState; Standard_Integer myPointIndex; Standard_Integer myNbPoints; TopExp_Explorer myVertexExplorer; TopoDS_Shape myNullShape; TopoDS_Vertex myNullVertex; }; // other Inline functions and methods (like "C++: function call" methods) #endif