Version: 9.12.0
SMDS_LinearEdge Class Reference

#include <SMDS_LinearEdge.hxx>

Inheritance diagram for SMDS_LinearEdge:

Public Types

typedef SMDS_StdIterator< const SMDS_MeshNode *, SMDS_NodeIteratorPtriterator
 

Public Member Functions

 SMDS_LinearEdge (const SMDS_MeshNode *node1=nullptr, const SMDS_MeshNode *node2=nullptr)
 
void Init (const SMDS_MeshNode *node1, const SMDS_MeshNode *node2)
 
virtual SMDSAbs_ElementType GetType () const
 
virtual SMDSAbs_GeometryType GetGeomType () const
 
virtual SMDSAbs_EntityType GetEntityType () const
 
virtual bool ChangeNodes (const SMDS_MeshNode *nodes[], const int nbNodes)
 
virtual int NbNodes () const
 
virtual int NbEdges () const
 
virtual int NbFaces () const
 
virtual int NbCornerNodes () const
 
virtual int GetNodeIndex (const SMDS_MeshNode *node) const
 Check if a node belongs to the element. More...
 
virtual bool IsPoly () const
 
virtual bool IsQuadratic () const
 
virtual SMDS_ElemIteratorPtr nodesIterator () const
 
virtual SMDS_NodeIteratorPtr nodeIterator () const
 
virtual const SMDS_MeshNodeGetNode (const int ind) const
 Return node by its index. More...
 
virtual smIdType GetID () const
 Return ID of an element. More...
 
virtual int GetShapeID () const
 Return ID of a shape this element was generated on. More...
 
virtual void setIsMarked (bool is) const
 Mark this element. More...
 
virtual bool isMarked () const
 Check if this element is marked. More...
 
virtual VTKCellType GetVtkType () const
 
virtual SMDS_NodeIteratorPtr interlacedNodesIterator () const
 
virtual SMDS_NodeIteratorPtr nodesIteratorToUNV () const
 
iterator begin_nodes () const
 
iterator end_nodes () const
 
virtual bool IsMediumNode (const SMDS_MeshNode *node) const
 Check if a node is a medium node of a quadratic cell. More...
 
const SMDS_MeshNodeGetNodeWrap (const int ind) const
 Return node by its index. More...
 
virtual bool IsValidIndex (const int ind) const
 Return true if index of node is valid (0 <= ind < NbNodes()) More...
 
int WrappedIndex (const int ind) const
 Return a valid corner node index, fixing the given one if necessary. More...
 
virtual vtkIdType GetVtkID () const
 Return VTK ID of this element. More...
 
virtual int getshapeId () const
 
bool IsNull () const
 
SMDS_MeshGetMesh () const
 Return the mesh this element belongs to. More...
 
void Print (std::ostream &OS) const
 Print self. More...
 

Protected Types

enum  Bits { BIT_IS_MARKED = 1 , BITS_SHIFT = 1 }
 

Protected Member Functions

virtual void setID (const smIdType id)
 
virtual void setShapeID (const int shapeID)
 
virtual void setShapeID (const int shapeID) const
 Set ID of a shape this element was generated on. More...
 
void setVtkID (const vtkIdType vtkID)
 Store VTK ID. More...
 
SMDS_UnstructuredGridgetGrid () const
 Return a SMDS_UnstructuredGrid. More...
 

Protected Attributes

const SMDS_MeshNodemyNodes [2]
 
smIdType myID
 
int myShapeID
 
SMDS_ElementChunkmyHolder
 

Member Typedef Documentation

◆ iterator

Member Enumeration Documentation

◆ Bits

enum SMDS_CellOfNodes::Bits
protectedinherited
Enumerator
BIT_IS_MARKED 
BITS_SHIFT 

Constructor & Destructor Documentation

◆ SMDS_LinearEdge()

SMDS_LinearEdge::SMDS_LinearEdge ( const SMDS_MeshNode node1 = nullptr,
const SMDS_MeshNode node2 = nullptr 
)

References myNodes.

Member Function Documentation

◆ begin_nodes()

◆ ChangeNodes()

bool SMDS_LinearEdge::ChangeNodes ( const SMDS_MeshNode nodes[],
const int  nbNodes 
)
virtual

References myNodes.

◆ end_nodes()

◆ GetEntityType()

virtual SMDSAbs_EntityType SMDS_LinearEdge::GetEntityType ( ) const
virtual

