Open CASCADE Technology  7.3.0
Public Member Functions | Protected Member Functions | Protected Attributes
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:
Inheritance graph
[legend]

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. More...
 
Standard_Boolean Process (const TopoDS_Shape &aGenS, const Sweep_NumShape &aDirV)
 function called to analize the way of construction of the shapes generated by aGenS and aDirV. More...
 
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. More...
 
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. More...
 
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. More...
 
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 . More...
 
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. More...
 
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 . More...
 
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". More...
 
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. More...
 
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. More...
 
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. More...
 
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). More...
 
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). More...
 
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 independant closed wires, in this case this function returns true. More...
 
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. More...
 
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. More...
 
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. More...
 
- 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. More...
 
virtual TopoDS_Shape SplitShell (const TopoDS_Shape &aNewShape) const
 In some particular cases the topology of a generated Shell must be composed of independant closed Shells, in this case this function returns a Compound of independant Shells. More...
 
TopoDS_Shape Shape (const TopoDS_Shape &aGenS, const Sweep_NumShape &aDirS)
 Returns the resulting Shape indexed by aDirS and aGenS. More...
 
TopoDS_Shape Shape (const TopoDS_Shape &aGenS)
 Returns the resulting Shape indexed by myDirWire and aGenS. More...
 
TopoDS_Shape Shape ()
 Returns the resulting Shape indexed by myDirWire and myGenShape. More...
 
TopoDS_Shape FirstShape ()
 Returns the resulting Shape indexed by the first Vertex of myDirWire and myGenShape. More...
 
TopoDS_Shape LastShape ()
 Returns the resulting Shape indexed by the last Vertex of myDirWire and myGenShape. More...
 
TopoDS_Shape FirstShape (const TopoDS_Shape &aGenS)
 Returns the resulting Shape indexed by the first Vertex of myDirWire and aGenS. More...
 
TopoDS_Shape LastShape (const TopoDS_Shape &aGenS)
 Returns the resulting Shape indexed by the last Vertex of myDirWire and aGenS. More...
 
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. More...
 
- 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. More...
 

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
 

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 :

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_Translation, and BRepSweep_Rotation.

◆ 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_Translation, and BRepSweep_Rotation.

◆ 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.

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_Translation, and BRepSweep_Rotation.

◆ 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_Translation, and BRepSweep_Rotation.

◆ 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_Translation, and BRepSweep_Rotation.

◆ 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_Translation, and BRepSweep_Rotation.

◆ Process()

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

function called to analize 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 independant closed wires, in this case this function returns true.

Implements BRepSweep_NumLinearRegularSweep.

Implemented in BRepSweep_Translation, and BRepSweep_Rotation.

◆ 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_Translation, and BRepSweep_Rotation.

◆ 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_Translation, and BRepSweep_Rotation.

◆ 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_Translation, and BRepSweep_Rotation.

◆ 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_Translation, and BRepSweep_Rotation.

◆ 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_Translation, and BRepSweep_Rotation.

◆ 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_Translation, and BRepSweep_Rotation.

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: