Version: 9.12.0
SMESH_MeshEditor::ExtrusParam Class Reference

Generator of nodes for extrusion functionality. More...

#include <SMESH_MeshEditor.hxx>

Inheritance diagram for SMESH_MeshEditor::ExtrusParam:

Data Structures

struct  PathPoint
 Point on extrusion path. More...
 

Public Member Functions

 ExtrusParam (const gp_Vec &theStep, const int theNbSteps, const std::list< double > &theScales, const std::list< double > &theAngles, const gp_XYZ *theBaseP, const int theFlags=0, const double theTolerance=1e-6)
 
 ExtrusParam (const gp_Dir &theDir, Handle(TColStd_HSequenceOfReal) theSteps, const int theFlags=0, const double theTolerance=1e-6)
 
 ExtrusParam (const double theStep, const int theNbSteps, const int theFlags, const int theDim)
 
 ExtrusParam (const std::vector< PathPoint > &thePoints, const gp_Pnt *theBaseP, const std::list< double > &theScales, const bool theMakeGroups)
 
SMESH_SequenceOfNode & ChangeNodes ()
 
int & Flags ()
 
bool ToMakeBoundary () const
 
bool ToMakeGroups () const
 
bool ToUseInpElemsOnly () const
 
bool IsScaleVariation () const
 
bool IsAngleVariation () const
 
int NbSteps () const
 
void SetElementsToUse (const TIDSortedElemSet &elems, const TIDSortedElemSet &nodes)
 
int MakeNodes (SMESHDS_Mesh *mesh, const SMDS_MeshNode *srcNode, std::list< const SMDS_MeshNode * > &newNodes, const bool makeMediumNodes)
 

Private Member Functions

 Handle (TColStd_HSequenceOfReal) mySteps
 
int makeNodesByDir (SMESHDS_Mesh *mesh, const SMDS_MeshNode *srcNode, std::list< const SMDS_MeshNode * > &newNodes, const bool makeMediumNodes)
 
int makeNodesByDirAndSew (SMESHDS_Mesh *mesh, const SMDS_MeshNode *srcNode, std::list< const SMDS_MeshNode * > &newNodes, const bool makeMediumNodes)
 
int makeNodesByNormal2D (SMESHDS_Mesh *mesh, const SMDS_MeshNode *srcNode, std::list< const SMDS_MeshNode * > &newNodes, const bool makeMediumNodes)
 
int makeNodesByNormal1D (SMESHDS_Mesh *mesh, const SMDS_MeshNode *srcNode, std::list< const SMDS_MeshNode * > &newNodes, const bool makeMediumNodes)
 
int makeNodesAlongTrack (SMESHDS_Mesh *mesh, const SMDS_MeshNode *srcNode, std::list< const SMDS_MeshNode * > &newNodes, const bool makeMediumNodes)
 
void beginStepIter (bool withMediumNodes)
 
bool moreSteps ()
 
double nextStep ()
 

Private Attributes

gp_Dir myDir
 
std::vector< double > myScales
 
std::vector< double > myAngles
 
gp_XYZ myBaseP
 
SMESH_SequenceOfNode myNodes
 
int myFlags
 
double myTolerance
 
const TIDSortedElemSetmyElemsToUse
 
std::vector< PathPointmyPathPoints
 
int(ExtrusParam::* myMakeNodesFun )(SMESHDS_Mesh *, const SMDS_MeshNode *, std::list< const SMDS_MeshNode * > &, const bool)
 
std::vector< double > myCurSteps
 
bool myWithMediumNodes
 
int myNextStep
 

Detailed Description

Generator of nodes for extrusion functionality.

Constructor & Destructor Documentation

◆ ExtrusParam() [1/4]

SMESH_MeshEditor::ExtrusParam::ExtrusParam ( const gp_Vec &  theStep,
const int  theNbSteps,
const std::list< double > &  theScales,
const std::list< double > &  theAngles,
const gp_XYZ *  theBaseP,
const int  theFlags = 0,
const double  theTolerance = 1e-6 
)

◆ ExtrusParam() [2/4]

SMESH_MeshEditor::ExtrusParam::ExtrusParam ( const gp_Dir &  theDir,
Handle(TColStd_HSequenceOfReal)  theSteps,
const int  theFlags = 0,
const double  theTolerance = 1e-6 
)

◆ ExtrusParam() [3/4]

SMESH_MeshEditor::ExtrusParam::ExtrusParam ( const double  theStep,
const int  theNbSteps,
const int  theFlags,
const int  theDim 
)

◆ ExtrusParam() [4/4]

SMESH_MeshEditor::ExtrusParam::ExtrusParam ( const std::vector< PathPoint > &  thePoints,
const gp_Pnt *  theBaseP,
const std::list< double > &  theScales,
const bool  theMakeGroups 
)

Member Function Documentation

◆ beginStepIter()

void SMESH_MeshEditor::ExtrusParam::beginStepIter ( bool  withMediumNodes)
private

◆ ChangeNodes()

SMESH_SequenceOfNode& SMESH_MeshEditor::ExtrusParam::ChangeNodes ( )

◆ Flags()

int& SMESH_MeshEditor::ExtrusParam::Flags ( )

◆ Handle()

SMESH_MeshEditor::ExtrusParam::Handle ( TColStd_HSequenceOfReal  )
private

◆ IsAngleVariation()

bool SMESH_MeshEditor::ExtrusParam::IsAngleVariation ( ) const

Referenced by ExtrusParam().

◆ IsScaleVariation()

bool SMESH_MeshEditor::ExtrusParam::IsScaleVariation ( ) const

Referenced by ExtrusParam().

◆ MakeNodes()

int SMESH_MeshEditor::ExtrusParam::MakeNodes ( SMESHDS_Mesh mesh,
const SMDS_MeshNode srcNode,
std::list< const SMDS_MeshNode * > &  newNodes,
const bool  makeMediumNodes 
)

◆ makeNodesAlongTrack()

int SMESH_MeshEditor::ExtrusParam::makeNodesAlongTrack ( SMESHDS_Mesh mesh,
const SMDS_MeshNode srcNode,
std::list< const SMDS_MeshNode * > &  newNodes,
const bool  makeMediumNodes 
)
private

◆ makeNodesByDir()

int SMESH_MeshEditor::ExtrusParam::makeNodesByDir ( SMESHDS_Mesh mesh,
const SMDS_MeshNode srcNode,
std::list< const SMDS_MeshNode * > &  newNodes,
const bool  makeMediumNodes 
)
private

◆ makeNodesByDirAndSew()

int SMESH_MeshEditor::ExtrusParam::makeNodesByDirAndSew ( SMESHDS_Mesh mesh,
const SMDS_MeshNode srcNode,
std::list< const SMDS_MeshNode * > &  newNodes,
const bool  makeMediumNodes 
)
private

◆ makeNodesByNormal1D()

int SMESH_MeshEditor::ExtrusParam::makeNodesByNormal1D ( SMESHDS_Mesh mesh,
const SMDS_MeshNode srcNode,
std::list< const SMDS_MeshNode * > &  newNodes,
const bool  makeMediumNodes 
)
private

Referenced by ExtrusParam().

◆ makeNodesByNormal2D()

int SMESH_MeshEditor::ExtrusParam::makeNodesByNormal2D ( SMESHDS_Mesh mesh,
const SMDS_MeshNode srcNode,
std::list< const SMDS_MeshNode * > &  newNodes,
const bool  makeMediumNodes 
)
private

◆ moreSteps()

bool SMESH_MeshEditor::ExtrusParam::moreSteps ( )
private

◆ NbSteps()

int SMESH_MeshEditor::ExtrusParam::NbSteps ( ) const

◆ nextStep()

double SMESH_MeshEditor::ExtrusParam::nextStep ( )
private

◆ SetElementsToUse()

void SMESH_MeshEditor::ExtrusParam::SetElementsToUse ( const TIDSortedElemSet elems,
const TIDSortedElemSet nodes 
)

◆ ToMakeBoundary()

bool SMESH_MeshEditor::ExtrusParam::ToMakeBoundary ( ) const

◆ ToMakeGroups()

bool SMESH_MeshEditor::ExtrusParam::ToMakeGroups ( ) const

◆ ToUseInpElemsOnly()

bool SMESH_MeshEditor::ExtrusParam::ToUseInpElemsOnly ( ) const

Field Documentation

◆ myAngles

std::vector<double> SMESH_MeshEditor::ExtrusParam::myAngles
private

Referenced by ExtrusParam().

◆ myBaseP

gp_XYZ SMESH_MeshEditor::ExtrusParam::myBaseP
private

Referenced by ExtrusParam().

◆ myCurSteps

std::vector< double > SMESH_MeshEditor::ExtrusParam::myCurSteps
private

◆ myDir

gp_Dir SMESH_MeshEditor::ExtrusParam::myDir
private

◆ myElemsToUse

const TIDSortedElemSet* SMESH_MeshEditor::ExtrusParam::myElemsToUse
private

◆ myFlags

int SMESH_MeshEditor::ExtrusParam::myFlags
private

◆ myMakeNodesFun

int(ExtrusParam::* SMESH_MeshEditor::ExtrusParam::myMakeNodesFun) (SMESHDS_Mesh *, const SMDS_MeshNode *, std::list< const SMDS_MeshNode * > &, const bool)
private

Referenced by ExtrusParam().

◆ myNextStep

int SMESH_MeshEditor::ExtrusParam::myNextStep
private

◆ myNodes

SMESH_SequenceOfNode SMESH_MeshEditor::ExtrusParam::myNodes
private

◆ myPathPoints

std::vector< PathPoint > SMESH_MeshEditor::ExtrusParam::myPathPoints
private

◆ myScales

std::vector<double> SMESH_MeshEditor::ExtrusParam::myScales
private

Referenced by ExtrusParam().

◆ myTolerance

double SMESH_MeshEditor::ExtrusParam::myTolerance
private

◆ myWithMediumNodes

bool SMESH_MeshEditor::ExtrusParam::myWithMediumNodes
private