|
Open CASCADE Technology
6.7.1
|
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. More... | |
| GeomFill_Pipe (const Handle< Geom_Curve > &Path, const Standard_Real Radius) | |
| GeomFill_Pipe (const Handle< Geom_Curve > &Path, const Handle< Geom_Curve > &FirstSect, const GeomFill_Trihedron Option=GeomFill_IsCorrectedFrenet) | |
Create a pipe with a constant section <br> (<FirstSection>) and a path (<Path>) | |
| GeomFill_Pipe (const Handle< Geom2d_Curve > &Path, const Handle< Geom_Surface > &Support, const Handle< Geom_Curve > &FirstSect) | |
Create a pipe with a constant section <br> (<FirstSection>) and a path defined by <Path> and <Support> | |
| GeomFill_Pipe (const Handle< Geom_Curve > &Path, const 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> More... | |
| GeomFill_Pipe (const Handle< Geom_Curve > &Path, const Handle< Geom_Curve > &FirstSect, const Handle< Geom_Curve > &LastSect) | |
| Create a pipe with an evolving section The section evoluate from First to Last Section More... | |
| GeomFill_Pipe (const Handle< Geom_Curve > &Path, const TColGeom_SequenceOfCurve &NSections) | |
| Create a pipe with N sections The section evoluate from First to Last Section More... | |
| GeomFill_Pipe (const Handle< Geom_Curve > &Path, const Handle< Geom_Curve > &Curve1, const Handle< Geom_Curve > &Curve2, const Standard_Real Radius) | |
| Create a pipe with a constant radius with 2 guide-line. More... | |
| GeomFill_Pipe (const Handle< Adaptor3d_HCurve > &Path, const Handle< Adaptor3d_HCurve > &Curve1, const Handle< Adaptor3d_HCurve > &Curve2, const Standard_Real Radius) | |
| Create a pipe with a constant radius with 2 guide-line. More... | |
| GeomFill_Pipe (const Handle< Geom_Curve > &Path, const Handle< Adaptor3d_HCurve > &Guide, const Handle< Geom_Curve > &FirstSect, const Standard_Boolean ByACR, const Standard_Boolean rotat) | |
Create a pipe with a constant section and with 1 <br>
guide-line. <br>
Use the function Perform to build the surface. <br>
All standard specific cases are detected in order to | |
| void | Init (const Handle< Geom_Curve > &Path, const Standard_Real Radius) |
| void | Init (const Handle< Geom_Curve > &Path, const Handle< Geom_Curve > &FirstSect, const GeomFill_Trihedron Option=GeomFill_IsCorrectedFrenet) |
| void | Init (const Handle< Geom2d_Curve > &Path, const Handle< Geom_Surface > &Support, const Handle< Geom_Curve > &FirstSect) |
| void | Init (const Handle< Geom_Curve > &Path, const Handle< Geom_Curve > &FirstSect, const gp_Dir &Dir) |
| void | Init (const Handle< Geom_Curve > &Path, const Handle< Geom_Curve > &FirstSect, const Handle< Geom_Curve > &LastSect) |
| void | Init (const Handle< Geom_Curve > &Path, const TColGeom_SequenceOfCurve &NSections) |
| void | Init (const Handle< Adaptor3d_HCurve > &Path, const Handle< Adaptor3d_HCurve > &Curve1, const Handle< Adaptor3d_HCurve > &Curve2, const Standard_Real Radius) |
| Create a pipe with a constant radius with 2 guide-line. More... | |
| void | Init (const Handle< Geom_Curve > &Path, const Handle< Adaptor3d_HCurve > &Guide, const Handle< Geom_Curve > &FirstSect, const Standard_Boolean ByACR, const Standard_Boolean rotat) |
| Initializes this pipe algorithm to build the following surface: More... | |
| void | Perform (const Standard_Boolean WithParameters=Standard_False, const Standard_Boolean myPolynomial=Standard_False) |
Builds the pipe defined at the time of initialization of this <br> algorithm. A description of the resulting surface is given under Constructors. | |
| void | Perform (const Standard_Real Tol, const Standard_Boolean Polynomial, const GeomAbs_Shape Conti=GeomAbs_C1, const Standard_Integer MaxDegree=11, const Standard_Integer NbMaxSegment=30) |
| detects the particular cases. And compute 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 More... | |
| const Handle_Geom_Surface & | Surface () const |
Returns the surface built by this algorithm. <br> Warning | |
| Standard_Boolean | ExchangeUV () const |
The u parametric direction of the surface constructed by <br> this algorithm usually corresponds to the evolution | |
| void | GenerateParticularCase (const Standard_Boolean B) |
| Sets a flag to try to create as many planes, cylinder,... as possible. Default value is <Standard_False>. More... | |
| Standard_Boolean | GenerateParticularCase () const |
| Returns the flag. More... | |
| Standard_Real | ErrorOnSurf () const |
| Returns the approximation's error. if the Surface is plane, cylinder ... this error can be 0. More... | |
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:
| GeomFill_Pipe::GeomFill_Pipe | ( | ) |
Constructs an empty algorithm for building pipes. Use
the function Init to initialize it.
| GeomFill_Pipe::GeomFill_Pipe | ( | const Handle< Geom_Curve > & | Path, |
| const Standard_Real | Radius | ||
| ) |
| GeomFill_Pipe::GeomFill_Pipe | ( | const Handle< Geom_Curve > & | Path, |
| const Handle< Geom_Curve > & | FirstSect, | ||
| const GeomFill_Trihedron | Option = GeomFill_IsCorrectedFrenet |
||
| ) |
Create a pipe with a constant section <br>
(<FirstSection>) and a path (<Path>)
Option can be - GeomFill_IsCorrectedFrenet
| GeomFill_Pipe::GeomFill_Pipe | ( | const Handle< Geom2d_Curve > & | Path, |
| const Handle< Geom_Surface > & | Support, | ||
| const Handle< Geom_Curve > & | FirstSect | ||
| ) |
Create a pipe with a constant section <br>
(<FirstSection>) and a path defined by <Path> and <Support>
| GeomFill_Pipe::GeomFill_Pipe | ( | const Handle< Geom_Curve > & | Path, |
| const 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 Handle< Geom_Curve > & | Path, |
| const Handle< Geom_Curve > & | FirstSect, | ||
| const Handle< Geom_Curve > & | LastSect | ||
| ) |
Create a pipe with an evolving section
The section evoluate from First to Last Section
| GeomFill_Pipe::GeomFill_Pipe | ( | const Handle< Geom_Curve > & | Path, |
| const TColGeom_SequenceOfCurve & | NSections | ||
| ) |
Create a pipe with N sections
The section evoluate from First to Last Section
| GeomFill_Pipe::GeomFill_Pipe | ( | const Handle< Geom_Curve > & | Path, |
| const Handle< Geom_Curve > & | Curve1, | ||
| const Handle< Geom_Curve > & | Curve2, | ||
| const Standard_Real | Radius | ||
| ) |
Create a pipe with a constant radius with 2
guide-line.
| GeomFill_Pipe::GeomFill_Pipe | ( | const Handle< Adaptor3d_HCurve > & | Path, |
| const Handle< Adaptor3d_HCurve > & | Curve1, | ||
| const Handle< Adaptor3d_HCurve > & | Curve2, | ||
| const Standard_Real | Radius | ||
| ) |
Create a pipe with a constant radius with 2
guide-line.
| GeomFill_Pipe::GeomFill_Pipe | ( | const Handle< Geom_Curve > & | Path, |
| const Handle< Adaptor3d_HCurve > & | Guide, | ||
| const Handle< Geom_Curve > & | FirstSect, | ||
| const Standard_Boolean | ByACR, | ||
| const Standard_Boolean | rotat | ||
| ) |
Create a pipe with a constant section and with 1 <br>
guide-line. <br>
Use the function Perform to build the surface. <br>
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:
| Standard_Real GeomFill_Pipe::ErrorOnSurf | ( | ) | const |
Returns the approximation's error. if the Surface
is plane, cylinder ... this error can be 0.
| Standard_Boolean GeomFill_Pipe::ExchangeUV | ( | ) | const |
The u parametric direction of the surface constructed by <br>
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 GeomFill_Pipe::GenerateParticularCase | ( | const Standard_Boolean | B | ) |
Sets a flag to try to create as many planes,
cylinder,... as possible. Default value is
<Standard_False>.
| Standard_Boolean GeomFill_Pipe::GenerateParticularCase | ( | ) | const |
Returns the flag.
| void GeomFill_Pipe::Init | ( | const Handle< Geom_Curve > & | Path, |
| const Standard_Real | Radius | ||
| ) |
| void GeomFill_Pipe::Init | ( | const Handle< Geom_Curve > & | Path, |
| const Handle< Geom_Curve > & | FirstSect, | ||
| const GeomFill_Trihedron | Option = GeomFill_IsCorrectedFrenet |
||
| ) |
| void GeomFill_Pipe::Init | ( | const Handle< Geom2d_Curve > & | Path, |
| const Handle< Geom_Surface > & | Support, | ||
| const Handle< Geom_Curve > & | FirstSect | ||
| ) |
| void GeomFill_Pipe::Init | ( | const Handle< Geom_Curve > & | Path, |
| const Handle< Geom_Curve > & | FirstSect, | ||
| const gp_Dir & | Dir | ||
| ) |
| void GeomFill_Pipe::Init | ( | const Handle< Geom_Curve > & | Path, |
| const Handle< Geom_Curve > & | FirstSect, | ||
| const Handle< Geom_Curve > & | LastSect | ||
| ) |
| void GeomFill_Pipe::Init | ( | const Handle< Geom_Curve > & | Path, |
| const TColGeom_SequenceOfCurve & | NSections | ||
| ) |
| void GeomFill_Pipe::Init | ( | const Handle< Adaptor3d_HCurve > & | Path, |
| const Handle< Adaptor3d_HCurve > & | Curve1, | ||
| const Handle< Adaptor3d_HCurve > & | Curve2, | ||
| const Standard_Real | Radius | ||
| ) |
Create a pipe with a constant radius with 2
guide-line.
| void GeomFill_Pipe::Init | ( | const Handle< Geom_Curve > & | Path, |
| const Handle< Adaptor3d_HCurve > & | Guide, | ||
| const Handle< Geom_Curve > & | FirstSect, | ||
| const Standard_Boolean | ByACR, | ||
| const Standard_Boolean | rotat | ||
| ) |
Initializes this pipe algorithm to build the following surface:
| void GeomFill_Pipe::Perform | ( | const Standard_Boolean | WithParameters = Standard_False, |
| const Standard_Boolean | myPolynomial = Standard_False |
||
| ) |
Builds the pipe defined at the time of initialization of this <br>
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 Standard_Real | Tol, |
| const Standard_Boolean | Polynomial, | ||
| const GeomAbs_Shape | Conti = GeomAbs_C1, |
||
| const Standard_Integer | MaxDegree = 11, |
||
| const Standard_Integer | NbMaxSegment = 30 |
||
| ) |
detects the particular cases. And compute 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 Handle_Geom_Surface& GeomFill_Pipe::Surface | ( | ) | const |
Returns the surface built by this algorithm. <br>
Warning
Do not use this function before the surface is built (in this
case the function will return a null handle).
1.8.5