Open CASCADE Technology 7.8.0
Public Member Functions | Protected Member Functions | Protected Attributes
BRepSweep_NumLinearRegularSweep Class Referenceabstract

This a generic class is used to build Sweept primitives with a generating "shape" and a directing "line". More...

#include <BRepSweep_NumLinearRegularSweep.hxx>

Inheritance diagram for BRepSweep_NumLinearRegularSweep:
Inheritance graph
[legend]

Public Member Functions

virtual TopoDS_Shape MakeEmptyVertex (const TopoDS_Shape &aGenV, const Sweep_NumShape &aDirV)=0
 Builds the vertex addressed by [aGenV,aDirV], with its geometric part, but without subcomponents.
 
virtual ~BRepSweep_NumLinearRegularSweep ()
 
virtual TopoDS_Shape MakeEmptyDirectingEdge (const TopoDS_Shape &aGenV, const Sweep_NumShape &aDirE)=0
 Builds the edge addressed by [aGenV,aDirE], with its geometric part, but without subcomponents.
 
virtual TopoDS_Shape MakeEmptyGeneratingEdge (const TopoDS_Shape &aGenE, const Sweep_NumShape &aDirV)=0
 Builds the edge addressed by [aGenE,aDirV], with its geometric part, but without subcomponents.
 
virtual void SetParameters (const TopoDS_Shape &aNewFace, TopoDS_Shape &aNewVertex, const TopoDS_Shape &aGenF, const TopoDS_Shape &aGenV, const Sweep_NumShape &aDirV)=0
 Sets the parameters of the new vertex on the new face. The new face and new vertex where generated from aGenF, aGenV and aDirV .
 
virtual void SetDirectingParameter (const TopoDS_Shape &aNewEdge, TopoDS_Shape &aNewVertex, const TopoDS_Shape &aGenV, const Sweep_NumShape &aDirE, const Sweep_NumShape &aDirV)=0
 Sets the parameter of the new vertex on the new edge. The new edge and new vertex where generated from aGenV aDirE, and aDirV.
 
virtual void SetGeneratingParameter (const TopoDS_Shape &aNewEdge, TopoDS_Shape &aNewVertex, const TopoDS_Shape &aGenE, const TopoDS_Shape &aGenV, const Sweep_NumShape &aDirV)=0
 Sets the parameter of the new vertex on the new edge. The new edge and new vertex where generated from aGenE, aGenV and aDirV .
 
virtual TopoDS_Shape MakeEmptyFace (const TopoDS_Shape &aGenS, const Sweep_NumShape &aDirS)=0
 Builds the face addressed by [aGenS,aDirS], with its geometric part, but without subcomponents. The couple aGenS, aDirS can be a "generating face and a directing vertex" or "a generating edge and a directing edge".
 
virtual void SetPCurve (const TopoDS_Shape &aNewFace, TopoDS_Shape &aNewEdge, const TopoDS_Shape &aGenF, const TopoDS_Shape &aGenE, const Sweep_NumShape &aDirV, const TopAbs_Orientation orien)=0
 Sets the PCurve for a new edge on a new face. The new edge and the new face were generated using aGenF, aGenE and aDirV.
 
virtual void SetGeneratingPCurve (const TopoDS_Shape &aNewFace, TopoDS_Shape &aNewEdge, const TopoDS_Shape &aGenE, const Sweep_NumShape &aDirE, const Sweep_NumShape &aDirV, const TopAbs_Orientation orien)=0
 Sets the PCurve for a new edge on a new face. The new edge and the new face were generated using aGenE, aDirE and aDirV.
 
virtual void SetDirectingPCurve (const TopoDS_Shape &aNewFace, TopoDS_Shape &aNewEdge, const TopoDS_Shape &aGenE, const TopoDS_Shape &aGenV, const Sweep_NumShape &aDirE, const TopAbs_Orientation orien)=0
 Sets the PCurve for a new edge on a new face. The new edge and the new face were generated using aGenE, aDirE and aGenV.
 
virtual TopAbs_Orientation DirectSolid (const TopoDS_Shape &aGenS, const Sweep_NumShape &aDirS)=0
 Returns the Orientation of the shell in the solid generated by the face aGenS with the edge aDirS. It is REVERSED if the surface is swept in the direction of the normal.
 
