// 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 _BiTgte_Blend_HeaderFile #define _BiTgte_Blend_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_Macro_HeaderFile #include #endif #ifndef _Standard_Real_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif #ifndef _TopoDS_Shape_HeaderFile #include #endif #ifndef _TopTools_IndexedDataMapOfShapeListOfShape_HeaderFile #include #endif #ifndef _BRepFill_DataMapOfShapeDataMapOfShapeListOfShape_HeaderFile #include #endif #ifndef _TopTools_DataMapOfShapeListOfShape_HeaderFile #include #endif #ifndef _TopTools_MapOfShape_HeaderFile #include #endif #ifndef _BRepOffset_Analyse_HeaderFile #include #endif #ifndef _TopTools_IndexedMapOfShape_HeaderFile #include #endif #ifndef _BRepOffset_DataMapOfShapeOffset_HeaderFile #include #endif #ifndef _BRepAlgo_Image_HeaderFile #include #endif #ifndef _Handle_BRepAlgo_AsDes_HeaderFile #include #endif #ifndef _Standard_Integer_HeaderFile #include #endif #ifndef _Handle_TColStd_HArray1OfInteger_HeaderFile #include #endif #ifndef _Handle_Geom_Surface_HeaderFile #include #endif #ifndef _BiTgte_ContactType_HeaderFile #include #endif #ifndef _Handle_Geom_Curve_HeaderFile #include #endif #ifndef _Handle_Geom2d_Curve_HeaderFile #include #endif class BRepAlgo_AsDes; class TColStd_HArray1OfInteger; class StdFail_NotDone; class Standard_OutOfRange; class TopoDS_Shape; class TopoDS_Face; class TopoDS_Edge; class Geom_Surface; class TopTools_ListOfShape; class Geom_Curve; class Geom2d_Curve; class BiTgte_DataMapOfShapeBox; class BRepOffset_Offset; class BRepOffset_Inter3d; class BiTgte_Blend { 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 BiTgte_Blend(); //! : Shape to be rounded
//! : radius of the fillet
//! : Tol3d used in approximations
//! : if true, generate only NUBS surfaces,
//! if false, generate analytical surfaces if possible
//!
Standard_EXPORT BiTgte_Blend(const TopoDS_Shape& S,const Standard_Real Radius,const Standard_Real Tol,const Standard_Boolean NUBS); Standard_EXPORT void Init(const TopoDS_Shape& S,const Standard_Real Radius,const Standard_Real Tol,const Standard_Boolean NUBS) ; //! Clear all the Fields.
Standard_EXPORT void Clear() ; //! Set two faces of on which the Sphere
//! must roll.
Standard_EXPORT void SetFaces(const TopoDS_Face& F1,const TopoDS_Face& F2) ; //! Set an edge of to be rounded.
Standard_EXPORT void SetEdge(const TopoDS_Edge& Edge) ; //! Set a face on which the fillet must stop.
Standard_EXPORT void SetStoppingFace(const TopoDS_Face& Face) ; //! Compute the generated surfaces.
//! If is true, compute the resulting Shape.
//! If false, only the blending surfaces are computed.
Standard_EXPORT void Perform(const Standard_Boolean BuildShape = Standard_True) ; Standard_EXPORT Standard_Boolean IsDone() const; //! returns the result
Standard_EXPORT const TopoDS_Shape& Shape() const; //! returns the Number of generated surfaces.
Standard_EXPORT Standard_Integer NbSurfaces() const; //! returns the surface of range Index
Standard_EXPORT Handle_Geom_Surface Surface(const Standard_Integer Index) const; //! returns the surface of range Index
Standard_EXPORT const TopoDS_Face& Face(const Standard_Integer Index) const; //! set in all the center lines
Standard_EXPORT void CenterLines(TopTools_ListOfShape& LC) const; //! returns the surface generated by the centerline.
//! may be
//! - an edge : generate a pipe.
//! - a vertex : generate a sphere.
//! Warning: returns a Null Handle if generates
//! no surface.
Standard_EXPORT Handle_Geom_Surface Surface(const TopoDS_Shape& CenterLine) const; //! returns the face generated by the centerline.
//! may be
//! - an edge : generate a pipe.
//! - a vertex : generate a sphere.
//! Warning: returns a Null Shape if generates
//! no surface.
Standard_EXPORT const TopoDS_Face& Face(const TopoDS_Shape& CenterLine) const; //! returns the type of contact
Standard_EXPORT BiTgte_ContactType ContactType(const Standard_Integer Index) const; //! gives the first support shape relative to
//! SurfaceFillet(Index);
Standard_EXPORT const TopoDS_Shape& SupportShape1(const Standard_Integer Index) const; //! gives the second support shape relative to
//! SurfaceFillet(Index);
Standard_EXPORT const TopoDS_Shape& SupportShape2(const Standard_Integer Index) const; //! gives the 3d curve of SurfaceFillet(Index)
//! on SupportShape1(Index)
Standard_EXPORT Handle_Geom_Curve CurveOnShape1(const Standard_Integer Index) const; //! gives the 3d curve of SurfaceFillet(Index)
//! on SupportShape2(Index)
Standard_EXPORT Handle_Geom_Curve CurveOnShape2(const Standard_Integer Index) const; //! gives the PCurve associated to CurvOnShape1(Index)
//! on the support face
//! Warning: returns a Null Handle if SupportShape1 is not a Face
Standard_EXPORT Handle_Geom2d_Curve PCurveOnFace1(const Standard_Integer Index) const; //! gives the PCurve associated to CurveOnShape1(Index)
//! on the Fillet
Standard_EXPORT Handle_Geom2d_Curve PCurve1OnFillet(const Standard_Integer Index) const; //! gives the PCurve associated to CurveOnShape2(Index)
//! on the support face
//! Warning: returns a Null Handle if SupportShape2 is not a Face
Standard_EXPORT Handle_Geom2d_Curve PCurveOnFace2(const Standard_Integer Index) const; //! gives the PCurve associated to CurveOnShape2(Index)
//! on the fillet
Standard_EXPORT Handle_Geom2d_Curve PCurve2OnFillet(const Standard_Integer Index) const; Standard_EXPORT Standard_Integer NbBranches() ; //! Set in , the indices of the faces of
//! the branche .
//!
//! i.e: Branche = Face(From) + Face(From+1) + ..+ Face(To)
Standard_EXPORT void IndicesOfBranche(const Standard_Integer Index,Standard_Integer& From,Standard_Integer& To) const; //! Computes the center lines
Standard_EXPORT void ComputeCenters() ; protected: private: //! Perform the generated surfaces.
Standard_EXPORT void ComputeSurfaces() ; //! Build the resulting shape
//! All the faces must be computed
Standard_EXPORT void ComputeShape() ; //! Computes the intersections with and all the
//! OffsetFaces stored in . Returns
//! if an intersections ends on a boundary of a Face.
Standard_EXPORT Standard_Boolean Intersect(const TopoDS_Shape& Init,const TopoDS_Face& Face,const BiTgte_DataMapOfShapeBox& MapSBox,const BRepOffset_Offset& OF1,BRepOffset_Inter3d& Inter) ; Standard_Real myRadius; Standard_Real myTol; Standard_Boolean myNubs; TopoDS_Shape myShape; TopoDS_Shape myResult; Standard_Boolean myBuildShape; TopTools_IndexedDataMapOfShapeListOfShape myAncestors; BRepFill_DataMapOfShapeDataMapOfShapeListOfShape myCreated; TopTools_DataMapOfShapeListOfShape myCutEdges; TopTools_MapOfShape myFaces; TopTools_MapOfShape myEdges; TopTools_MapOfShape myStopFaces; BRepOffset_Analyse myAnalyse; TopTools_IndexedMapOfShape myCenters; BRepOffset_DataMapOfShapeOffset myMapSF; BRepAlgo_Image myInitOffsetFace; BRepAlgo_Image myImage; BRepAlgo_Image myImageOffset; Handle_BRepAlgo_AsDes myAsDes; Standard_Integer myNbBranches; Handle_TColStd_HArray1OfInteger myIndices; Standard_Boolean myDone; }; // other Inline functions and methods (like "C++: function call" methods) #endif