|
Open CASCADE Technology
6.7.1
|
This class provides for a framework to construct a shell
or a solid along a spine consisting in a wire.
To produce a solid, the initial wire must be closed.
Two approaches are used:
More...
#include <BRepOffsetAPI_MakePipeShell.hxx>

Public Member Functions | |
| BRepOffsetAPI_MakePipeShell (const TopoDS_Wire &Spine) | |
| Constructs the shell-generating framework defined by the wire Spine. //! Sets an sweep's mode If no mode are setted, the mode use in MakePipe is used More... | |
| void | SetMode (const Standard_Boolean IsFrenet=Standard_False) |
| Sets a Frenet or a CorrectedFrenet trihedron to perform the sweeping If IsFrenet is false, a corrected Frenet trihedron is used. More... | |
| void | SetDiscreteMode () |
| Sets a Discrete trihedron to perform the sweeping More... | |
| void | SetMode (const gp_Ax2 &Axe) |
| Sets a fixed trihedron to perform the sweeping all sections will be parallel. More... | |
| void | SetMode (const gp_Dir &BiNormal) |
| Sets a fixed BiNormal direction to perform the – sweeping. Angular relations beetween the section(s) and <BiNormal> will be constant More... | |
| Standard_Boolean | SetMode (const TopoDS_Shape &SpineSupport) |
Sets support to the spine to define the BiNormal of <br>
the trihedron, like the normal to the surfaces. <br>
Warning: To be effective, Each edge of the <spine> must | |
| void | SetMode (const TopoDS_Wire &AuxiliarySpine, const Standard_Boolean CurvilinearEquivalence, const BRepFill_TypeOfContact KeepContact=BRepFill_NoContact) |
Sets an auxiliary spine to define the Normal <br> For each Point of the Spine P, an Point Q is evalued | |
| void | Add (const TopoDS_Shape &Profile, const Standard_Boolean WithContact=Standard_False, const Standard_Boolean WithCorrection=Standard_False) |
Adds the section Profile to this framework. First and last <br> sections may be punctual, so the shape Profile may be | |
| void | Add (const TopoDS_Shape &Profile, const TopoDS_Vertex &Location, const Standard_Boolean WithContact=Standard_False, const Standard_Boolean WithCorrection=Standard_False) |
Adds the section Profile to this framework. <br> Correspondent point on the spine is given by Location. | |
| void | SetLaw (const TopoDS_Shape &Profile, const Handle< Law_Function > &L, const Standard_Boolean WithContact=Standard_False, const Standard_Boolean WithCorrection=Standard_False) |
Sets the evolution law defined by the wire Profile with <br> its position (Location, WithContact, WithCorrection | |
| 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) |
Sets the evolution law defined by the wire Profile with <br> its position (Location, WithContact, WithCorrection | |
| void | Delete (const TopoDS_Shape &Profile) |
| Removes the section Profile from this framework. More... | |
| Standard_Boolean | IsReady () const |
Returns true if this tool object is ready to build the <br> shape, i.e. has a definition for the wire section Profile. | |
| BRepBuilderAPI_PipeError | GetStatus () const |
| Get a status, when Simulate or Build failed. It can be BRepBuilderAPI_PipeDone, BRepBuilderAPI_PipeNotDone, BRepBuilderAPI_PlaneNotIntersectGuide, BRepBuilderAPI_ImpossibleContact. More... | |
| void | SetTolerance (const Standard_Real Tol3d=1.0e-4, const Standard_Real BoundTol=1.0e-4, const Standard_Real TolAngular=1.0e-2) |
| Sets the following tolerance values More... | |
| void | SetForceApproxC1 (const Standard_Boolean ForceApproxC1) |
| Set the flag that indicates attempt to approximate a C1-continuous surface if a swept surface proved to be C0. More... | |
| void | SetTransitionMode (const BRepBuilderAPI_TransitionMode Mode=BRepBuilderAPI_Transformed) |
Sets the transition mode to manage discontinuities on <br> the swept shape caused by fractures on the spine. The | |
| void | Simulate (const Standard_Integer NumberOfSection, TopTools_ListOfShape &Result) |
Simulates the resulting shape by calculating its <br> cross-sections. The spine is devided by this | |
| virtual void | Build () |
| Builds the resulting shape (redefined from MakeShape). More... | |
| Standard_Boolean | MakeSolid () |
| Transforms the sweeping Shell in Solid. If a propfile is not closed returns False More... | |
| virtual TopoDS_Shape | FirstShape () |
| Returns the TopoDS Shape of the bottom of the sweep. More... | |
| virtual TopoDS_Shape | LastShape () |
| Returns the TopoDS Shape of the top of the sweep. More... | |
| virtual const TopTools_ListOfShape & | Generated (const TopoDS_Shape &S) |
Returns a list of new shapes generated from the shape <br> S by the shell-generating algorithm. | |
Public Member Functions inherited from BRepBuilderAPI_MakeShape | |
| virtual void | Delete () |
| virtual | ~BRepBuilderAPI_MakeShape () |
| const TopoDS_Shape & | Shape () const |
Returns a shape built by the shape construction algorithm. <br> Raises exception StdFail_NotDone if the shape was not built. | |
| operator TopoDS_Shape () const | |
| virtual const TopTools_ListOfShape & | Modified (const TopoDS_Shape &S) |
| Returns the list of shapes modified from the shape <S>. More... | |
| virtual Standard_Boolean | IsDeleted (const TopoDS_Shape &S) |
| Returns true if the shape S has been deleted. More... | |
Public Member Functions inherited from BRepBuilderAPI_Command | |
| virtual | ~BRepBuilderAPI_Command () |
| virtual Standard_Boolean | IsDone () const |
| void | Check () const |
| Raises NotDone if done is false. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from BRepBuilderAPI_MakeShape | |
| BRepBuilderAPI_MakeShape () | |
Protected Member Functions inherited from BRepBuilderAPI_Command | |
| BRepBuilderAPI_Command () | |
| Set done to False. More... | |
| void | Done () |
| Set done to true. More... | |
| void | NotDone () |
| Set done to false. More... | |
Protected Attributes inherited from BRepBuilderAPI_MakeShape | |
| TopoDS_Shape | myShape |
| TopTools_ListOfShape | myGenerated |
This class provides for a framework to construct a shell
or a solid along a spine consisting in a wire.
To produce a solid, the initial wire must be closed.
Two approaches are used:
constant
| BRepOffsetAPI_MakePipeShell::BRepOffsetAPI_MakePipeShell | ( | const TopoDS_Wire & | Spine | ) |
Constructs the shell-generating framework defined by the wire Spine.
//! Sets an sweep's mode
If no mode are setted, the mode use in MakePipe is used
| void BRepOffsetAPI_MakePipeShell::Add | ( | const TopoDS_Shape & | Profile, |
| const Standard_Boolean | WithContact = Standard_False, |
||
| const Standard_Boolean | WithCorrection = Standard_False |
||
| ) |
Adds the section Profile to this framework. First and last <br>
sections may be punctual, so the shape Profile may be
both wire and vertex. Correspondent point on spine is
computed automatically.
If WithContact is true, the section is translated to be in
contact with the spine.
If WithCorrection is true, the section is rotated to be
orthogonal to the spine?s tangent in the correspondent
point. This option has no sense if the section is punctual
(Profile is of type TopoDS_Vertex).
| void BRepOffsetAPI_MakePipeShell::Add | ( | const TopoDS_Shape & | Profile, |
| const TopoDS_Vertex & | Location, | ||
| const Standard_Boolean | WithContact = Standard_False, |
||
| const Standard_Boolean | WithCorrection = Standard_False |
||
| ) |
Adds the section Profile to this framework. <br>
Correspondent point on the spine is given by Location.
Warning:
To be effective, it is not recommended to combine methods Add and SetLaw.
|
virtual |
Builds the resulting shape (redefined from MakeShape).
Reimplemented from BRepBuilderAPI_MakeShape.
| void BRepOffsetAPI_MakePipeShell::Delete | ( | const TopoDS_Shape & | Profile | ) |
Removes the section Profile from this framework.
|
virtual |
Returns the TopoDS Shape of the bottom of the sweep.
Implements BRepPrimAPI_MakeSweep.
|
virtual |
Returns a list of new shapes generated from the shape <br>
S by the shell-generating algorithm.
This function is redefined from BRepOffsetAPI_MakeShape::Generated.
S can be an edge of the given Spine (see Constructor),
it can be an edge or a boundary vertex of a shape
returned by the method FirstShape(), it can also be a
Profile (see method Add()) closest to the beginning or
the end of the Spine.
If S is an edge of the given Spine, then method
Generated() returns a list of generated faces and a list
of edges from a free boundary (if it exists) of the
resulting shell.
If S is an edge of the start shape (see FirstShape()),
method Generated() returns a list of faces generated
along the whole spine from the given edge.
If S is a boundary vertex of the start shape (see
FirstShape()), method Generated() returns a list of
edges from the free boundary of the resulting shell,
generated along the whole spine.
If S is a Profile closest to the beginning of the Spine,
method Generated() returns the start shape, that can
also be obtained by method FirstShape().
If S is a Profile closest to the end of the Spine, method
Generated() returns the end shape, that can also be
obtained by method LastShape().
Reimplemented from BRepBuilderAPI_MakeShape.
| BRepBuilderAPI_PipeError BRepOffsetAPI_MakePipeShell::GetStatus | ( | ) | const |
Get a status, when Simulate or Build failed. It can be
BRepBuilderAPI_PipeDone,
BRepBuilderAPI_PipeNotDone,
BRepBuilderAPI_PlaneNotIntersectGuide,
BRepBuilderAPI_ImpossibleContact.
| Standard_Boolean BRepOffsetAPI_MakePipeShell::IsReady | ( | ) | const |
Returns true if this tool object is ready to build the <br>
shape, i.e. has a definition for the wire section Profile.
|
virtual |
Returns the TopoDS Shape of the top of the sweep.
Implements BRepPrimAPI_MakeSweep.
| Standard_Boolean BRepOffsetAPI_MakePipeShell::MakeSolid | ( | ) |
Transforms the sweeping Shell in Solid.
If a propfile is not closed returns False
| void BRepOffsetAPI_MakePipeShell::SetDiscreteMode | ( | ) |
Sets a Discrete trihedron
to perform the sweeping
| void BRepOffsetAPI_MakePipeShell::SetForceApproxC1 | ( | const Standard_Boolean | ForceApproxC1 | ) |
Set the flag that indicates attempt to approximate
a C1-continuous surface if a swept surface proved
to be C0.
| void BRepOffsetAPI_MakePipeShell::SetLaw | ( | const TopoDS_Shape & | Profile, |
| const Handle< Law_Function > & | L, | ||
| const Standard_Boolean | WithContact = Standard_False, |
||
| const Standard_Boolean | WithCorrection = Standard_False |
||
| ) |
Sets the evolution law defined by the wire Profile with <br>
its position (Location, WithContact, WithCorrection
are the same options as in methods Add) and a
homotetic law defined by the function L.
Warning:
To be effective, it is not recommended to combine methods Add and SetLaw.
| void BRepOffsetAPI_MakePipeShell::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 |
||
| ) |
Sets the evolution law defined by the wire Profile with <br>
its position (Location, WithContact, WithCorrection
are the same options as in methods Add) and a
homotetic law defined by the function L.
Warning:
To be effective, it is not recommended to combine methods Add and SetLaw.
| void BRepOffsetAPI_MakePipeShell::SetMode | ( | const Standard_Boolean | IsFrenet = Standard_False | ) |
Sets a Frenet or a CorrectedFrenet trihedron
to perform the sweeping
If IsFrenet is false, a corrected Frenet trihedron is used.
| void BRepOffsetAPI_MakePipeShell::SetMode | ( | const gp_Ax2 & | Axe | ) |
Sets a fixed trihedron to perform the sweeping
all sections will be parallel.
| void BRepOffsetAPI_MakePipeShell::SetMode | ( | const gp_Dir & | BiNormal | ) |
Sets a fixed BiNormal direction to perform the –
sweeping. Angular relations beetween the
section(s) and <BiNormal> will be constant
| Standard_Boolean BRepOffsetAPI_MakePipeShell::SetMode | ( | const TopoDS_Shape & | SpineSupport | ) |
Sets support to the spine to define the BiNormal of <br>
the trihedron, like the normal to the surfaces. <br>
Warning: To be effective, Each edge of the <spine> must
have an representaion on one face of<SpineSupport>
| void BRepOffsetAPI_MakePipeShell::SetMode | ( | const TopoDS_Wire & | AuxiliarySpine, |
| const Standard_Boolean | CurvilinearEquivalence, | ||
| const BRepFill_TypeOfContact | KeepContact = BRepFill_NoContact |
||
| ) |
Sets an auxiliary spine to define the Normal <br>
For each Point of the Spine P, an Point Q is evalued
on <AuxiliarySpine>
If <CurvilinearEquivalence>
Q split <AuxiliarySpine> with the same length ratio
than P split <Spline>.
Else the plan define by P and the tangent to the <Spine>
intersect <AuxiliarySpine> in Q.
If <KeepContact> equals BRepFill_NoContact: The Normal is defined
by the vector PQ.
If <KeepContact> equals BRepFill_Contact: The Normal is defined to
achieve that the sweeped section is in contact to the
auxiliarySpine. The width of section is constant all along the path.
In other words, the auxiliary spine lies on the swept surface,
but not necessarily is a boundary of this surface. However,
the auxiliary spine has to be close enough to the main spine
to provide intersection with any section all along the path.
If <KeepContact> equals BRepFill_ContactOnBorder: The auxiliary spine
becomes a boundary of the swept surface and the width of section varies
along the path.
//! Give section to sweep.
Possibilities are :
| void BRepOffsetAPI_MakePipeShell::SetTolerance | ( | const Standard_Real | Tol3d = 1.0e-4, |
| const Standard_Real | BoundTol = 1.0e-4, |
||
| const Standard_Real | TolAngular = 1.0e-2 |
||
| ) |
Sets the following tolerance values
| void BRepOffsetAPI_MakePipeShell::SetTransitionMode | ( | const BRepBuilderAPI_TransitionMode | Mode = BRepBuilderAPI_Transformed | ) |
Sets the transition mode to manage discontinuities on <br>
the swept shape caused by fractures on the spine. The
transition mode can be BRepBuilderAPI_Transformed
(default value), BRepBuilderAPI_RightCorner,
BRepBuilderAPI_RoundCorner:
- RepBuilderAPI_Transformed: <br>
discontinuities are treated by <br>
modification of the sweeping mode. The <br>
pipe is "transformed" at the fractures of <br>
the spine. This mode assumes building a <br>
self-intersected shell. <br>
| void BRepOffsetAPI_MakePipeShell::Simulate | ( | const Standard_Integer | NumberOfSection, |
| TopTools_ListOfShape & | Result | ||
| ) |
Simulates the resulting shape by calculating its <br>
cross-sections. The spine is devided by this
cross-sections into (NumberOfSection - 1) equal
parts, the number of cross-sections is
NumberOfSection. The cross-sections are wires and
they are returned in the list Result.
This gives a rapid preview of the resulting shape,
which will be obtained using the settings you have provided.
Raises NotDone if <me> it is not Ready
1.8.5