Version: 9.16.0
SMDS_CellOfNodes Class Referenceabstract

Base class for elements not contained in the mesh. More...

#include <SMDS_CellOfNodes.hxx>

Inheritance diagram for SMDS_CellOfNodes:

Public Types

typedef SMDS_StdIterator< const SMDS_MeshNode *, SMDS_NodeIteratorPtriterator
 

Public Member Functions

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_ElemIteratorPtr nodesIterator () const =0
 
virtual SMDS_NodeIteratorPtr nodeIterator () const =0
 
virtual SMDS_NodeIteratorPtr interlacedNodesIterator () const
 
virtual SMDS_NodeIteratorPtr nodesIteratorToUNV () const
 
iterator begin_nodes () const
 
iterator end_nodes () const
 
virtual int NbNodes () const =0
 
virtual int NbEdges () const =0
 
virtual int NbFaces () const =0
 
virtual SMDSAbs_ElementType GetType () const =0
 
virtual SMDSAbs_EntityType GetEntityType () const =0
 
virtual SMDSAbs_GeometryType GetGeomType () const =0
 
virtual bool IsPoly () const =0
 
virtual bool IsQuadratic () const =0
 
virtual bool IsMediumNode (const SMDS_MeshNode *node) const
 Check if a node is a medium node of a quadratic cell. More...
 
virtual int NbCornerNodes () const =0
 
virtual const SMDS_MeshNodeGetNode (const int ind) const =0
 Return node by its index. 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 int GetNodeIndex (const SMDS_MeshNode *node) const
 Check if a node belongs to the element. 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...
 
virtual void Print (std::ostream &OS) const
 Print self. More...
 

Protected Types

enum  Bits { BIT_IS_MARKED = 1 , BITS_SHIFT = 1 }
 

Protected Member Functions

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

Protected Attributes

smIdType myID
 
int myShapeID
 
SMDS_ElementChunkmyHolder
 

Detailed Description

Base class for elements not contained in the mesh.

Member Typedef Documentation

◆ iterator

Member Enumeration Documentation

◆ Bits

enum SMDS_CellOfNodes::Bits
protected
Enumerator
BIT_IS_MARKED 
BITS_SHIFT 

Constructor & Destructor Documentation

◆ SMDS_CellOfNodes()

SMDS_CellOfNodes::SMDS_CellOfNodes ( smIdType  id = -1,
int  shapeID = 0 
)
protected

References setShapeID().

Member Function Documentation

◆ begin_nodes()

◆ end_nodes()

◆ GetEntityType()

virtual SMDSAbs_EntityType SMDS_MeshElement::GetEntityType ( ) const
pure virtualinherited

Implemented in SMDS_FaceOfNodes, SMDS_LinearEdge, SMDS_MeshCell, SMDS_MeshNode, SMDS_PolygonalFaceOfNodes, SMDS_VolumeOfNodes, and VISCOUS_3D::_TmpMeshFace.

Referenced by SMDS_MeshInfo::addWithPoly(), SMESH_MeshEditor::applyMerge(), SMESH_VisualObjDef::buildElemPrs(), StdMeshers_Import_1D2D::Compute(), SMESH_MeshEditor::convertElemToQuadratic(), SMESH_MeshEditor::ConvertToQuadratic(), SMESH_MeshEditor::DeleteDiag(), SMESH_MeshAlgos::DeMerge(), SMESH_MeshEditor::doubleNodes(), SMESH::SelectionProxy::elementEntityType(), StdMeshers_Import_1D2D::Evaluate(), SMESH_MeshEditor::ExtrusionSweep(), SMESH_MesherHelper::FixQuadraticElements(), SMESH::Controls::TSequenceOfXYZ::getElementEntity(), SMESH_Mesh_i::GetElementGeomType(), SMESHDS_GroupOnFilter::getElementIds(), VISCOUS_3D::_TmpMeshFace::GetEntityType(), SMESH::Filter_i::GetMeshInfo(), SMESH_MeshAlgos::Triangulate::GetNbTriangles(), SMESH_MeshEditor_i::GetPreviewData(), SMESH_MeshAlgos::Triangulate::GetTriangles(), SMESH::Controls::MaxElementLength3D::GetValue(), SMESH_MeshEditor::InverseDiag(), SMESH::Controls::Length2D::IsApplicable(), SMESH::Controls::ElemEntityType::IsSatisfy(), SMESH_MeshAlgos::MakeOffset(), SMESH_MeshEditor::makeWalls(), SMDS_MeshElement::EntityFilter::operator()(), DriverCGNS_Write::Perform(), DriverGMF_Write::Perform(), SMDS_MeshInfo::RemoveFace(), SMESH_MeshEditor::Reorient(), SMESH_MeshEditor::RotationSweep(), DriverMED_W_Field::Set(), SMESH_MeshEditor::SplitBiQuadraticIntoLinear(), SMESH_MeshEditor::SplitFace(), SMESH_MeshEditor::SplitVolumes(), SMESH_MeshEditor::sweepElement(), SMESH_MeshEditor::Transform(), and SMESHDS_GroupOnFilter::update().

