// 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 _IntTools_FaceFace_HeaderFile #define _IntTools_FaceFace_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_Macro_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif #ifndef _IntPatch_Intersection_HeaderFile #include #endif #ifndef _IntTools_LineConstructor_HeaderFile #include #endif #ifndef _Handle_GeomAdaptor_HSurface_HeaderFile #include #endif #ifndef _Standard_Integer_HeaderFile #include #endif #ifndef _Standard_Real_HeaderFile #include #endif #ifndef _IntTools_SequenceOfCurves_HeaderFile #include #endif #ifndef _TopoDS_Face_HeaderFile #include #endif #ifndef _IntTools_SequenceOfPntOn2Faces_HeaderFile #include #endif #ifndef _IntSurf_ListOfPntOn2S_HeaderFile #include #endif #ifndef _Handle_Adaptor3d_TopolTool_HeaderFile #include #endif class GeomAdaptor_HSurface; class StdFail_NotDone; class TopoDS_Face; class IntTools_SequenceOfCurves; class IntTools_SequenceOfPntOn2Faces; class IntSurf_ListOfPntOn2S; class Adaptor3d_TopolTool; //! This class provides the intersection of
//! face's underlying surfaces.
class IntTools_FaceFace { 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); } //! Empty constructor.
Standard_EXPORT IntTools_FaceFace(); //! Modifier
Standard_EXPORT void SetParameters(const Standard_Boolean ApproxCurves,const Standard_Boolean ComputeCurveOnS1,const Standard_Boolean ComputeCurveOnS2,const Standard_Real ApproximationTolerance) ; //! Intersects underliing surfaces of F1 and F2
//! Use sum of tolerance of F1 and F2 as intersection
//! criteria
Standard_EXPORT void Perform(const TopoDS_Face& F1,const TopoDS_Face& F2) ; //! Returns True if the intersection was successful
Standard_EXPORT Standard_Boolean IsDone() const; //! Returns sequence of 3d curves as result of intersection
Standard_EXPORT const IntTools_SequenceOfCurves& Lines() const; //! Returns sequence of 3d curves as result of intersection
Standard_EXPORT const IntTools_SequenceOfPntOn2Faces& Points() const; //! Returns tolerance reached during approximation.
//! If approximation was not done, returns zero.
Standard_EXPORT Standard_Real TolReached3d() const; //! Returns tolerance reached during approximation.
//! If approximation was not done, returns zero.
Standard_EXPORT Standard_Real TolReached2d() const; //! Returns first of processed faces
Standard_EXPORT const TopoDS_Face& Face1() const; //! Returns second of processed faces
Standard_EXPORT const TopoDS_Face& Face2() const; //! Returns True if faces are tangent
//!
Standard_EXPORT Standard_Boolean TangentFaces() const; //! Provides post-processing the result lines.
//! - the flag.
//! In case of is true the closed 3D-curves will be splitted
//! on parts.
//! In case of is false the closed 3D-curves remain untouched.
Standard_EXPORT void PrepareLines3D(const Standard_Boolean bToSplit = Standard_True) ; Standard_EXPORT void SetList(IntSurf_ListOfPntOn2S& ListOfPnts) ; protected: Standard_EXPORT void MakeCurve(const Standard_Integer Index,const Handle(Adaptor3d_TopolTool)& D1,const Handle(Adaptor3d_TopolTool)& D2) ; Standard_EXPORT void ComputeTolReached3d() ; private: Standard_Boolean myIsDone; IntPatch_Intersection myIntersector; IntTools_LineConstructor myLConstruct; Handle_GeomAdaptor_HSurface myHS1; Handle_GeomAdaptor_HSurface myHS2; Standard_Integer myNbrestr; Standard_Real myTolReached2d; Standard_Real myTolReached3d; Standard_Boolean myApprox; Standard_Boolean myApprox1; Standard_Boolean myApprox2; Standard_Real myTolApprox; IntTools_SequenceOfCurves mySeqOfCurve; Standard_Boolean myTangentFaces; TopoDS_Face myFace1; TopoDS_Face myFace2; IntTools_SequenceOfPntOn2Faces myPnts; IntSurf_ListOfPntOn2S myListOfPnts; }; // other Inline functions and methods (like "C++: function call" methods) #endif