Open CASCADE Technology
7.7.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. 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 (<FirstSection>) and a path (<Path>) Option can be  GeomFill_IsCorrectedFrenet. More...  
GeomFill_Pipe (const Handle< Geom2d_Curve > &Path, const Handle< Geom_Surface > &Support, const Handle< Geom_Curve > &FirstSect)  
Create a pipe with a constant section (<FirstSection>) and a path defined by <Path> and <Support> More...  
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 evaluate 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 evaluate 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 guideline. More...  
GeomFill_Pipe (const Handle< Adaptor3d_Curve > &Path, const Handle< Adaptor3d_Curve > &Curve1, const Handle< Adaptor3d_Curve > &Curve2, const Standard_Real Radius)  
Create a pipe with a constant radius with 2 guideline. More...  
GeomFill_Pipe (const Handle< Geom_Curve > &Path, const Handle< Adaptor3d_Curve > &Guide, const Handle< Geom_Curve > &FirstSect, const Standard_Boolean ByACR, const Standard_Boolean rotat)  
Create a pipe with a constant section and with 1 guideline. 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: More...  
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_Curve > &Path, const Handle< Adaptor3d_Curve > &Curve1, const Handle< Adaptor3d_Curve > &Curve2, const Standard_Real Radius) 
Create a pipe with a constant radius with 2 guideline. More...  
void  Init (const Handle< Geom_Curve > &Path, const Handle< Adaptor3d_Curve > &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 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. More...  
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. Warning Do not use this function before the surface is built (in this case the function will return a null handle). More...  
Standard_Boolean  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. More...  
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...  
Standard_Boolean  IsDone () const 
Returns whether approximation was done. More...  
GeomFill_PipeError  GetStatus () const 
Returns execution status. 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:
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:
UDirection along the section. VDirection 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 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 (<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 (<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 evaluate 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 evaluate 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 guideline.
GeomFill_Pipe::GeomFill_Pipe  (  const Handle< Adaptor3d_Curve > &  Path, 
const Handle< Adaptor3d_Curve > &  Curve1,  
const Handle< Adaptor3d_Curve > &  Curve2,  
const Standard_Real  Radius  
) 
Create a pipe with a constant radius with 2 guideline.
GeomFill_Pipe::GeomFill_Pipe  (  const Handle< Geom_Curve > &  Path, 
const Handle< Adaptor3d_Curve > &  Guide,  
const Handle< Geom_Curve > &  FirstSect,  
const Standard_Boolean  ByACR,  
const Standard_Boolean  rotat  
) 
Create a pipe with a constant section and with 1 guideline. 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:
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 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.
Standard_Boolean GeomFill_Pipe::GenerateParticularCase  (  )  const 
Returns the flag.
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>.

inline 
Returns execution status.
void GeomFill_Pipe::Init  (  const Handle< Adaptor3d_Curve > &  Path, 
const Handle< Adaptor3d_Curve > &  Curve1,  
const Handle< Adaptor3d_Curve > &  Curve2,  
const Standard_Real  Radius  
) 
Create a pipe with a constant radius with 2 guideline.
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< Adaptor3d_Curve > &  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::Init  (  const Handle< Geom_Curve > &  Path, 
const Handle< Geom_Curve > &  FirstSect,  
const GeomFill_Trihedron  Option = GeomFill_IsCorrectedFrenet 

) 
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 Standard_Real  Radius  
) 
void GeomFill_Pipe::Init  (  const Handle< Geom_Curve > &  Path, 
const TColGeom_SequenceOfCurve &  NSections  
) 
Standard_Boolean GeomFill_Pipe::IsDone  (  )  const 
Returns whether approximation was done.
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 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. Warning Do not use this function before the surface is built (in this case the function will return a null handle).