◆ GetGeomType()

◆ getGrid()

◆ GetID()

smIdType SMDS_CellOfNodes::GetID ( ) const
virtual

Return ID of an element.

Reimplemented from SMDS_MeshElement.

References myID.

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

◆ GetMesh()

◆ GetNode()

virtual const SMDS_MeshNode * SMDS_MeshElement::GetNode ( const int  ind) const
pure virtualinherited

Return node by its index.

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

Implemented in SMDS_FaceOfNodes, SMDS_LinearEdge, SMDS_MeshCell, SMDS_MeshNode, SMDS_MeshVolume, SMDS_PolygonalFaceOfNodes, and SMDS_VolumeOfNodes.

Referenced by SMESH_Delaunay::addCloseNodes(), StdMeshers_Quadrangle_2D::check(), StdMeshers_Prism_3D::compute(), StdMeshers_QuadToTriaAdaptor::Compute(), StdMeshers_Hexa_3D::Compute(), StdMeshers_Import_1D::Compute(), StdMeshers_Import_1D2D::Compute(), StdMeshers_Projection_3D::Compute(), StdMeshers_RadialPrism_3D::Compute(), StdMeshers_QuadToTriaAdaptor::Compute2ndPart(), SMESHDS_GroupOnGeom::Contains(), SMESH_MeshEditor::ConvertFromQuadratic(), SMESH_MeshAlgos::Intersector::Algo::Cut(), SMESH_MeshAlgos::Intersector::CutByPlanes(), StdMeshers_QuadToTriaAdaptor::DecreaseHeightDifference(), StdMeshers_Import_1D::Evaluate(), StdMeshers_Import_1D2D::Evaluate(), SMESH_MeshAlgos::FaceNormal(), SMESH_MeshAlgos::FindCoincidentFreeBorders(), findExistingTriangulation(), SMESH_MeshAlgos::FindFaceInSet(), SMESH_MeshAlgos::FindFreeBorders(), SMESH_MeshEditor::FindMatchingNodes(), StdMeshers_ProjectionUtils::FindMatchingNodesOnFaces(), VISCOUS_3D::_ViscousBuilder::findNeiborsOnEdge(), SMESH_ElementSearcherImpl::findOuterBoundary(), VISCOUS_3D::_ViscousBuilder::findShapesToSmooth(), SMESH_MeshAlgos::FindSharpEdges(), VISCOUS_3D::_ViscousBuilder::fixBadFaces(), SMESH_2D_Algo::FixInternalNodes(), SMESH_MesherHelper::FixQuadraticElements(), SMESH_MeshAlgos::Get1DBranches(), SMESH_MeshAlgos::GetCommonNodes(), VISCOUS_3D::getDistFromEdge(), StdMeshers_FaceSide::GetEdgeNodes(), SMESH_VisualObjDef::GetEdgeNodes(), SMESHGUI_PreVisualObj::GetEdgeNodes(), MeshEditor_I::getElementsAround(), SMESH_Mesh_i::GetElemNode(), getFaceID(), SMESH_ElementSearcherImpl::getIntersParamOnLine(), SMESH_Algo::GetMeshError(), _FaceSide::GetNbSegments(), VISCOUS_3D::_Simplex::GetSimplices(), SMESH_MeshAlgos::Triangulate::GetTriangles(), SMESH::Controls::Deflection2D::GetValue(), SMESH_MeshAlgos::IsOn2DBoundary(), SMESH_MesherHelper::IsQuadraticSubMesh(), SMESH_MesherHelper::IsReversedSubMesh(), SMESH::Controls::ElementsOnShape::IsSatisfy(), SMESH::Controls::CoincidentElements::IsSatisfy(), StdMeshers_QuadToTriaAdaptor::LimitHeight(), VISCOUS_3D::_ViscousBuilder::limitStepSize(), SMESH_Pattern::Load(), _QuadFaceGrid::LoadGrid(), SMESH_MeshEditor::MakeBoundaryMesh(), VISCOUS_3D::_ViscousBuilder::makeGroupOfLE(), VISCOUS_3D::_ViscousBuilder::makeLayer(), VISCOUS_3D::_ViscousBuilder::MakeN2NMap(), SMESH_MeshAlgos::MakeSlot(), StdMeshers_Penta_3D::MakeVolumeMesh(), StdMeshers_QuadToTriaAdaptor::MergeAdjacent(), StdMeshers_QuadToTriaAdaptor::MergePiramids(), SMESH_MeshAlgos::NbCommonNodes(), DriverCGNS_Write::Perform(), DriverMED_W_SMESHDS_Mesh::PerformInternal(), SMESH_Gen_i::Precompute(), StdMeshers_QuadToTriaAdaptor::Preparation(), VISCOUS_3D::_ViscousBuilder::prepareEdgeToShrink(), StdMeshers_Sweeper::prepareTopBotDelaunay(), StdMeshers_Prism_3D::projectBottomToTop(), SMESH_MeshEditor::Reorient2D(), SMESH::Controls::CoplanarFaces::SetMesh(), StdMeshers_Adaptive1D::SetParametersByMesh(), StdMeshers_SegmentLengthAroundVertex::SetParametersByMesh(), VISCOUS_2D::_ViscousBuilder2D::shrink(), VISCOUS_3D::_ViscousBuilder::shrink(), StdMeshers_Quadrangle_2D::smooth(), SMESH_MeshEditor::Smooth(), and SMESH_MeshEditor::SplitFace().