virtual Standard_Boolean GGDShapeIsToAdd (const TopoDS_Shape &aNewShape, const TopoDS_Shape &aNewSubShape, const TopoDS_Shape &aGenS, const TopoDS_Shape &aSubGenS, const Sweep_NumShape &aDirS) const =0
 Returns true if aNewSubShape (addressed by aSubGenS and aDirS) must be added in aNewShape (addressed by aGenS and aDirS).
 
virtual Standard_Boolean GDDShapeIsToAdd (const TopoDS_Shape &aNewShape, const TopoDS_Shape &aNewSubShape, const TopoDS_Shape &aGenS, const Sweep_NumShape &aDirS, const Sweep_NumShape &aSubDirS) const =0
 Returns true if aNewSubShape (addressed by aGenS and aSubDirS) must be added in aNewShape (addressed by aGenS and aDirS).
 
virtual Standard_Boolean SeparatedWires (const TopoDS_Shape &aNewShape, const TopoDS_Shape &aNewSubShape, const TopoDS_Shape &aGenS, const TopoDS_Shape &aSubGenS, const Sweep_NumShape &aDirS) const =0
 In some particular cases the topology of a generated face must be composed of independent closed wires, in this case this function returns true.
 
virtual TopoDS_Shape SplitShell (const TopoDS_Shape &aNewShape) const
 In some particular cases the topology of a generated Shell must be composed of independent closed Shells, in this case this function returns a Compound of independent Shells.
 
virtual void SetContinuity (const TopoDS_Shape &aGenS, const Sweep_NumShape &aDirS)=0
 Called to propagate the continuity of every vertex between two edges of the generating wire aGenS on the generated edge and faces.
 
virtual Standard_Boolean HasShape (const TopoDS_Shape &aGenS, const Sweep_NumShape &aDirS) const =0
 Returns true if aDirS and aGenS addresses a resulting Shape. In some specific cases the shape can be geometrically inexsistant, then this function returns false.
 
virtual Standard_Boolean IsInvariant (const TopoDS_Shape &aGenS) const =0
 Returns true if aGenS cannot be transformed.
 
TopoDS_Shape Shape (const TopoDS_Shape &aGenS, const Sweep_NumShape &aDirS)
 Returns the resulting Shape indexed by aDirS and aGenS.
 
TopoDS_Shape Shape (const TopoDS_Shape &aGenS)
 Returns the resulting Shape indexed by myDirWire and aGenS.
 
Standard_Boolean IsUsed (const TopoDS_Shape &aGenS) const
 Returns true if the initial shape aGenS
is used in result shape.
 
Standard_Boolean GenIsUsed (const TopoDS_Shape &theS) const
 Returns true if the shape, generated from theS is used in result shape.
 
TopoDS_Shape Shape ()
 Returns the resulting Shape indexed by myDirWire and myGenShape.
 
TopoDS_Shape FirstShape ()
 Returns the resulting Shape indexed by the first Vertex of myDirWire and myGenShape.
 
TopoDS_Shape LastShape ()
 Returns the resulting Shape indexed by the last Vertex of myDirWire and myGenShape.
 
TopoDS_Shape FirstShape (const TopoDS_Shape &aGenS)
 Returns the resulting Shape indexed by the first Vertex of myDirWire and aGenS.
 
TopoDS_Shape LastShape (const TopoDS_Shape &aGenS)
 Returns the resulting Shape indexed by the last Vertex of myDirWire and aGenS.
 
Standard_Boolean Closed () const
 

Protected Member Functions

 BRepSweep_NumLinearRegularSweep (const BRepSweep_Builder &aBuilder, const TopoDS_Shape &aGenShape, const Sweep_NumShape &aDirWire)
 Creates a NumLinearRegularSweep. <aBuilder> gives basic topological services.
 

Protected Attributes

BRepSweep_Builder myBuilder
 
TopoDS_Shape myGenShape
 
Sweep_NumShape myDirWire
 
BRepSweep_Tool myGenShapeTool
 
Sweep_NumShapeTool myDirShapeTool
 
TopTools_Array2OfShape myShapes
 
TColStd_Array2OfBoolean myBuiltShapes
 
TColStd_Array2OfBoolean myUsedShapes
 

Detailed Description

This a generic class is used to build Sweept primitives with a generating "shape" and a directing "line".

The indexation and type analysis services required for the generatrix are given by <Tool from BRepSweep>.

The indexation and type analysis services required for the directrix are given by <NumShapeTool from Sweep>.

The iteration services required for the generatrix are given by <Iterator from BRepSweep>.

The iteration services required for the directrix are given by <NumShapeIterator from Sweep>.

