![]() |
Open CASCADE Technology Reference Manual 8.0.0
|
Describes functions to construct pipes. A pipe is built by sweeping a curve (the section) along another curve (the path). The Pipe class provides the following types of construction: More...
#include <GeomFill_Pipe.hxx>
Public Member Functions | |
| GeomFill_Pipe () | |
| Constructs an empty algorithm for building pipes. Use the function Init to initialize it. | |
| GeomFill_Pipe (const occ::handle< Geom_Curve > &Path, const double Radius) | |
| GeomFill_Pipe (const occ::handle< Geom_Curve > &Path, const occ::handle< Geom_Curve > &FirstSect, const GeomFill_Trihedron Option=GeomFill_IsCorrectedFrenet) | |
| Create a pipe with a constant section (<FirstSection>) and a path (<Path>) Option can be - GeomFill_IsCorrectedFrenet. | |
| GeomFill_Pipe (const occ::handle< Geom2d_Curve > &Path, const occ::handle< Geom_Surface > &Support, const occ::handle< Geom_Curve > &FirstSect) | |
| Create a pipe with a constant section (<FirstSection>) and a path defined by <Path> and <Support> | |
| GeomFill_Pipe (const occ::handle< Geom_Curve > &Path, const occ::handle< Geom_Curve > &FirstSect, const gp_Dir &Dir) | |
| Create a pipe with a constant section (<FirstSection>) and a path <Path> and a fixed binormal direction <Dir> | |
| GeomFill_Pipe (const occ::handle< Geom_Curve > &Path, const occ::handle< Geom_Curve > &FirstSect, const occ::handle< Geom_Curve > &LastSect) | |
| Create a pipe with an evolving section The section evaluate from First to Last Section. | |
| GeomFill_Pipe (const occ::handle< Geom_Curve > &Path, const NCollection_Sequence< occ::handle< Geom_Curve > > &NSections) | |
| Create a pipe with N sections The section evaluate from First to Last Section. | |
| GeomFill_Pipe (const occ::handle< Geom_Curve > &Path, const occ::handle< Geom_Curve > &Curve1, const occ::handle< Geom_Curve > &Curve2, const double Radius) | |
| Create a pipe with a constant radius with 2 guide-line. | |
| GeomFill_Pipe (const occ::handle< Adaptor3d_Curve > &Path, const occ::handle< Adaptor3d_Curve > &Curve1, const occ::handle< Adaptor3d_Curve > &Curve2, const double Radius) | |
| Create a pipe with a constant radius with 2 guide-line. | |
| GeomFill_Pipe (const occ::handle< Geom_Curve > &Path, const occ::handle< Adaptor3d_Curve > &Guide, const occ::handle< Geom_Curve > &FirstSect, const bool ByACR, const bool rotat) | |
| Create a pipe with a constant section and with 1 guide-line. Use the function Perform to build the surface. All standard specific cases are detected in order to construct, according to the respective geometric nature of Path and the sections, a planar, cylindrical, conical, spherical or toroidal surface, a surface of linear extrusion or a surface of revolution. In the general case, the result is a BSpline surface (NURBS) built by approximation of a series of sections where: | |
| void | Init (const occ::handle< Geom_Curve > &Path, const double Radius) |
| void | Init (const occ::handle< Geom_Curve > &Path, const occ::handle< Geom_Curve > &FirstSect, const GeomFill_Trihedron Option=GeomFill_IsCorrectedFrenet) |
| void | Init (const occ::handle< Geom2d_Curve > &Path, const occ::handle< Geom_Surface > &Support, const occ::handle< Geom_Curve > &FirstSect) |
| void | Init (const occ::handle< Geom_Curve > &Path, const occ::handle< Geom_Curve > &FirstSect, const gp_Dir &Dir) |
| void | Init (const occ::handle< Geom_Curve > &Path, const occ::handle< Geom_Curve > &FirstSect, const occ::handle< Geom_Curve > &LastSect) |
| void | Init (const occ::handle< Geom_Curve > &Path, const NCollection_Sequence< occ::handle< Geom_Curve > > &NSections) |
| void | Init (const occ::handle< Adaptor3d_Curve > &Path, const occ::handle< Adaptor3d_Curve > &Curve1, const occ::handle< Adaptor3d_Curve > &Curve2, const double Radius) |
| Create a pipe with a constant radius with 2 guide-line. | |
| void | Init (const occ::handle< Geom_Curve > &Path, const occ::handle< Adaptor3d_Curve > &Guide, const occ::handle< Geom_Curve > &FirstSect, const bool ByACR, const bool rotat) |
| Initializes this pipe algorithm to build the following surface: | |
| void | Perform (const bool WithParameters=false, const bool myPolynomial=false) |
| Builds the pipe defined at the time of initialization of this algorithm. A description of the resulting surface is given under Constructors. If WithParameters (defaulted to false) is set to true, the approximation algorithm (used only in the general case of construction of a BSpline surface) builds the surface with a u parameter corresponding to the one of the path. Exceptions Standard_ConstructionError if a surface cannot be constructed from the data. Warning: It is the old Perform method, the next methode is recommended. | |
| void | Perform (const double Tol, const bool Polynomial, const GeomAbs_Shape Conti=GeomAbs_C1, const int MaxDegree=11, const int NbMaxSegment=30) |
| Detects the particular cases, and computes the surface. if none particular case is detected we make an approximation with respect of the Tolerance <Tol>, the continuty <Conti>, the maximum degree <MaxDegree>, the maximum number of span <NbMaxSegment> and the spine parametrization. If we can't create a surface with the data. | |
| const occ::handle< Geom_Surface > & | Surface () const |
| Returns the surface built by this algorithm. Warning: Do not use this function before the surface is built (in this case the function will return a null handle). | |
| bool | ExchangeUV () const |
| The u parametric direction of the surface constructed by this algorithm usually corresponds to the evolution along the path and the v parametric direction corresponds to the evolution along the section(s). However, this rule is not respected when constructing certain specific Geom surfaces (typically cylindrical surfaces, surfaces of revolution, etc.) for which the parameterization is inversed. The ExchangeUV function checks for this, and returns true in all these specific cases. Warning: Do not use this function before the surface is built. | |
| void | GenerateParticularCase (const bool B) |
| Sets a flag to try to create as many planes, cylinder,... as possible. Default value is <false>. | |
| bool | GenerateParticularCase () const |
| Returns the flag. | |
| double | ErrorOnSurf () const |
| Returns the approximation's error. if the Surface is plane, cylinder ... this error can be 0. | |
| bool | IsDone () const |
| Returns whether approximation was done. | |
| GeomFill_PipeError | GetStatus () const |
| Returns execution status. | |
Describes functions to construct pipes. A pipe is built by sweeping a curve (the section) along another curve (the path). The Pipe class provides the following types of construction:
2) give a path and a section. Differtent options are available 2.a) Use the classical Frenet trihedron
3) give a path and N sections. The section evaluate from First to Last Section.
In general case the result is a NURBS. But we can generate plane, cylindrical, spherical, conical, toroidal surface in some particular case.
The natural parametrization of the result is:
U-Direction along the section. V-Direction along the path.
But, in some particular case, the surface must be construct otherwise. The method "EchangeUV" return false in such cases.
| GeomFill_Pipe::GeomFill_Pipe | ( | ) |
Constructs an empty algorithm for building pipes. Use the function Init to initialize it.
| GeomFill_Pipe::GeomFill_Pipe | ( | const occ::handle< Geom_Curve > & | Path, |
| const double | Radius ) |
| GeomFill_Pipe::GeomFill_Pipe | ( | const occ::handle< Geom_Curve > & | Path, |
| const occ::handle< Geom_Curve > & | FirstSect, | ||
| const GeomFill_Trihedron | Option = GeomFill_IsCorrectedFrenet ) |
Create a pipe with a constant section (<FirstSection>) and a path (<Path>) Option can be - GeomFill_IsCorrectedFrenet.
| GeomFill_Pipe::GeomFill_Pipe | ( | const occ::handle< Geom2d_Curve > & | Path, |
| const occ::handle< Geom_Surface > & | Support, | ||
| const occ::handle< Geom_Curve > & | FirstSect ) |
Create a pipe with a constant section (<FirstSection>) and a path defined by <Path> and <Support>
| GeomFill_Pipe::GeomFill_Pipe | ( | const occ::handle< Geom_Curve > & | Path, |
| const occ::handle< Geom_Curve > & | FirstSect, | ||
| const gp_Dir & | Dir ) |
Create a pipe with a constant section (<FirstSection>) and a path <Path> and a fixed binormal direction <Dir>
| GeomFill_Pipe::GeomFill_Pipe | ( | const occ::handle< Geom_Curve > & | Path, |
| const occ::handle< Geom_Curve > & | FirstSect, | ||
| const occ::handle< Geom_Curve > & | LastSect ) |
Create a pipe with an evolving section The section evaluate from First to Last Section.
| GeomFill_Pipe::GeomFill_Pipe | ( | const occ::handle< Geom_Curve > & | Path, |
| const NCollection_Sequence< occ::handle< Geom_Curve > > & | NSections ) |
Create a pipe with N sections The section evaluate from First to Last Section.
| GeomFill_Pipe::GeomFill_Pipe | ( | const occ::handle< Geom_Curve > & | Path, |
| const occ::handle< Geom_Curve > & | Curve1, | ||
| const occ::handle< Geom_Curve > & | Curve2, | ||
| const double | Radius ) |
Create a pipe with a constant radius with 2 guide-line.
| GeomFill_Pipe::GeomFill_Pipe | ( | const occ::handle< Adaptor3d_Curve > & | Path, |
| const occ::handle< Adaptor3d_Curve > & | Curve1, | ||
| const occ::handle< Adaptor3d_Curve > & | Curve2, | ||
| const double | Radius ) |
Create a pipe with a constant radius with 2 guide-line.
| GeomFill_Pipe::GeomFill_Pipe | ( | const occ::handle< Geom_Curve > & | Path, |
| const occ::handle< Adaptor3d_Curve > & | Guide, | ||
| const occ::handle< Geom_Curve > & | FirstSect, | ||
| const bool | ByACR, | ||
| const bool | rotat ) |
Create a pipe with a constant section and with 1 guide-line. Use the function Perform to build the surface. All standard specific cases are detected in order to construct, according to the respective geometric nature of Path and the sections, a planar, cylindrical, conical, spherical or toroidal surface, a surface of linear extrusion or a surface of revolution. In the general case, the result is a BSpline surface (NURBS) built by approximation of a series of sections where:
| double GeomFill_Pipe::ErrorOnSurf | ( | ) | const |
Returns the approximation's error. if the Surface is plane, cylinder ... this error can be 0.
| bool GeomFill_Pipe::ExchangeUV | ( | ) | const |
The u parametric direction of the surface constructed by this algorithm usually corresponds to the evolution along the path and the v parametric direction corresponds to the evolution along the section(s). However, this rule is not respected when constructing certain specific Geom surfaces (typically cylindrical surfaces, surfaces of revolution, etc.) for which the parameterization is inversed. The ExchangeUV function checks for this, and returns true in all these specific cases. Warning: Do not use this function before the surface is built.
| bool GeomFill_Pipe::GenerateParticularCase | ( | ) | const |
Returns the flag.
Sets a flag to try to create as many planes, cylinder,... as possible. Default value is <false>.
|
inline |
Returns execution status.
| void GeomFill_Pipe::Init | ( | const occ::handle< Adaptor3d_Curve > & | Path, |
| const occ::handle< Adaptor3d_Curve > & | Curve1, | ||
| const occ::handle< Adaptor3d_Curve > & | Curve2, | ||
| const double | Radius ) |
Create a pipe with a constant radius with 2 guide-line.
| void GeomFill_Pipe::Init | ( | const occ::handle< Geom2d_Curve > & | Path, |
| const occ::handle< Geom_Surface > & | Support, | ||
| const occ::handle< Geom_Curve > & | FirstSect ) |
| void GeomFill_Pipe::Init | ( | const occ::handle< Geom_Curve > & | Path, |
| const double | Radius ) |
| void GeomFill_Pipe::Init | ( | const occ::handle< Geom_Curve > & | Path, |
| const NCollection_Sequence< occ::handle< Geom_Curve > > & | NSections ) |
| void GeomFill_Pipe::Init | ( | const occ::handle< Geom_Curve > & | Path, |
| const occ::handle< Adaptor3d_Curve > & | Guide, | ||
| const occ::handle< Geom_Curve > & | FirstSect, | ||
| const bool | ByACR, | ||
| const bool | rotat ) |
Initializes this pipe algorithm to build the following surface:
| void GeomFill_Pipe::Init | ( | const occ::handle< Geom_Curve > & | Path, |
| const occ::handle< Geom_Curve > & | FirstSect, | ||
| const GeomFill_Trihedron | Option = GeomFill_IsCorrectedFrenet ) |
| void GeomFill_Pipe::Init | ( | const occ::handle< Geom_Curve > & | Path, |
| const occ::handle< Geom_Curve > & | FirstSect, | ||
| const gp_Dir & | Dir ) |
| void GeomFill_Pipe::Init | ( | const occ::handle< Geom_Curve > & | Path, |
| const occ::handle< Geom_Curve > & | FirstSect, | ||
| const occ::handle< Geom_Curve > & | LastSect ) |
| bool GeomFill_Pipe::IsDone | ( | ) | const |
Returns whether approximation was done.
Builds the pipe defined at the time of initialization of this algorithm. A description of the resulting surface is given under Constructors. If WithParameters (defaulted to false) is set to true, the approximation algorithm (used only in the general case of construction of a BSpline surface) builds the surface with a u parameter corresponding to the one of the path. Exceptions Standard_ConstructionError if a surface cannot be constructed from the data. Warning: It is the old Perform method, the next methode is recommended.
| void GeomFill_Pipe::Perform | ( | const double | Tol, |
| const bool | Polynomial, | ||
| const GeomAbs_Shape | Conti = GeomAbs_C1, | ||
| const int | MaxDegree = 11, | ||
| const int | NbMaxSegment = 30 ) |
Detects the particular cases, and computes the surface. if none particular case is detected we make an approximation with respect of the Tolerance <Tol>, the continuty <Conti>, the maximum degree <MaxDegree>, the maximum number of span <NbMaxSegment> and the spine parametrization. If we can't create a surface with the data.
| const occ::handle< Geom_Surface > & GeomFill_Pipe::Surface | ( | ) | const |
Returns the surface built by this algorithm. Warning: Do not use this function before the surface is built (in this case the function will return a null handle).