◆ GetNodeIndex()

int SMDS_MeshElement::GetNodeIndex ( const SMDS_MeshNode node) const
virtualinherited

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 in SMDS_FaceOfNodes, SMDS_LinearEdge, SMDS_MeshCell, SMDS_MeshVolume, and SMDS_VolumeOfNodes.

References SMDS_MeshElement::nodesIterator().

Referenced by VISCOUS_3D::_ViscousBuilder::addBoundaryElements(), StdMeshers_QuadToTriaAdaptor::Compute2ndPart(), SMESH_MeshAlgos::Intersector::Algo::Cut(), SMESH_MeshAlgos::Intersector::CutByPlanes(), SMDS_UnstructuredGrid::extrudeVolumeFromFace(), SMDS_Mesh::FindEdge(), SMDS_Mesh::FindElement(), findExistingTriangulation(), SMESH_MeshAlgos::FindFaceInSet(), VISCOUS_3D::_LayerEdge::FindIntersection(), SMESH_MeshEditor::FindMatchingNodes(), SMESH_ElementSearcherImpl::findOuterBoundary(), findSegment(), SMESH_MeshAlgos::GetCommonNodes(), VISCOUS_3D::getDistFromEdge(), SMDS_Mesh::GetElementsByNodes(), VISCOUS_3D::_Simplex::GetSimplices(), SMESH::Controls::FreeEdges::IsFreeEdge(), SMDS_VolumeTool::IsFreeFace(), SMDS_MeshElement::IsMediumNode(), SMESH_MeshAlgos::IsOn2DBoundary(), SMESH_MeshAlgos::IsRightOrder(), SMESH::Controls::BareBorderFace::IsSatisfy(), StdMeshers_QuadToTriaAdaptor::LimitHeight(), _QuadFaceGrid::LoadGrid(), SMESH_MeshEditor::MakeBoundaryMesh(), SMESH_MeshAlgos::Intersector::Algo::MakeNewFaces(), SMESH_MeshAlgos::MakeOffset(), SMESH_MeshEditor::makeWalls(), SMESH_MeshEditor::MergeNodes(), SMESH_MeshAlgos::NbCommonNodes(), StdMeshers_QuadToTriaAdaptor::Preparation(), SMESH_MeshEditor::Reorient2DBy3D(), SMESH::Controls::CoplanarFaces::SetMesh(), SMESH_MeshEditor::SewSideElements(), StdMeshers_Quadrangle_2D::smooth(), VISCOUS_3D::_ViscousBuilder::smoothAndCheck(), and VISCOUS_3D::_Shrinker1D::SwapSrcTgtNodes().

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

Return ID of a shape this element was generated on.

Reimplemented from SMDS_MeshElement.

References BITS_SHIFT, and 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_MeshElement::GetType ( ) const
pure virtualinherited

Implemented in SMDS_FaceOfNodes, SMDS_LinearEdge, SMDS_MeshCell, SMDS_MeshEdge, SMDS_MeshFace, SMDS_MeshNode, SMDS_MeshVolume, SMDS_PolygonalFaceOfNodes, and SMDS_VolumeOfNodes.