The topology is like a grid of shapes. Each shape of the grid must be addressable without confusion by one or two objects from the generating or directing shapes. Here are examples of correct associations to address:

"GenObject" is used to identify an object from the Generating Shape, and "DirObject" from the Directing Shape. So may they be from different types.

The method Has... is given because in some special cases, a vertex, an edge or a face may be geometricaly nonexistant or not useful.

Constructor & Destructor Documentation

◆ ~BRepSweep_NumLinearRegularSweep()

virtual BRepSweep_NumLinearRegularSweep::~BRepSweep_NumLinearRegularSweep ( )
virtual

◆ BRepSweep_NumLinearRegularSweep()

BRepSweep_NumLinearRegularSweep::BRepSweep_NumLinearRegularSweep ( const BRepSweep_Builder aBuilder,
const TopoDS_Shape aGenShape,
const Sweep_NumShape aDirWire 
)
protected

Creates a NumLinearRegularSweep. <aBuilder> gives basic topological services.

Member Function Documentation

◆ Closed()

Standard_Boolean BRepSweep_NumLinearRegularSweep::Closed ( ) const

◆ DirectSolid()

virtual TopAbs_Orientation BRepSweep_NumLinearRegularSweep::DirectSolid ( const TopoDS_Shape aGenS,
const Sweep_NumShape aDirS 
)
pure virtual

Returns the Orientation of the shell in the solid generated by the face aGenS with the edge aDirS. It is REVERSED if the surface is swept in the direction of the normal.

Implemented in BRepSweep_Translation, and BRepSweep_Rotation.

◆ FirstShape() [1/2]

TopoDS_Shape BRepSweep_NumLinearRegularSweep::FirstShape ( )

Returns the resulting Shape indexed by the first Vertex of myDirWire and myGenShape.

◆ FirstShape() [2/2]

TopoDS_Shape BRepSweep_NumLinearRegularSweep::FirstShape ( const TopoDS_Shape aGenS)

Returns the resulting Shape indexed by the first Vertex of myDirWire and aGenS.

◆ GDDShapeIsToAdd()

virtual Standard_Boolean BRepSweep_NumLinearRegularSweep::GDDShapeIsToAdd ( const TopoDS_Shape aNewShape,
const TopoDS_Shape aNewSubShape,
const TopoDS_Shape aGenS,
const Sweep_NumShape aDirS,
const Sweep_NumShape aSubDirS 
) const
pure virtual

Returns true if aNewSubShape (addressed by aGenS and aSubDirS) must be added in aNewShape (addressed by aGenS and aDirS).

Implemented in BRepSweep_Translation, BRepSweep_Trsf, and BRepSweep_Rotation.

◆ GenIsUsed()

Standard_Boolean BRepSweep_NumLinearRegularSweep::GenIsUsed ( const TopoDS_Shape theS) const

Returns true if the shape, generated from theS is used in result shape.

◆ GGDShapeIsToAdd()

virtual Standard_Boolean BRepSweep_NumLinearRegularSweep::GGDShapeIsToAdd ( const TopoDS_Shape aNewShape,
const TopoDS_Shape aNewSubShape,
const TopoDS_Shape aGenS,
const TopoDS_Shape aSubGenS,
const Sweep_NumShape aDirS 
) const
pure virtual

Returns true if aNewSubShape (addressed by aSubGenS and aDirS) must be added in aNewShape (addressed by aGenS and aDirS).

Implemented in BRepSweep_Translation, BRepSweep_Trsf, and BRepSweep_Rotation.

◆ HasShape()

virtual Standard_Boolean BRepSweep_NumLinearRegularSweep::HasShape ( const TopoDS_Shape aGenS,
const Sweep_NumShape aDirS 
) const
pure virtual

Returns true if aDirS and aGenS addresses a resulting Shape. In some specific cases the shape can be geometrically inexsistant, then this function returns false.

Implemented in BRepSweep_Translation, BRepSweep_Trsf, and BRepSweep_Rotation.

◆ IsInvariant()

virtual Standard_Boolean BRepSweep_NumLinearRegularSweep::IsInvariant ( const TopoDS_Shape aGenS) const
pure virtual

Returns true if aGenS cannot be transformed.

Implemented in BRepSweep_Translation, BRepSweep_Trsf, and BRepSweep_Rotation.

◆ IsUsed()

Standard_Boolean BRepSweep_NumLinearRegularSweep::IsUsed ( const TopoDS_Shape aGenS) const

Returns true if the initial shape aGenS
is used in result shape.