Implements SMDS_MeshElement.

References SMDSEntity_Edge.

◆ GetGeomType()

virtual SMDSAbs_GeometryType SMDS_LinearEdge::GetGeomType ( ) const
virtual

Implements SMDS_MeshElement.

References SMDSGeom_EDGE.

◆ getGrid()

◆ GetID()

smIdType SMDS_CellOfNodes::GetID ( ) const
virtualinherited

Return ID of an element.

Reimplemented from SMDS_MeshElement.

References SMDS_CellOfNodes::myID.

Referenced by SMDS_FaceOfNodes::Print(), SMDS_PolygonalFaceOfNodes::Print(), and SMDS_VolumeOfNodes::Print().

◆ GetMesh()

◆ GetNode()

const SMDS_MeshNode * SMDS_LinearEdge::GetNode ( const int  ind) const
virtual

Return node by its index.

Parameters
ind- node index
Return values
constSMDS_MeshNode* - the node

Implements SMDS_MeshElement.

References myNodes.

◆ GetNodeIndex()

int SMDS_LinearEdge::GetNodeIndex ( const SMDS_MeshNode node) const
virtual

Check if a node belongs to the element.

Parameters
node- the node to check
Return values
int- node index within the element, -1 if not found

Reimplemented from SMDS_MeshElement.

References myNodes.

◆ GetNodeWrap()

const SMDS_MeshNode* SMDS_MeshElement::GetNodeWrap ( const int  ind) const
inherited

Return node by its index.

Parameters
ind- node index
Return values
constSMDS_MeshNode* - the node

Index is wrapped if it is out of a valid range of corner nodes

Referenced by SMESH_MeshAlgos::Intersector::Algo::Cut(), SMESH_MeshEditor::GetLinkedNodes(), and SMESH_MeshEditor::makeWalls().

◆ GetShapeID()

int SMDS_CellOfNodes::GetShapeID ( ) const
virtualinherited

Return ID of a shape this element was generated on.

Reimplemented from SMDS_MeshElement.

References SMDS_CellOfNodes::BITS_SHIFT, and SMDS_CellOfNodes::myShapeID.

◆ getshapeId()

virtual int SMDS_MeshElement::getshapeId ( ) const
virtualinherited

Referenced by SMESH_Delaunay::addCloseNodes(), SMESHDS_SubMesh::AddNode(), areNodesBound(), StdMeshers_Quadrangle_2D::check(), SMESH_MesherHelper::CheckNodeU(), SMESH_MesherHelper::CheckNodeUV(), StdMeshers_Import_1D2D::Compute(), VISCOUS_3D::_ViscousBuilder::computeGeomSize(), SMESHDS_SubMesh::Contains(), SMESH_MeshEditor::convertElemToQuadratic(), SMESH_MeshEditor::ConvertToQuadratic(), SMESH_MeshEditor::copyPosition(), SMESH_Pattern::createElements(), SMESH_MeshEditor::CreateHoleSkin(), SMESH_MeshEditor::DeleteDiag(), SMESH_Mesh_i::exportMEDFields(), VISCOUS_3D::_ViscousBuilder::findEdgesToUpdateNormalNearConvexFace(), StdMeshers_ProjectionUtils::FindMatchingNodesOnFaces(), SMESH_MeshEditor::FindShape(), VISCOUS_3D::_ViscousBuilder::findShapesToSmooth(), SMESH_MesherHelper::FixQuadraticElements(), SMESH_MesherHelper::GetCentralNode(), VISCOUS_3D::_ViscousBuilder::getFaceNormal(), SMESH_MesherHelper::GetMediumNode(), SMESH_MesherHelper::getMediumNodeOnComposedWire(), SMESH_MesherHelper::GetMediumPos(), StdMeshers_PrismAsBlock::GetNodeColumn(), SMESH_MesherHelper::GetNodeU(), SMESH_MesherHelper::GetNodeUV(), VISCOUS_3D::_EdgesOnShape::GetNormal(), StdMeshers_FaceSide::GetOrderedNodes(), SMESH_ProxyMesh::GetProxyNode(), SMESH_Mesh_i::GetShapeID(), VISCOUS_3D::_Simplex::GetSimplices(), SMESH_MesherHelper::GetSubShapeByNode(), StdMeshers_FaceSide::GetUVPtStruct(), SMESH::Controls::Deflection2D::GetValue(), StdMeshers_PrismAsBlock::HasNodeColumn(), StdMeshers_PrismAsBlock::Init(), SMESH_MeshEditor::InsertNodesIntoLink(), SMESH_MeshEditor::InverseDiag(), SMESH_MesherHelper::IsCornerOfStructure(), SMESH::Controls::BelongToGeom::IsSatisfy(), SMESH::Controls::LyingOnGeom::IsSatisfy(), SMESH_Pattern::Load(), VISCOUS_3D::_ViscousBuilder::makeLayer(), SMESH_MeshEditor::MergeNodes(), StdMeshers_QuadToTriaAdaptor::MergePiramids(), DriverGMF_Write::Perform(), SMESH_MeshEditor::QuadTo4Tri(), SMESH_MeshEditor::Remove(), SMESHDS_Mesh::RemoveElement(), SMESHDS_SubMesh::RemoveElement(), SMESHDS_Mesh::RemoveFreeElement(), SMESHDS_Mesh::RemoveFreeNode(), SMESHDS_Mesh::RemoveNode(), SMESHDS_SubMesh::RemoveNode(), SMESH_MeshEditor::removeQuadElem(), VISCOUS_3D::_ViscousBuilder::setEdgeData(), SMESH_MeshEditor::SewSideElements(), VISCOUS_2D::_ViscousBuilder2D::shrink(), StdMeshers_Quadrangle_2D::smooth(), VISCOUS_3D::_ViscousBuilder::smoothAndCheck(), SMESH_MeshEditor::SplitBiQuadraticIntoLinear(), StdMeshers_PrismAsBlock::TPCurveOnHorFaceAdaptor::TPCurveOnHorFaceAdaptor(), SMESH_MeshEditor::TriToQuad(), SMESHDS_Mesh::UnSetElementOnShape(), SMESHDS_Mesh::UnSetNodeOnShape(), SMESH_MeshEditor::UpdateVolumes(), StdMeshers_PrismAsBlock::TSideFace::Value(), and SMESH_Algo::VertexNode().