Referenced by SMDS_MeshInfo::add(), SMESHDS_SubMesh::add(), SMDS_MeshGroup::Add(), SMDS_Mesh::addChildrenWithNodes(), SMESHDS_SubMesh::AddElement(), SMESH_MeshEditor_i::AddNodeOnFace(), SMESH_MeshEditor_i::AffectedElemGroupsInRegion(), SMESH_Pattern_i::ApplyToHexahedrons(), SMESH_Pattern_i::ApplyToMeshFaces(), SMESH_Mesh_i::BaryCenter(), SMDS_ElementHolder::beforeCompacting(), SMESH_MeshEditor::BestSplit(), SMESH_MeshEditor_i::BestSplit(), DriverMED::buildMeshGrille(), StdMeshers_Prism_3D::compute(), StdMeshers_Projection_2D::Compute(), StdMeshers_Projection_3D::Compute(), StdMeshers_RadialPrism_3D::Compute(), SMDS_Mesh::Contains(), SMESH_ProxyMesh::SubMesh::Contains(), SMESH_MeshEditor::convertElemToQuadratic(), SMESH_MeshEditor::ConvertFromQuadratic(), SMESH_MeshEditor::ConvertToQuadratic(), MeshEditor_I::TPreviewMesh::Copy(), SMESH_Gen_i::CopyMesh(), SMESH_MeshAlgos::DeMerge(), SMESH_MeshEditor::DoubleElements(), SMDS_Mesh::DownCast(), SMESH::SelectionProxy::elementControl(), SMESH::SelectionProxy::elementNormal(), SMESH::SelectionProxy::elementType(), SMESH_MeshEditor::ExtrusionSweep(), SMESH_MeshAlgos::FaceNormal(), SMESHDS_GroupBase::findInMesh(), SMESH_MeshEditor::FindShape(), findTriangles(), SMESH_MeshEditor::generateGroups(), SMESH_MeshAlgos::Get1DBranches(), SMESH_Gen_i::GetBadInputElements(), SMESH_MeshAlgos::GetDistance(), StdMeshers_FaceSide::GetEdgeNodes(), SMESHGUI_PreVisualObj::GetEdgeNodes(), SMESH_MeshObj::GetElemDimension(), SMESH_subMesh_i::GetElementsByType(), SMESH::Controls::Filter::GetElementsId(), SMDS_Mesh::GetElementType(), DriverMED_R_SMESHDS_Mesh::GetGroup(), SMESH_MeshEditor::GetLinkedNodes(), SMESH_MeshEditor_i::GetPreviewData(), SMESH_Mesh_i::GetSubMeshElementType(), SMESH_MeshAlgos::Triangulate::GetTriangles(), SMESH::Controls::MultiConnection2D::GetValue(), StdMeshers_Import_1D::importMesh(), SMESH_MeshEditor::ElemFeatures::Init(), SMESH_MeshEditor::InsertNodesIntoLink(), SMESH_MeshEditor::InverseDiag(), SMESH::Controls::NumericalFunctor::IsApplicable(), SMESHGUI_PredicateFilter::IsObjValid(), SMESHGUI_QuadrangleFilter::IsObjValid(), SMESHGUI_TriangleFilter::IsObjValid(), SMESHGUI_FacesFilter::IsObjValid(), SMESHGUI_VolumesFilter::IsObjValid(), SMESH_MeshAlgos::IsOut(), SMESH_MesherHelper::IsQuadraticSubMesh(), SMESH::Controls::FreeEdges::IsSatisfy(), SMESH::Controls::BelongToGeom::IsSatisfy(), SMESH::Controls::LyingOnGeom::IsSatisfy(), SMESH::Controls::FreeFaces::IsSatisfy(), SMESH::Controls::LinearOrQuadratic::IsSatisfy(), SMESH::Controls::ElemGeomType::IsSatisfy(), SMESH::Controls::ConnectedElements::IsSatisfy(), SMESH::Controls::RangeOfIds::IsSatisfy(), SMESHGUI_PredicateFilter::IsValid(), SMESHGUI_QuadrangleFilter::IsValid(), SMESHGUI_TriangleFilter::IsValid(), SMESHGUI_FacesFilter::IsValid(), SMESHGUI_VolumesFilter::IsValid(), StdMeshers_Penta_3D::LoadIJNodes(), StdMeshers_Penta_3D::MakeBlock(), SMESH_MeshEditor::MakeBoundaryMesh(), SMESH_Mesh_i::MakeGroupsOfBadInputElements(), StdMeshers_Penta_3D::MakeMeshOnFxy1(), SMESH_MeshAlgos::MakeOffset(), SMESH_MeshAlgos::MakeSlot(), SMESH_MeshEditor::makeWalls(), StdMeshers_QuadToTriaAdaptor::MergePiramids(), SMDS_MeshNode::NbInverseElements(), SMESH::Predicate_i::NbSatisfying(), MyIterator< VALUE >::next(), SMESH::SelectionProxy::nodeConnectivity(), SMESHGUI_3TypesSelector::onTextChange(), SMESHGUI_MeshPatternDlg::onTextChanged(), SMDS_MeshElement::TypeFilter::operator()(), TIDTypeCompare::operator()(), DriverCGNS_Read::Perform(), DriverMED_R_SMESHDS_Mesh::Perform(), DriverUNV_R_SMDS_Mesh::Perform(), StdMeshers_Prism_3D::projectBottomToTop(), SMESH_MeshEditor::QuadToTri(), SMDS_MeshInfo::remove(), SMESHDS_Mesh::RemoveElement(), SMDS_Mesh::RemoveElement(), SMESHDS_SubMesh::RemoveElement(), SMESHDS_Mesh::RemoveFreeElement(), SMDS_Mesh::RemoveFreeElement(), SMESH_MeshEditor::Reorient(), SMESH_MeshEditor_i::Reorient2D(), SMESH_MeshEditor::Reorient2DBy3D(), SMESH_MeshEditor::RotationSweep(), SMDS_VolumeTool::Set(), SMESH::Controls::CoplanarFaces::SetMesh(), StdMeshers_MaxElementArea::SetParametersByMesh(), StdMeshers_MaxElementVolume::SetParametersByMesh(), SMESH_MeshEditor::SewFreeBorder(), SMESH_MeshEditor::SewSideElements(), SMESHGUI_SplitVolumesDlg::showFacetByElement(), SMESH_MeshEditor::Smooth(), DriverMED_Family::SplitByType(), SMESH_MeshEditor::SplitFace(), SMESH_MeshEditor::SplitVolumes(), SMESH_MeshEditor::sweepElement(), SMESH_MeshEditor::TriToQuad(), and SMESH_Algo::VertexNode().

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

Implements SMDS_MeshElement.

◆ interlacedNodesIterator()

◆ isMarked()

bool SMDS_CellOfNodes::isMarked ( ) const
virtual

Check if this element is marked.

Reimplemented from SMDS_MeshElement.

References BIT_IS_MARKED, and myShapeID.

◆ IsMediumNode()

◆ IsNull()

◆ IsPoly()

◆ IsQuadratic()

virtual bool SMDS_MeshElement::IsQuadratic ( ) const
pure virtualinherited

Implemented in SMDS_FaceOfNodes, SMDS_LinearEdge, SMDS_MeshCell, SMDS_MeshNode, SMDS_PolygonalFaceOfNodes, and SMDS_VolumeOfNodes.

Referenced by averageByElement(), SMESH_MeshEditor::BestSplit(), centroidalSmooth(), StdMeshers_Projection_3D::Compute(), StdMeshers_RadialPrism_3D::Compute(), SMESH_MeshEditor::convertElemToQuadratic(), SMESH_MeshEditor::ConvertFromQuadratic(), SMESH_MeshEditor::ConvertToQuadratic(), SMESH_MeshAlgos::DeMerge(), StdMeshers_Import_1D::Evaluate(), StdMeshers_Import_1D2D::Evaluate(), StdMeshers_Projection_3D::Evaluate(), SMESH_MeshEditor::ExtrusionSweep(), SMESH_MeshAlgos::FindFaceInSet(), SMESH_MeshEditor::FindMatchingNodes(), StdMeshers_ProjectionUtils::FindMatchingNodesOnFaces(), SMESH_MeshAlgos::FindSharpEdges(), SMESH_MesherHelper::FixQuadraticElements(), getAngle(), SMESH_ElementSearcherImpl::getIntersParamOnLine(), SMESH_MeshEditor::GetLinkedNodes(), SMESH_MesherHelper::GetMediumPos(), SMESH::Controls::AspectRatio3D::GetValue(), SMESH_MeshEditor::ElemFeatures::Init(), SMESH_MeshEditor::InsertNodesIntoLink(), SMDS_VolumeTool::IsFreeFace(), SMDS_VolumeTool::IsFreeFaceCheckAllNodes(), SMDS_VolumeTool::IsLinked(), SMESHGUI_QuadrangleFilter::IsObjValid(), SMESHGUI_TriangleFilter::IsObjValid(), SMESH_Mesh_i::IsQuadratic(), SMESH_MesherHelper::IsQuadraticSubMesh(), SMESH_MeshAlgos::IsRightOrder(), SMESH::Controls::LinearOrQuadratic::IsSatisfy(), SMESHGUI_QuadrangleFilter::IsValid(), SMESHGUI_TriangleFilter::IsValid(), StdMeshers_Penta_3D::MakeBlock(), SMESH_MeshEditor::MakeBoundaryMesh(), SMESH_MeshEditor::makeWalls(), SMDS_VolumeTool::MaxLinearSize2(), SMDS_VolumeTool::MinLinearSize2(), DriverCGNS_Read::Perform(), SMESH_MeshEditor::QuadToTri(), SMDS_MeshInfo::RemoveEdge(), SMESH_MeshEditor::RemoveNodeWithReconnection(), SMESH_MeshEditor::removeQuadElem(), SMESH_MeshEditor::RotationSweep(), SMESH_MeshEditor::Smooth(), SMESH_MeshEditor::SplitFace(), SMESH_MeshEditor::SplitVolumes(), and SMESH_MeshEditor::sweepElement().

◆ 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_MeshElement::NbCornerNodes ( ) const
pure virtualinherited

Implemented in SMDS_FaceOfNodes, SMDS_LinearEdge, SMDS_MeshCell, SMDS_MeshNode, SMDS_MeshVolume, SMDS_PolygonalFaceOfNodes, and SMDS_VolumeOfNodes.