◆ LastShape() [1/2]

TopoDS_Shape BRepSweep_NumLinearRegularSweep::LastShape ( )

Returns the resulting Shape indexed by the last Vertex of myDirWire and myGenShape.

◆ LastShape() [2/2]

TopoDS_Shape BRepSweep_NumLinearRegularSweep::LastShape ( const TopoDS_Shape aGenS)

Returns the resulting Shape indexed by the last Vertex of myDirWire and aGenS.

◆ MakeEmptyDirectingEdge()

virtual TopoDS_Shape BRepSweep_NumLinearRegularSweep::MakeEmptyDirectingEdge ( const TopoDS_Shape aGenV,
const Sweep_NumShape aDirE 
)
pure virtual

Builds the edge addressed by [aGenV,aDirE], with its geometric part, but without subcomponents.

Implemented in BRepSweep_Translation, BRepSweep_Rotation, and BRepSweep_Trsf.

◆ MakeEmptyFace()

virtual TopoDS_Shape BRepSweep_NumLinearRegularSweep::MakeEmptyFace ( const TopoDS_Shape aGenS,
const Sweep_NumShape aDirS 
)
pure virtual

Builds the face addressed by [aGenS,aDirS], with its geometric part, but without subcomponents. The couple aGenS, aDirS can be a "generating face and a directing vertex" or "a generating edge and a directing edge".

Implemented in BRepSweep_Translation, BRepSweep_Rotation, and BRepSweep_Trsf.

◆ MakeEmptyGeneratingEdge()

virtual TopoDS_Shape BRepSweep_NumLinearRegularSweep::MakeEmptyGeneratingEdge ( const TopoDS_Shape aGenE,
const Sweep_NumShape aDirV 
)
pure virtual

Builds the edge addressed by [aGenE,aDirV], with its geometric part, but without subcomponents.

Implemented in BRepSweep_Translation, BRepSweep_Rotation, and BRepSweep_Trsf.

◆ MakeEmptyVertex()

virtual TopoDS_Shape BRepSweep_NumLinearRegularSweep::MakeEmptyVertex ( const TopoDS_Shape aGenV,
const Sweep_NumShape aDirV 
)
pure virtual

Builds the vertex addressed by [aGenV,aDirV], with its geometric part, but without subcomponents.

Implemented in BRepSweep_Translation, BRepSweep_Rotation, and BRepSweep_Trsf.

◆ SeparatedWires()

virtual Standard_Boolean BRepSweep_NumLinearRegularSweep::SeparatedWires ( const TopoDS_Shape aNewShape,
const TopoDS_Shape aNewSubShape,
const TopoDS_Shape aGenS,
const TopoDS_Shape aSubGenS,
const Sweep_NumShape aDirS 
) const
pure virtual

In some particular cases the topology of a generated face must be composed of independent closed wires, in this case this function returns true.

Implemented in BRepSweep_Translation, BRepSweep_Trsf, and BRepSweep_Rotation.

◆ SetContinuity()

virtual void BRepSweep_NumLinearRegularSweep::SetContinuity ( const TopoDS_Shape aGenS,
const Sweep_NumShape aDirS 
)
pure virtual

Called to propagate the continuity of every vertex between two edges of the generating wire aGenS on the generated edge and faces.

Implemented in BRepSweep_Trsf.

◆ SetDirectingParameter()

virtual void BRepSweep_NumLinearRegularSweep::SetDirectingParameter ( const TopoDS_Shape aNewEdge,
TopoDS_Shape aNewVertex,
const TopoDS_Shape aGenV,
const Sweep_NumShape aDirE,
const Sweep_NumShape aDirV 
)
pure virtual

Sets the parameter of the new vertex on the new edge. The new edge and new vertex where generated from aGenV aDirE, and aDirV.

Implemented in BRepSweep_Translation, BRepSweep_Rotation, and BRepSweep_Trsf.

◆ SetDirectingPCurve()

virtual void BRepSweep_NumLinearRegularSweep::SetDirectingPCurve ( const TopoDS_Shape aNewFace,
TopoDS_Shape aNewEdge,
const TopoDS_Shape aGenE,
const TopoDS_Shape aGenV,
const Sweep_NumShape aDirE,
const TopAbs_Orientation  orien 
)
pure virtual

Sets the PCurve for a new edge on a new face. The new edge and the new face were generated using aGenE, aDirE and aGenV.

Implemented in BRepSweep_Translation, BRepSweep_Rotation, and BRepSweep_Trsf.