◆ GetType()

virtual SMDSAbs_ElementType SMDS_LinearEdge::GetType ( ) const
virtual

Implements SMDS_MeshElement.

References SMDSAbs_Edge.

◆ GetVtkID()

vtkIdType SMDS_MeshElement::GetVtkID ( ) const
virtualinherited

Return VTK ID of this element.

References SMDS_ElementChunk::GetVtkID(), and SMDS_MeshElement::myHolder.

Referenced by SMDS_MeshNode::AddInverseElement(), SMDS_ElementHolder::beforeCompacting(), SMDS_MeshCell::ChangeNodes(), SMDS_MeshVolume::ChangeNodes(), SMDS_MeshNode::ClearInverseElements(), SMDS_ElementFactory::Compact(), SMESH_MeshEditor::CreateHoleSkin(), SMESH_MeshEditor::DoubleNodesOnGroupBoundaries(), SMDS_UnstructuredGrid::extrudeVolumeFromFace(), SMDS_ElementFactory::Free(), SMDS_MeshNode::getCoord(), SMDS_BallElement::GetDiameter(), SMESH_VisualObjDef::GetElemVTKId(), SMESHGUI_PreVisualObj::GetElemVTKId(), SMDS_MeshVolume::GetFaceNode(), SMDS_MeshNode::GetInverseElementIterator(), SMDS_MeshCell::GetNode(), SMDS_MeshVolume::GetNode(), SMDS_MeshCell::GetNodeIndex(), SMDS_MeshVolume::GetNodeIndex(), SMESH_VisualObjDef::GetNodeVTKId(), SMDS_MeshVolume::GetQuantities(), SMESH::Controls::AspectRatio3D::GetValue(), SMDS_MeshCell::GetVtkType(), SMDS_MeshNode::GetXYZ(), SMDS_BallElement::init(), SMDS_MeshNode::init(), SMDS_MeshCell::init(), SMDS_MeshVolume::NbEdges(), SMDS_MeshVolume::NbFaceNodes(), SMDS_MeshVolume::NbFaces(), SMDS_MeshNode::NbInverseElements(), SMDS_MeshCell::NbNodes(), SMDS_MeshVolume::NbNodes(), SMDS_MeshCell::nodeIterator(), SMDS_MeshVolume::nodeIterator(), SMDS_MeshCell::nodesIterator(), SMDS_MeshVolume::nodesIterator(), SMDS_MeshCell::nodesIteratorToUNV(), SMDS_Mesh::RemoveFreeElement(), SMDS_MeshNode::RemoveInverseElement(), SMDS_BallElement::SetDiameter(), and SMDS_MeshNode::setXYZ().

◆ GetVtkType()

virtual VTKCellType SMDS_CellOfNodes::GetVtkType ( ) const
virtualinherited

Implements SMDS_MeshElement.

◆ Init()

void SMDS_LinearEdge::Init ( const SMDS_MeshNode node1,
const SMDS_MeshNode node2 
)

References myNodes.

◆ interlacedNodesIterator()

◆ isMarked()

bool SMDS_CellOfNodes::isMarked ( ) const
virtualinherited

Check if this element is marked.

Reimplemented from SMDS_MeshElement.

References SMDS_CellOfNodes::BIT_IS_MARKED, and SMDS_CellOfNodes::myShapeID.

◆ IsMediumNode()

◆ IsNull()

◆ IsPoly()

virtual bool SMDS_LinearEdge::IsPoly ( ) const
virtual

Implements SMDS_MeshElement.

◆ IsQuadratic()

virtual bool SMDS_LinearEdge::IsQuadratic ( ) const
virtual

Implements SMDS_MeshElement.

◆ IsValidIndex()

bool SMDS_MeshElement::IsValidIndex ( const int  ind) const
virtualinherited

Return true if index of node is valid (0 <= ind < NbNodes())

Parameters
ind- node index
Return values
bool- index check result

References SMDS_MeshElement::NbNodes().

◆ NbCornerNodes()

virtual int SMDS_LinearEdge::NbCornerNodes ( ) const
virtual

◆ NbEdges()

int SMDS_LinearEdge::NbEdges ( ) const
virtual

Implements SMDS_MeshElement.

◆ NbFaces()

int SMDS_LinearEdge::NbFaces ( ) const
virtual

Implements SMDS_MeshElement.

◆ NbNodes()

int SMDS_LinearEdge::NbNodes ( ) const
virtual

Implements SMDS_MeshElement.

Referenced by nodeIterator(), and nodesIterator().

◆ nodeIterator()

SMDS_NodeIteratorPtr SMDS_LinearEdge::nodeIterator ( ) const
virtual

Implements SMDS_MeshElement.

References myNodes, and NbNodes().

◆ nodesIterator()

SMDS_ElemIteratorPtr SMDS_LinearEdge::nodesIterator ( ) const
virtual

Implements SMDS_MeshElement.

References myNodes, and NbNodes().

◆ nodesIteratorToUNV()

virtual SMDS_NodeIteratorPtr SMDS_MeshElement::nodesIteratorToUNV ( ) const
virtualinherited

Reimplemented in SMDS_MeshCell.

◆ Print()

void SMDS_MeshElement::Print ( std::ostream &  OS) const
inherited

Print self.

Referenced by operator<<().

◆ setID()

void SMDS_CellOfNodes::setID ( const smIdType  id)
protectedvirtualinherited

◆ setIsMarked()

void SMDS_CellOfNodes::setIsMarked ( bool  is) const
virtualinherited

Mark this element.

Reimplemented from SMDS_MeshElement.

References SMDS_CellOfNodes::BIT_IS_MARKED, and SMDS_CellOfNodes::myShapeID.

◆ setShapeID() [1/2]

void SMDS_CellOfNodes::setShapeID ( const int  shapeID)
protectedvirtualinherited

◆ setShapeID() [2/2]

void SMDS_MeshElement::setShapeID ( const int  shapeID) const
protectedvirtualinherited

◆ setVtkID()

void SMDS_MeshElement::setVtkID ( const vtkIdType  vtkID)
protectedinherited

◆ WrappedIndex()

int SMDS_MeshElement::WrappedIndex ( const int  ind) const
inherited

Return a valid corner node index, fixing the given one if necessary.

Parameters
ind- node index
Return values
int- valid node index

References SMDS_MeshElement::NbCornerNodes().

Referenced by SMDS_PolygonalFaceOfNodes::GetNode().

Field Documentation

◆ myHolder

◆ myID

smIdType SMDS_CellOfNodes::myID
protectedinherited

◆ myNodes

const SMDS_MeshNode* SMDS_LinearEdge::myNodes[2]
protected

◆ myShapeID