Referenced by StdMeshers_Quadrangle_2D::check(), StdMeshers_Prism_3D::compute(), StdMeshers_Import_1D2D::Compute(), StdMeshers_QuadToTriaAdaptor::Compute(), SMESH_MeshEditor::convertElemToQuadratic(), SMESH_MeshEditor::ConvertFromQuadratic(), SMESH_MeshEditor::ConvertToQuadratic(), SMESH_Mesh_i::CreateDimGroup(), SMESH_MeshAlgos::Intersector::CutByPlanes(), StdMeshers_Import_1D2D::Evaluate(), SMESH_MeshAlgos::FaceNormal(), SMDS_Mesh::FindElement(), findExistingTriangulation(), VISCOUS_3D::_LayerEdge::FindIntersection(), SMESH_ElementSearcherImpl::findOuterBoundary(), SMESH_MeshAlgos::FindSharpEdges(), findTriangles(), VISCOUS_3D::_ViscousBuilder::fixBadFaces(), SMESH_2D_Algo::FixInternalNodes(), SMESH_MesherHelper::FixQuadraticElements(), VISCOUS_3D::getDistFromEdge(), SMESH_VisualObjDef::GetEdgeNodes(), SMESHGUI_PreVisualObj::GetEdgeNodes(), MeshEditor_I::getElementsAround(), SMESH_Algo::GetMeshError(), VISCOUS_3D::_Simplex::GetSimplices(), StdMeshers_Prism_3D::getSweepTolerance(), SMESH_ProxyMesh::HasPrismsOnTwoSides(), SMESH_MesherHelper::IsDistorted2D(), SMDS_VolumeTool::IsLinked(), SMDS_MeshElement::IsMediumNode(), SMESH_MeshAlgos::IsOn2DBoundary(), SMESH_MesherHelper::IsQuadraticSubMesh(), SMESH_MesherHelper::IsReversedSubMesh(), StdMeshers_QuadToTriaAdaptor::LimitHeight(), VISCOUS_3D::_ViscousBuilder::limitStepSize(), SMESH_Pattern::Load(), SMESH_MeshEditor::MakeBoundaryMesh(), VISCOUS_3D::_ViscousBuilder::makeGroupOfLE(), VISCOUS_3D::_ViscousBuilder::makeLayer(), SMESH_MeshAlgos::MakeSlot(), StdMeshers_QuadToTriaAdaptor::MergeAdjacent(), StdMeshers_QuadToTriaAdaptor::MergePiramids(), StdMeshers_QuadToTriaAdaptor::Preparation(), StdMeshers_Sweeper::prepareTopBotDelaunay(), StdMeshers_Prism_3D::projectBottomToTop(), SMESH_MeshEditor::QuadTo4Tri(), SMESH_MeshEditor::QuadToTri(), VISCOUS_3D::_ViscousBuilder::refine(), SMESH_MeshEditor::removeQuadElem(), SMESH_MeshEditor::Reorient2D(), SMESH_MeshEditor::Reorient2DBy3D(), SMESH_MeshAlgos::SeparateFacesByEdges(), SMDS_VolumeTool::Set(), SMESH::Controls::CoplanarFaces::SetMesh(), StdMeshers_Quadrangle_2D::smooth(), SMESH_MeshEditor::Smooth(), SMESH_MeshEditor::SplitFace(), SMESH_MeshEditor::sweepElement(), SMESH_MeshEditor::TriToQuad(), and SMDS_MeshElement::WrappedIndex().

◆ NbEdges()

virtual int SMDS_MeshElement::NbEdges ( ) const
pure virtualinherited

◆ NbFaces()

◆ NbNodes()

virtual int SMDS_MeshElement::NbNodes ( ) const
pure virtualinherited

Implemented in SMDS_FaceOfNodes, SMDS_LinearEdge, SMDS_MeshCell, SMDS_MeshNode, SMDS_MeshVolume, SMDS_PolygonalFaceOfNodes, and SMDS_VolumeOfNodes.