◆ SetGeneratingParameter()

virtual void BRepSweep_NumLinearRegularSweep::SetGeneratingParameter ( const TopoDS_Shape aNewEdge,
TopoDS_Shape aNewVertex,
const TopoDS_Shape aGenE,
const TopoDS_Shape aGenV,
const Sweep_NumShape aDirV 
)
pure virtual

Sets the parameter of the new vertex on the new edge. The new edge and new vertex where generated from aGenE, aGenV and aDirV .

Implemented in BRepSweep_Translation, BRepSweep_Rotation, and BRepSweep_Trsf.

◆ SetGeneratingPCurve()

virtual void BRepSweep_NumLinearRegularSweep::SetGeneratingPCurve ( const TopoDS_Shape aNewFace,
TopoDS_Shape aNewEdge,
const TopoDS_Shape aGenE,
const Sweep_NumShape aDirE,
const Sweep_NumShape aDirV,
const TopAbs_Orientation  orien 
)
pure virtual

Sets the PCurve for a new edge on a new face. The new edge and the new face were generated using aGenE, aDirE and aDirV.

Implemented in BRepSweep_Translation, BRepSweep_Rotation, and BRepSweep_Trsf.

◆ SetParameters()

virtual void BRepSweep_NumLinearRegularSweep::SetParameters ( const TopoDS_Shape aNewFace,
TopoDS_Shape aNewVertex,
const TopoDS_Shape aGenF,
const TopoDS_Shape aGenV,
const Sweep_NumShape aDirV 
)
pure virtual

Sets the parameters of the new vertex on the new face. The new face and new vertex where generated from aGenF, aGenV and aDirV .

Implemented in BRepSweep_Translation, BRepSweep_Rotation, and BRepSweep_Trsf.

◆ SetPCurve()

virtual void BRepSweep_NumLinearRegularSweep::SetPCurve ( const TopoDS_Shape aNewFace,
TopoDS_Shape aNewEdge,
const TopoDS_Shape aGenF,
const TopoDS_Shape aGenE,
const Sweep_NumShape aDirV,
const TopAbs_Orientation  orien 
)
pure virtual

Sets the PCurve for a new edge on a new face. The new edge and the new face were generated using aGenF, aGenE and aDirV.

Implemented in BRepSweep_Translation, BRepSweep_Rotation, and BRepSweep_Trsf.

◆ Shape() [1/3]

TopoDS_Shape BRepSweep_NumLinearRegularSweep::Shape ( )

Returns the resulting Shape indexed by myDirWire and myGenShape.

◆ Shape() [2/3]

TopoDS_Shape BRepSweep_NumLinearRegularSweep::Shape ( const TopoDS_Shape aGenS)

Returns the resulting Shape indexed by myDirWire and aGenS.

◆ Shape() [3/3]

TopoDS_Shape BRepSweep_NumLinearRegularSweep::Shape ( const TopoDS_Shape aGenS,
const Sweep_NumShape aDirS 
)

Returns the resulting Shape indexed by aDirS and aGenS.

◆ SplitShell()

virtual TopoDS_Shape BRepSweep_NumLinearRegularSweep::SplitShell ( const TopoDS_Shape aNewShape) const
virtual

In some particular cases the topology of a generated Shell must be composed of independent closed Shells, in this case this function returns a Compound of independent Shells.

Reimplemented in BRepSweep_Rotation.

Field Documentation

◆ myBuilder

BRepSweep_Builder BRepSweep_NumLinearRegularSweep::myBuilder
protected

◆ myBuiltShapes

TColStd_Array2OfBoolean BRepSweep_NumLinearRegularSweep::myBuiltShapes
protected

◆ myDirShapeTool

Sweep_NumShapeTool BRepSweep_NumLinearRegularSweep::myDirShapeTool
protected

◆ myDirWire

Sweep_NumShape BRepSweep_NumLinearRegularSweep::myDirWire
protected

◆ myGenShape

TopoDS_Shape BRepSweep_NumLinearRegularSweep::myGenShape
protected

◆ myGenShapeTool

BRepSweep_Tool BRepSweep_NumLinearRegularSweep::myGenShapeTool
protected

◆ myShapes

TopTools_Array2OfShape BRepSweep_NumLinearRegularSweep::myShapes
protected

◆ myUsedShapes

TColStd_Array2OfBoolean BRepSweep_NumLinearRegularSweep::myUsedShapes
protected

The documentation for this class was generated from the following file: