// 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 _BRepFill_PipeShell_HeaderFile #define _BRepFill_PipeShell_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_DefineHandle_HeaderFile #include #endif #ifndef _Handle_BRepFill_PipeShell_HeaderFile #include #endif #ifndef _TopoDS_Wire_HeaderFile #include #endif #ifndef _TopoDS_Shape_HeaderFile #include #endif #ifndef _BRepFill_SequenceOfSection_HeaderFile #include #endif #ifndef _TopTools_DataMapOfShapeListOfShape_HeaderFile #include #endif #ifndef _Standard_Real_HeaderFile #include #endif #ifndef _Handle_Law_Function_HeaderFile #include #endif #ifndef _Handle_BRepFill_LocationLaw_HeaderFile #include #endif #ifndef _Handle_BRepFill_SectionLaw_HeaderFile #include #endif #ifndef _Handle_TopTools_HArray2OfShape_HeaderFile #include #endif #ifndef _GeomFill_Trihedron_HeaderFile #include #endif #ifndef _BRepFill_TransitionStyle_HeaderFile #include #endif #ifndef _GeomFill_PipeError_HeaderFile #include #endif #ifndef _MMgt_TShared_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif #ifndef _Standard_Integer_HeaderFile #include #endif class Law_Function; class BRepFill_LocationLaw; class BRepFill_SectionLaw; class TopTools_HArray2OfShape; class Standard_DomainError; class StdFail_NotDone; class TopoDS_Wire; class gp_Ax2; class gp_Dir; class TopoDS_Shape; class TopoDS_Vertex; class TopTools_ListOfShape; class BRepFill_Section; class gp_Trsf; class BRepFill_Sweep; //! Perform general sweeping construction
class BRepFill_PipeShell : public MMgt_TShared { public: //! Set an sweep's mode
//! If no mode are setted, the mode use in MakePipe is used
Standard_EXPORT BRepFill_PipeShell(const TopoDS_Wire& Spine); //! Set an Frenet or an CorrectedFrenet trihedron
//! to perform the sweeping
Standard_EXPORT void Set(const Standard_Boolean Frenet = Standard_False) ; //! Set an fixed trihedron to perform the sweeping
//! all sections will be parallel.
Standard_EXPORT void Set(const gp_Ax2& Axe) ; //! Set an fixed BiNormal direction to perform
//! the sweeping
Standard_EXPORT void Set(const gp_Dir& BiNormal) ; //! Set support to the spine to define the BiNormal
//! at the spine, like the normal the surfaces.
//! Warning: To be effective, Each edge of the must
//! have an representaion on one face of
Standard_EXPORT Standard_Boolean Set(const TopoDS_Shape& SpineSupport) ; //! Set an auxiliary spine to define the Normal
//! For each Point of the Spine P, an Point Q is evalued
//! on
//! If
//! Q split with the same length ratio
//! than P split .
//! Else the plan define by P and the tangent to the
//! intersect in Q.
//! If the Normal is defined to assume like the sweeped
//! section is in contact to the
//! Else the Normal is defined by the vector PQ.
//! Give section to sweep.
//! Possibilities are :
//! - Give one or sevral profile
//! - Give one profile and an homotetic law.
//! - Automatic compute of correspondance beetween profile, and section
//! on the sweeped shape
//! - correspondance beetween profile, and section on the sweeped shape
//! defined by a vertex of the spine
Standard_EXPORT void Set(const TopoDS_Wire& AuxiliarySpine,const Standard_Boolean CurvilinearEquivalence = Standard_True,const Standard_Boolean KeepContact = Standard_False) ; //! Set an section. The corespondance with the spine, will
//! be automaticaly performed.
Standard_EXPORT void Add(const TopoDS_Shape& Profile,const Standard_Boolean WithContact = Standard_False,const Standard_Boolean WithCorrection = Standard_False) ; //! Set an section. The corespondance with the spine, is
//! given by
Standard_EXPORT void Add(const TopoDS_Shape& Profile,const TopoDS_Vertex& Location,const Standard_Boolean WithContact = Standard_False,const Standard_Boolean WithCorrection = Standard_False) ; //! Set an section and an homotetic law.
//! The homotetie's centers is given by point on the .
Standard_EXPORT void SetLaw(const TopoDS_Shape& Profile,const Handle(Law_Function)& L,const Standard_Boolean WithContact = Standard_False,const Standard_Boolean WithCorrection = Standard_False) ; //! Set an section and an homotetic law.
//! The homotetie center is given by point on the
Standard_EXPORT void SetLaw(const TopoDS_Shape& Profile,const Handle(Law_Function)& L,const TopoDS_Vertex& Location,const Standard_Boolean WithContact = Standard_False,const Standard_Boolean WithCorrection = Standard_False) ; //! Delete an section.
Standard_EXPORT void Delete(const TopoDS_Shape& Profile) ; //! Say if is ready to build the shape
//! return False if do not have section definition
Standard_EXPORT Standard_Boolean IsReady() const; //! Get a status, when Simulate or Build failed.
Standard_EXPORT GeomFill_PipeError GetStatus() const; Standard_EXPORT void SetTolerance(const Standard_Real Tol3d = 1.0e-4,const Standard_Real BoundTol = 1.0e-4,const Standard_Real TolAngular = 1.0e-2) ; //! Set the Transition Mode to manage discontinuities
//! on the sweep.
Standard_EXPORT void SetTransition(const BRepFill_TransitionStyle Mode = BRepFill_Modified,const Standard_Real Angmin = 1.0e-2,const Standard_Real Angmax = 6.0) ; //! Perform simulation of the sweep :
//! Somes Section are returned.
Standard_EXPORT void Simulate(const Standard_Integer NumberOfSection,TopTools_ListOfShape& Sections) ; //! Builds the resulting shape (redefined from MakeShape).
Standard_EXPORT Standard_Boolean Build() ; //! Transform the sweeping Shell in Solid.
//! If the section are not closed returns False
Standard_EXPORT Standard_Boolean MakeSolid() ; //! Returns the result Shape.
Standard_EXPORT const TopoDS_Shape& Shape() const; //! Returns the TopoDS Shape of the bottom of the sweep.
Standard_EXPORT const TopoDS_Shape& FirstShape() const; //! Returns the TopoDS Shape of the top of the sweep.
Standard_EXPORT const TopoDS_Shape& LastShape() const; //! Returns the list of shapes generated from the
//! shape .
Standard_EXPORT void Generated(const TopoDS_Shape& S,TopTools_ListOfShape& L) ; DEFINE_STANDARD_RTTI(BRepFill_PipeShell) protected: private: Standard_EXPORT void Prepare() ; Standard_EXPORT void Place(const BRepFill_Section& Sec,TopoDS_Wire& W,gp_Trsf& Trsf,Standard_Real& param) ; Standard_EXPORT void ResetLoc() ; Standard_EXPORT void BuildHistory(const BRepFill_Sweep& theSweep) ; TopoDS_Wire mySpine; TopoDS_Shape myFirst; TopoDS_Shape myLast; TopoDS_Shape myShape; BRepFill_SequenceOfSection mySeq; TopTools_DataMapOfShapeListOfShape myGenMap; Standard_Real myTol3d; Standard_Real myBoundTol; Standard_Real myTolAngular; Standard_Real angmin; Standard_Real angmax; Handle_Law_Function myLaw; Handle_BRepFill_LocationLaw myLocation; Handle_BRepFill_SectionLaw mySection; Handle_TopTools_HArray2OfShape myFaces; GeomFill_Trihedron myTrihedron; BRepFill_TransitionStyle myTransition; GeomFill_PipeError myStatus; }; // other Inline functions and methods (like "C++: function call" methods) #endif