Referenced by SMDS_MeshInfo::add(), SMESH_Delaunay::addCloseNodes(), SMESH_MeshEditor_i::AddPolyhedralVolumeByFaces(), SMESH_MeshEditor::applyMerge(), SMESH_Pattern_i::ApplyToHexahedrons(), averageByElement(), SMESH_MeshEditor::BestSplit(), SMESH_MeshEditor_i::BestSplit(), SMESH_VisualObjDef::buildElemPrs(), centroidalSmooth(), ComparableElement::ComparableElement(), StdMeshers_Import_1D::Compute(), StdMeshers_Import_1D2D::Compute(), StdMeshers_Projection_3D::Compute(), StdMeshers_RadialPrism_3D::Compute(), SMESH_Gen_i::ConcatenateCommon(), SMESH_MeshEditor::ConvertFromQuadratic(), MeshEditor_I::TPreviewMesh::Copy(), SMESH_Gen_i::CopyMesh(), SMESH_Gen_i::CopyMeshWithGeom(), SMESH_Mesh_i::CreateDimGroup(), SMESHGUI_CuttingOfQuadsDlg::displayPreview(), SMESH_MeshEditor::doubleNodes(), SMESH::SelectionProxy::elementGravityCenter(), StdMeshers_Import_1D2D::Evaluate(), StdMeshers_Projection_3D::Evaluate(), SMESH_MeshEditor::ExtrusionSweep(), SMDS_Mesh::Find0DElement(), SMESH_ElementSearcherImpl::FindClosestTo(), SMESH_MeshAlgos::FindCoincidentFreeBorders(), SMDS_Mesh::FindEdge(), SMDS_Mesh::FindElement(), SMDS_Mesh::FindFace(), SMESH_MeshAlgos::FindFaceInSet(), SMESH_MeshAlgos::FindFreeBorders(), SMESH_MeshEditor::FindMatchingNodes(), StdMeshers_ProjectionUtils::FindMatchingNodesOnFaces(), SMESH_MesherHelper::FixQuadraticElements(), SMESH_Gen_i::GetBadInputElements(), getBadRate(), SMESH_MeshAlgos::GetCommonNodes(), SMESH_Mesh_i::GetElemNbNodes(), SMESH_Mesh_i::GetElemNode(), getFinitElements(), SMESH_ElementSearcherImpl::getIntersParamOnLine(), SMESH_MeshEditor::GetLinkedNodes(), SMESH_MeshAlgos::Triangulate::GetNbTriangles(), SMESH::Controls::NumericalFunctor::GetPoints(), SMESH_MeshEditor_i::GetPreviewData(), getQuadrangleNodes(), SMESH_MeshAlgos::Triangulate::GetTriangles(), SMESH::Controls::MultiConnection2D::GetValue(), StdMeshers_Import_1D::importMesh(), SMESH_MeshEditor::InsertNodesIntoLink(), SMESH::Controls::Warping::IsApplicable(), SMESH::Controls::Taper::IsApplicable(), SMESH::Controls::Skew::IsApplicable(), SMESHGUI_QuadrangleFilter::IsObjValid(), SMESHGUI_TriangleFilter::IsObjValid(), SMESH_MeshAlgos::IsOut(), SMESH_MeshAlgos::IsRightOrder(), SMESH::Controls::ElementsOnShape::IsSatisfy(), SMESH::Controls::CoincidentElements::IsSatisfy(), SMESH::Controls::FreeEdges::IsSatisfy(), SMESH::Controls::FreeFaces::IsSatisfy(), SMESHGUI_QuadrangleFilter::IsValid(), SMESHGUI_TriangleFilter::IsValid(), SMDS_MeshElement::IsValidIndex(), _QuadFaceGrid::LoadGrid(), StdMeshers_Penta_3D::LoadIJNodes(), StdMeshers_Penta_3D::MakeBlock(), SMESH_MeshEditor::MakeBoundaryMesh(), StdMeshers_Penta_3D::MakeMeshOnFxy1(), VISCOUS_3D::_ViscousBuilder::MakeN2NMap(), SMESH_Pattern::makePolyElements(), StdMeshers_Penta_3D::MakeVolumeMesh(), StdMeshers_QuadToTriaAdaptor::MergePiramids(), SMESH_MeshAlgos::NbCommonNodes(), SMDS_FaceOfNodes::NbCornerNodes(), SMDS_LinearEdge::NbCornerNodes(), SMDS_PolygonalFaceOfNodes::NbCornerNodes(), SMDS_VolumeOfNodes::NbCornerNodes(), DriverCGNS_Read::Perform(), DriverCGNS_Write::Perform(), DriverDAT_W_SMDS_Mesh::Perform(), DriverMED_W_SMESHDS_Mesh::PerformInternal(), SMESH_Gen_i::Precompute(), StdMeshers_QuadToTriaAdaptor::Preparation(), StdMeshers_Sweeper::prepareTopBotDelaunay(), SMESH_MeshEditor::QuadToTri(), SMDS_MeshInfo::remove(), SMESH_MeshEditor::RotationSweep(), SMDS_VolumeTool::Set(), SMESH_MeshEditor::SewFreeBorder(), SMESH_MeshEditor::SewSideElements(), SMESHGUI_SplitVolumesDlg::showFacetByElement(), VISCOUS_2D::_ViscousBuilder2D::shrink(), VISCOUS_3D::_ViscousBuilder::shrink(), SMESH_MeshEditor::Smooth(), SMESH_MeshEditor::SplitFace(), SMESH_MeshEditor::SplitVolumes(), VISCOUS_3D::_Shrinker1D::SwapSrcTgtNodes(), SMESH_MeshEditor::sweepElement(), SMESH_MeshEditor::Transform(), and SMESH_MeshEditor::TriToQuad().

◆ nodeIterator()

◆ nodesIterator()

virtual SMDS_ElemIteratorPtr SMDS_MeshElement::nodesIterator ( ) const
pure virtualinherited

Implemented in SMDS_FaceOfNodes, SMDS_LinearEdge, SMDS_MeshCell, SMDS_MeshNode, SMDS_PolygonalFaceOfNodes, SMDS_VolumeOfNodes, and SMDS_MeshVolume.

Referenced by SMDS_Mesh::addChildrenWithNodes(), SMESH_MeshEditor_i::AddPolyhedralVolumeByFaces(), SMESH_MeshEditor::AffectedElemGroupsInRegion(), SMESH_MeshEditor::applyMerge(), averageByElement(), SMESH_Mesh_i::BaryCenter(), SMESH_MeshEditor::BestSplit(), SMESH_VisualObjDef::buildElemPrs(), ComparableElement::ComparableElement(), StdMeshers_Projection_2D::Compute(), MeshEditor_I::TPreviewMesh::Copy(), SMESH_Gen_i::CopyMesh(), SMESH_MeshEditor::Create0DElementsOnAllNodes(), SMESH_Mesh_i::CreateDimGroup(), SMESH_Pattern::createElements(), SMESHGUI_CuttingOfQuadsDlg::displayPreview(), SMESHGUI_CreatePolyhedralVolumeDlg::displaySimulation(), SMESH_MeshEditor::doubleNodes(), SMESH_MeshEditor::DoubleNodesInRegion(), SMESH::SelectionProxy::elementGravityCenter(), StdMeshers_Import_1D2D::Evaluate(), SMESH_ElementSearcherImpl::FindClosestTo(), SMDS_Mesh::FindEdge(), VISCOUS_3D::_ViscousBuilder::findEdgesToUpdateNormalNearConvexFace(), SMDS_Mesh::FindFace(), SMESHGUI_MergeDlg::FindGravityCenter(), SMESH_MeshEditor::FindShape(), getAngle(), SMESH_subMesh_i::GetElementsByType(), SMESH_MeshEditor::GetLinkedNodes(), SMDS_MeshElement::GetNodeIndex(), getNodesFromElems(), getQuadrangleNodes(), SMESH_Mesh_i::GetSubMeshNodesId(), StdMeshers_Prism_3D::getSweepTolerance(), SMESH_ElementSearcherImpl::getTolerance(), SMESH::Controls::MultiConnection2D::GetValue(), SMESH_MeshEditor::InverseDiag(), SMESH_MesherHelper::IsReversedSubMesh(), SMESH::Controls::LyingOnGeom::IsSatisfy(), SMESH::Controls::FreeFaces::IsSatisfy(), SMESH::Controls::ConnectedElements::IsSatisfy(), SMESH_Pattern::Load(), StdMeshers_Penta_3D::LoadIJNodes(), StdMeshers_Penta_3D::MakeMeshOnFxy1(), SMESH_MeshEditor::ExtrusParam::makeNodesByNormal2D(), SMESH_MeshAlgos::MakeOffset(), SMESH_Pattern::makePolyElements(), SMESH_MeshAlgos::MarkElemNodes(), SMESH_MeshEditor::MergeNodes(), DriverDAT_W_SMDS_Mesh::Perform(), DriverMED_W_SMESHDS_Mesh::PerformInternal(), StdMeshers_QuadToTriaAdaptor::Preparation(), SMESH::Controls::ElementsOnSurface::process(), SMESH_MeshEditor::QuadToTri(), SMESH_MeshEditor::Reorient(), SMESH_MeshEditor::RotationSweep(), SMESH_MeshEditor::ExtrusParam::SetElementsToUse(), SMESH_MeshEditor::SewSideElements(), SMESH_MeshEditor::Smooth(), VISCOUS_3D::_ViscousBuilder::smoothAndCheck(), VISCOUS_3D::_Shrinker1D::SwapSrcTgtNodes(), and SMESH_MeshEditor::Transform().

◆ nodesIteratorToUNV()

virtual SMDS_NodeIteratorPtr SMDS_MeshElement::nodesIteratorToUNV ( ) const
virtualinherited

Reimplemented in SMDS_MeshCell.

◆ Print()

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

Print self.

Reimplemented in SMDS_FaceOfNodes, SMDS_MeshNode, SMDS_PolygonalFaceOfNodes, and SMDS_VolumeOfNodes.

Referenced by operator<<().

◆ setID()

void SMDS_CellOfNodes::setID ( const smIdType  id)
protectedvirtual

References myID.

Referenced by VISCOUS_3D::_TmpMeshFace::_TmpMeshFace().

◆ setIsMarked()

void SMDS_CellOfNodes::setIsMarked ( bool  is) const
virtual

Mark this element.

Reimplemented from SMDS_MeshElement.

References BIT_IS_MARKED, and myShapeID.

◆ setShapeID() [1/2]

void SMDS_CellOfNodes::setShapeID ( const int  shapeID)
protectedvirtual

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

Referenced by GetID(), and setID().

◆ myShapeID

int SMDS_CellOfNodes::myShapeID
protected