// 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 _GeomFill_Sweep_HeaderFile #define _GeomFill_Sweep_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_Macro_HeaderFile #include #endif #ifndef _Standard_Real_HeaderFile #include #endif #ifndef _Handle_GeomFill_LocationLaw_HeaderFile #include #endif #ifndef _Handle_GeomFill_SectionLaw_HeaderFile #include #endif #ifndef _Handle_Geom_Surface_HeaderFile #include #endif #ifndef _Handle_TColGeom2d_HArray1OfCurve_HeaderFile #include #endif #ifndef _Handle_TColStd_HArray2OfReal_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif #ifndef _GeomFill_ApproxStyle_HeaderFile #include #endif #ifndef _GeomAbs_Shape_HeaderFile #include #endif #ifndef _Standard_Integer_HeaderFile #include #endif #ifndef _Handle_Geom2d_Curve_HeaderFile #include #endif class GeomFill_LocationLaw; class GeomFill_SectionLaw; class Geom_Surface; class TColGeom2d_HArray1OfCurve; class TColStd_HArray2OfReal; class StdFail_NotDone; class Standard_OutOfRange; class Standard_ConstructionError; class Geom2d_Curve; //! Geometrical Sweep Algorithm
class GeomFill_Sweep { 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 GeomFill_Sweep(const Handle(GeomFill_LocationLaw)& Location,const Standard_Boolean WithKpart = Standard_True); //! Set parametric information
//! [, ] Sets the parametric bound of the
//! sweeping surface to build.
//! , gives coresponding
//! bounds parameter on the section law of and
//!
//! V-Iso on Sweeping Surface S(u,v) is defined by
//! Location(v) and Section(w) where
//! w = SectionFirst + (v - First) / (Last-First)
//! * (SectionLast - SectionFirst)
Standard_EXPORT void SetDomain(const Standard_Real First,const Standard_Real Last,const Standard_Real SectionFirst,const Standard_Real SectionLast) ; //! Set Approximation Tolerance
//! Tol3d : Tolerance to surface approximation
//! Tol2d : Tolerance used to perform curve approximation
//! Normaly the 2d curve are approximated with a
//! tolerance given by the resolution method define in
//! but if this tolerance is too large Tol2d
//! is used.
//! TolAngular : Tolerance (in radian) to control the angle
//! beetween tangents on the section law and
//! tangent of iso-v on approximed surface
Standard_EXPORT void SetTolerance(const Standard_Real Tol3d,const Standard_Real BoundTol = 1.0,const Standard_Real Tol2d = 1.0e-5,const Standard_Real TolAngular = 1.0) ; //! returns true if sections are U-Iso
//! This can be produce in some cases when is True.
Standard_EXPORT Standard_Boolean ExchangeUV() const; //! returns true if Parametrisation sens in U is inverse of
//! parametrisation sens of section (or of path if ExchangeUV)
Standard_EXPORT Standard_Boolean UReversed() const; //! returns true if Parametrisation sens in V is inverse of
//! parametrisation sens of path (or of section if ExchangeUV)
Standard_EXPORT Standard_Boolean VReversed() const; //! Build the Sweeep Surface
//! ApproxStyle defines Approximation Strategy
//! - GeomFill_Section : The composed Function : Location X Section
//! is directly approximed.
//! - GeomFill_Location : The location law is approximed, and the
//! SweepSurface is build algebric composition
//! of approximed location law and section law
//! This option is Ok, if Section.Surface() methode
//! is effective.
//! Continuity : The continuity in v waiting on the surface
//! Degmax : The maximum degree in v requiered on the surface
//! Segmax : The maximum number of span in v requiered on
//! the surface
//!
//! raise If Domain are infinite or Profile not Setted.
Standard_EXPORT void Build(const Handle(GeomFill_SectionLaw)& Section,const GeomFill_ApproxStyle Methode = GeomFill_Location,const GeomAbs_Shape Continuity = GeomAbs_C2,const Standard_Integer Degmax = 10,const Standard_Integer Segmax = 30) ; //! Tells if the Surface is Buildt.
Standard_EXPORT Standard_Boolean IsDone() const; //! Gets the Approximation error.
Standard_EXPORT Standard_Real ErrorOnSurface() const; //! Gets the Approximation error.
Standard_EXPORT void ErrorOnRestriction(const Standard_Boolean IsFirst,Standard_Real& UError,Standard_Real& VError) const; //! Gets the Approximation error.
Standard_EXPORT void ErrorOnTrace(const Standard_Integer IndexOfTrace,Standard_Real& UError,Standard_Real& VError) const; Standard_EXPORT Handle_Geom_Surface Surface() const; Standard_EXPORT Handle_Geom2d_Curve Restriction(const Standard_Boolean IsFirst) const; Standard_EXPORT Standard_Integer NumberOfTrace() const; Standard_EXPORT Handle_Geom2d_Curve Trace(const Standard_Integer IndexOfTrace) const; protected: private: Standard_EXPORT Standard_Boolean Build2d(const GeomAbs_Shape Continuity,const Standard_Integer Degmax,const Standard_Integer Segmax) ; Standard_EXPORT Standard_Boolean BuildAll(const GeomAbs_Shape Continuity,const Standard_Integer Degmax,const Standard_Integer Segmax) ; Standard_EXPORT Standard_Boolean BuildProduct(const GeomAbs_Shape Continuity,const Standard_Integer Degmax,const Standard_Integer Segmax) ; Standard_EXPORT Standard_Boolean BuildKPart() ; Standard_Real First; Standard_Real Last; Standard_Real SFirst; Standard_Real SLast; Standard_Real Tol3d; Standard_Real BoundTol; Standard_Real Tol2d; Standard_Real TolAngular; Standard_Real SError; Handle_GeomFill_LocationLaw myLoc; Handle_GeomFill_SectionLaw mySec; Handle_Geom_Surface mySurface; Handle_TColGeom2d_HArray1OfCurve myCurve2d; Handle_TColStd_HArray2OfReal CError; Standard_Boolean done; Standard_Boolean myExchUV; Standard_Boolean isUReversed; Standard_Boolean isVReversed; Standard_Boolean myKPart; }; // other Inline functions and methods (like "C++: function call" methods) #endif