Open CASCADE Technology 7.8.2.dev
BRepSweep_Trsf Class Referenceabstract

This class is inherited from NumLinearRegularSweep to implement the simple swept primitives built moving a Shape with a Trsf. It often is possible to build the constructed subshapes by a simple move of the generating subshapes (shared topology and geometry). So two ways of construction are proposed : More...

#include <BRepSweep_Trsf.hxx>

Inheritance diagram for BRepSweep_Trsf:

Public Member Functions

void Init ()
 ends the construction of the swept primitive calling the virtual geometric functions that can't be called in the initialize.
 
Standard_Boolean Process (const TopoDS_Shape &aGenS, const Sweep_NumShape &aDirV)
 function called to analyze the way of construction of the shapes generated by aGenS and aDirV.
 
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 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 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 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 the geometry of aGenS is not modified by the trsf of the BRepSweep Trsf.
 
void SetContinuity (const TopoDS_Shape &aGenS, const Sweep_NumShape &aDirS)
 Called to propagate the continuity of every vertex between two edges of the generating wire aGenS on the generated edge and faces.
 
- Public Member Functions inherited from BRepSweep_NumLinearRegularSweep
virtual ~BRepSweep_NumLinearRegularSweep ()
 
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 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.
 
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_Trsf (const BRep_Builder &aBuilder, const TopoDS_Shape &aGenShape, const Sweep_NumShape &aDirWire, const TopLoc_Location &aLocation, const Standard_Boolean aCopy)
 Initialize the Trsf BrepSweep, if aCopy is true the basis elements are shared as often as possible, else everything is copied.
 
- Protected Member Functions inherited from BRepSweep_NumLinearRegularSweep
 BRepSweep_NumLinearRegularSweep (const BRepSweep_Builder &aBuilder, const TopoDS_Shape &aGenShape, const Sweep_NumShape &aDirWire)
 Creates a NumLinearRegularSweep. <aBuilder> gives basic topological services.
 

Protected Attributes

TopLoc_Location myLocation
 
Standard_Boolean myCopy
 
- Protected Attributes inherited from BRepSweep_NumLinearRegularSweep
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 class is inherited from NumLinearRegularSweep to implement the simple swept primitives built moving a Shape with a Trsf. It often is possible to build the constructed subshapes by a simple move of the generating subshapes (shared topology and geometry). So two ways of construction are proposed :

  • sharing basis elements (the generatrice can be modified , for example PCurves can be added on faces);
  • copying everything.

Constructor & Destructor Documentation

◆ BRepSweep_Trsf()

BRepSweep_Trsf::BRepSweep_Trsf ( const BRep_Builder & aBuilder,
const TopoDS_Shape & aGenShape,
const Sweep_NumShape & aDirWire,
const TopLoc_Location & aLocation,
const Standard_Boolean aCopy )
protected

Initialize the Trsf BrepSweep, if aCopy is true the basis elements are shared as often as possible, else everything is copied.

Member Function Documentation

◆ GDDShapeIsToAdd()

virtual Standard_Boolean BRepSweep_Trsf::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).

Implements BRepSweep_NumLinearRegularSweep.

Implemented in BRepSweep_Rotation, and BRepSweep_Translation.

◆ GGDShapeIsToAdd()

virtual Standard_Boolean BRepSweep_Trsf::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).

Implements BRepSweep_NumLinearRegularSweep.

Implemented in BRepSweep_Rotation, and BRepSweep_Translation.

◆ HasShape()

virtual Standard_Boolean BRepSweep_Trsf::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.

Implements BRepSweep_NumLinearRegularSweep.

Implemented in BRepSweep_Rotation, and BRepSweep_Translation.

◆ Init()

void BRepSweep_Trsf::Init ( )

ends the construction of the swept primitive calling the virtual geometric functions that can't be called in the initialize.

◆ IsInvariant()

virtual Standard_Boolean BRepSweep_Trsf::IsInvariant ( const TopoDS_Shape & aGenS) const
pure virtual

Returns true if the geometry of aGenS is not modified by the trsf of the BRepSweep Trsf.

Implements BRepSweep_NumLinearRegularSweep.

Implemented in BRepSweep_Rotation, and BRepSweep_Translation.

◆ MakeEmptyDirectingEdge()

virtual TopoDS_Shape BRepSweep_Trsf::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.

Implements BRepSweep_NumLinearRegularSweep.

Implemented in BRepSweep_Rotation, and BRepSweep_Translation.

◆ MakeEmptyFace()

virtual TopoDS_Shape BRepSweep_Trsf::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".

Implements BRepSweep_NumLinearRegularSweep.

Implemented in BRepSweep_Rotation, and BRepSweep_Translation.

◆ MakeEmptyGeneratingEdge()

virtual TopoDS_Shape BRepSweep_Trsf::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.

Implements BRepSweep_NumLinearRegularSweep.

Implemented in BRepSweep_Rotation, and BRepSweep_Translation.

◆ MakeEmptyVertex()

virtual TopoDS_Shape BRepSweep_Trsf::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.

Implements BRepSweep_NumLinearRegularSweep.

Implemented in BRepSweep_Rotation, and BRepSweep_Translation.

◆ Process()

Standard_Boolean BRepSweep_Trsf::Process ( const TopoDS_Shape & aGenS,
const Sweep_NumShape & aDirV )

function called to analyze the way of construction of the shapes generated by aGenS and aDirV.

◆ SeparatedWires()

virtual Standard_Boolean BRepSweep_Trsf::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.

Implements BRepSweep_NumLinearRegularSweep.

Implemented in BRepSweep_Rotation, and BRepSweep_Translation.

◆ SetContinuity()

void BRepSweep_Trsf::SetContinuity ( const TopoDS_Shape & aGenS,
const Sweep_NumShape & aDirS )
virtual

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

Implements BRepSweep_NumLinearRegularSweep.

◆ SetDirectingParameter()

virtual void BRepSweep_Trsf::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.

Implements BRepSweep_NumLinearRegularSweep.

Implemented in BRepSweep_Rotation, and BRepSweep_Translation.

◆ SetDirectingPCurve()

virtual void BRepSweep_Trsf::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.

Implements BRepSweep_NumLinearRegularSweep.

Implemented in BRepSweep_Rotation, and BRepSweep_Translation.

◆ SetGeneratingParameter()

virtual void BRepSweep_Trsf::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 .

Implements BRepSweep_NumLinearRegularSweep.

Implemented in BRepSweep_Rotation, and BRepSweep_Translation.

◆ SetGeneratingPCurve()

virtual void BRepSweep_Trsf::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.

Implements BRepSweep_NumLinearRegularSweep.

Implemented in BRepSweep_Rotation, and BRepSweep_Translation.

◆ SetParameters()

virtual void BRepSweep_Trsf::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 .

Implements BRepSweep_NumLinearRegularSweep.

Implemented in BRepSweep_Rotation, and BRepSweep_Translation.

◆ SetPCurve()

virtual void BRepSweep_Trsf::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.

Implements BRepSweep_NumLinearRegularSweep.

Implemented in BRepSweep_Rotation, and BRepSweep_Translation.

Field Documentation

◆ myCopy

Standard_Boolean BRepSweep_Trsf::myCopy
protected

◆ myLocation

TopLoc_Location BRepSweep_Trsf::myLocation
protected

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