// 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 _BRepFeat_HeaderFile #define _BRepFeat_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_Macro_HeaderFile #include #endif #ifndef _Standard_Real_HeaderFile #include #endif #ifndef _Handle_Geom_Curve_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif #ifndef _TopAbs_Orientation_HeaderFile #include #endif #ifndef _Standard_OStream_HeaderFile #include #endif #ifndef _BRepFeat_StatusError_HeaderFile #include #endif class TopoDS_Shape; class TColgp_SequenceOfPnt; class gp_Pnt; class Geom_Curve; class TopoDS_Face; class BRepTopAdaptor_FClass2d; class Geom2dAdaptor_Curve; class TopoDS_Solid; class BRepFeat_Builder; class BRepFeat_LocalOperation; class BRepFeat_MakeCylindricalHole; class BRepFeat_SplitShape; class BRepFeat_Form; class BRepFeat_RibSlot; class BRepFeat_MakePrism; class BRepFeat_MakeRevol; class BRepFeat_MakePipe; class BRepFeat_Gluer; class BRepFeat_MakeDPrism; class BRepFeat_MakeLinearForm; class BRepFeat_MakeRevolutionForm; //! BRepFeat is necessary for the
//! creation and manipulation of both form and mechanical features in a
//! Boundary Representation framework. Form features can be depressions or
//! protrusions and include the following types:
//! - Cylinder
//! - Draft Prism
//! - Prism
//! - Revolved feature
//! - Pipe
//! Depending on whether you wish to make a depression or a protrusion,
//! you can choose your operation type between the following:
//! - removing matter (a Boolean cut: Fuse setting 0)
//! - adding matter (Boolean fusion: Fuse setting 1)
//! The semantics of form feature creation is based on the
//! construction of shapes:
//! - for a certain length in a certain direction
//! - up to a limiting face
//! - from a limiting face at a height
//! - above and/or below a plane
//! The shape defining the construction of a feature can be either a
//! supporting edge or a concerned area of a face.
//! In case of supporting edge, this contour can be attached to a face
//! of the basis shape by binding. When the contour is bound to this face,
//! the information that the contour will slide on the face becomes
//! available to the relevant class methods. In case of the concerned
//! area of a face, you could, for example, cut it out and move it at
//! a different height, which will define the limiting face of a
//! protrusion or depression. Topological definition with local
//! operations of this sort makes calculations simpler and faster
//! than a global operation. The latter would entail a second phase of
//! removing unwanted matter to get the same result.
//! Mechanical features include ribs - protrusions - and grooves (or
//! slots) - depressions along planar (linear) surfaces or revolution surfaces.
//! The semantics of mechanical features is based on giving
//! thickness to a contour. This thickness can either be unilateral
//! - on one side of the contour - or bilateral - on both sides. As in
//! the semantics of form features, the thickness is defined by
//! construction of shapes in specific contexts.
//! However, in case of mechanical features, development contexts
//! differ. Here they include extrusion:
//! - to a limiting face of the basis shape
//! - to or from a limiting plane
//! - to a height.
class BRepFeat { 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 static void SampleEdges(const TopoDS_Shape& S,TColgp_SequenceOfPnt& Pt) ; Standard_EXPORT static void Barycenter(const TopoDS_Shape& S,gp_Pnt& Pt) ; Standard_EXPORT static Standard_Real ParametricBarycenter(const TopoDS_Shape& S,const Handle(Geom_Curve)& C) ; //! Ori = True taking account the orientation
Standard_EXPORT static void ParametricMinMax(const TopoDS_Shape& S,const Handle(Geom_Curve)& C,Standard_Real& prmin,Standard_Real& prmax,Standard_Real& prbmin,Standard_Real& prbmax,Standard_Boolean& flag,const Standard_Boolean Ori = Standard_False) ; Standard_EXPORT static Standard_Boolean IsInside(const TopoDS_Face& F1,const TopoDS_Face& F2) ; Standard_EXPORT static Standard_Boolean IsInOut(const BRepTopAdaptor_FClass2d& FC,const Geom2dAdaptor_Curve& AC) ; Standard_EXPORT static void FaceUntil(const TopoDS_Shape& S,TopoDS_Face& F) ; Standard_EXPORT static TopoDS_Solid Tool(const TopoDS_Shape& SRef,const TopoDS_Face& Fac,const TopAbs_Orientation Orf) ; //! Prints the Error description of the State as a String on
//! the Stream and returns .
//!
Standard_EXPORT static Standard_OStream& Print(const BRepFeat_StatusError SE,Standard_OStream& S) ; protected: private: friend class BRepFeat_Builder; friend class BRepFeat_LocalOperation; friend class BRepFeat_MakeCylindricalHole; friend class BRepFeat_SplitShape; friend class BRepFeat_Form; friend class BRepFeat_RibSlot; friend class BRepFeat_MakePrism; friend class BRepFeat_MakeRevol; friend class BRepFeat_MakePipe; friend class BRepFeat_Gluer; friend class BRepFeat_MakeDPrism; friend class BRepFeat_MakeLinearForm; friend class BRepFeat_MakeRevolutionForm; }; // other Inline functions and methods (like "C++: function call" methods) #endif