Version: 8.3.0
SMDS_MeshElement Class Referenceabstract

Base class for elements. More...

#include <SMDS_MeshElement.hxx>

Inheritance diagram for SMDS_MeshElement:

Data Structures

struct  EntityFilter
 
struct  Filter
 Filters of elements, to be used with SMDS_SetIterator. More...
 
struct  GeomFilter
 
struct  NonNullFilter
 
struct  TypeFilter
 

Public Types

typedef SMDS_StdIterator
< const SMDS_MeshNode
*, SMDS_ElemIteratorPtr
iterator
 

Public Member Functions

SMDS_ElemIteratorPtr nodesIterator () const
 Create an iterator which iterate on nodes owned by the element. More...
 
SMDS_ElemIteratorPtr edgesIterator () const
 Create an iterator which iterate on edges linked with or owned by the element. More...
 
SMDS_ElemIteratorPtr facesIterator () const
 Create an iterator which iterate on faces linked with or owned by the element. More...
 
virtual SMDS_ElemIteratorPtr elementsIterator (SMDSAbs_ElementType type) const
 
virtual SMDS_ElemIteratorPtr interlacedNodesElemIterator () const
 
virtual SMDS_NodeIteratorPtr nodeIterator () const
 
virtual SMDS_NodeIteratorPtr interlacedNodesIterator () const
 virtual, redefined in vtkEdge, vtkFace and vtkVolume classes More...
 
virtual SMDS_NodeIteratorPtr nodesIteratorToUNV () const
 virtual, redefined in vtkEdge, vtkFace and vtkVolume classes More...
 
iterator begin_nodes () const
 
iterator end_nodes () const
 
virtual int NbNodes () const
 Return The number of nodes owned by the current element. More...
 
virtual int NbEdges () const
 Return the number of edges owned by or linked with the current element. More...
 
virtual int NbFaces () const
 Return the number of faces owned by or linked with the current element. More...
 
int GetID () const
 
virtual SMDSAbs_ElementType GetType () const =0
 Return the type of the current element. More...
 
virtual SMDSAbs_EntityType GetEntityType () const =0
 
virtual SMDSAbs_GeometryType GetGeomType () const =0
 
virtual vtkIdType GetVtkType () const =0
 
virtual bool IsPoly () const
 
virtual bool IsQuadratic () const
 
virtual bool IsMediumNode (const SMDS_MeshNode *node) const
 
virtual int NbCornerNodes () const
 Return number of nodes excluding medium ones. More...
 
virtual const SMDS_MeshNodeGetNode (const int ind) const
 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 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...
 
ShortType getMeshId () const
 
LongType getshapeId () const
 
int getIdInShape () const
 
int getVtkId () const
 
void setIsMarked (bool is) const
 
bool isMarked () const
 

Protected Types

enum  Bits { BIT_IS_MARKED = 1, BITS_SHIFT = 1 }
 

Protected Member Functions

void setId (int id)
 
void setVtkId (int vtkId)
 
void setIdInShape (int id)
 
void setShapeId (LongType shapeId)
 
 SMDS_MeshElement (int ID=-1)
 
 SMDS_MeshElement (int id, ShortType meshId, LongType shapeId=0)
 
virtual void init (int id=-1, ShortType meshId=-1, LongType shapeId=0)
 
virtual void Print (std::ostream &OS) const
 

Protected Attributes

int myID
 Element index in vector SMDS_Mesh::myNodes or SMDS_Mesh::myCells. More...
 
int myVtkID
 index in vtkUnstructuredGrid More...
 
ShortType myMeshId
 SMDS_Mesh identification in SMESH. More...
 
LongType myShapeId
 SubShape and SubMesh identification in SMESHDS; one bit is used to mark the element. More...
 
int myIdInShape
 Element index in SMESHDS_SubMesh vector. More...
 

Friends

class SMDS_Mesh
 
class SMESHDS_Mesh
 
class SMESHDS_SubMesh
 
class SMDS_MeshElementIDFactory
 
std::ostream & operator<< (std::ostream &OS, const SMDS_MeshElement *)
 
bool SMDS_MeshElementIDFactory::BindID (int ID, SMDS_MeshElement *elem)
 

Detailed Description

Base class for elements.

Member Typedef Documentation

Member Enumeration Documentation

enum SMDS_MeshElement::Bits
protected
Enumerator
BIT_IS_MARKED 
BITS_SHIFT 

Constructor & Destructor Documentation

SMDS_MeshElement::SMDS_MeshElement ( int  ID = -1)
protected
SMDS_MeshElement::SMDS_MeshElement ( int  id,
ShortType  meshId,
LongType  shapeId = 0 
)
protected

Member Function Documentation

SMDS_ElemIteratorPtr SMDS_MeshElement::edgesIterator ( ) const

Create an iterator which iterate on edges linked with or owned by the element.

This method call elementsIterator().

References SMDSAbs_Edge.

Referenced by SMDS_Mesh::addChildrenWithNodes(), and DriverDAT_W_SMDS_Mesh::Perform().

SMDS_ElemIteratorPtr SMDS_MeshElement::facesIterator ( ) const

Create an iterator which iterate on faces linked with or owned by the element.

This method call elementsIterator().

References SMDSAbs_Face.

Referenced by SMDS_Mesh::addChildrenWithNodes(), and SMESH::Controls::ManifoldPart::getFacesByLink().

virtual SMDSAbs_EntityType SMDS_MeshElement::GetEntityType ( ) const
pure virtual

Implemented in VISCOUS_3D::_TmpMeshFace, SMDS_QuadraticVolumeOfNodes, SMDS_VolumeOfNodes, SMDS_FaceOfNodes, SMDS_VolumeOfFaces, SMDS_VtkVolume, SMDS_MeshNode, SMDS_QuadraticFaceOfNodes, SMDS_QuadraticEdge, SMDS_FaceOfEdges, SMDS_VtkEdge, SMDS_BallElement, SMDS_VtkFace, SMDS_PolygonalFaceOfNodes, SMDS_PolyhedralVolumeOfNodes, SMDS_LinearEdge, and SMDS_Mesh0DElement.

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(), StdMeshers_Import_1D2D::Evaluate(), SMESH_MesherHelper::FixQuadraticElements(), SMESH::Controls::TSequenceOfXYZ::getElementEntity(), SMESH_Mesh_i::GetElementGeomType(), SMESHDS_GroupOnFilter::getElementIds(), SMESH::Filter_i::GetMeshInfo(), getNbTriangles(), SMESH_MeshEditor_i::GetPreviewData(), getTriangles(), SMESH::Controls::MaxElementLength3D::GetValue(), SMESHGUI_SimpleElemInfo::information(), SMESHGUI_TreeElemInfo::information(), SMESH_MeshEditor::InverseDiag(), SMESH::Controls::ElemEntityType::IsSatisfy(), SMESH_MeshEditor::makeWalls(), SMDS_MeshElement::EntityFilter::operator()(), DriverCGNS_Write::Perform(), DriverGMF_Write::Perform(), SMDS_MeshInfo::RemoveFace(), SMESH_MeshEditor::RotationSweep(), DriverMED_W_Field::Set(), SMESH_MeshEditor::SplitBiQuadraticIntoLinear(), SMESH_MeshEditor::SplitVolumes(), SMESH_MeshEditor::sweepElement(), SMESH_MeshEditor::Transform(), and SMESHDS_GroupOnFilter::update().

int SMDS_MeshElement::GetID ( ) const

Referenced by SMESH_Gen_i::_GetInside(), SMESHDS_Mesh::Add0DElement(), SMESH_MeshEditor_i::Add0DElement(), SMESHDS_Mesh::Add0DElementWithID(), SMESHDS_Mesh::AddBall(), SMESH_MeshEditor_i::AddBall(), SMESHDS_Mesh::AddBallWithID(), SMESHDS_Mesh::AddEdge(), SMESH_MeshEditor_i::AddEdge(), SMESHDS_Mesh::AddEdgeWithID(), SMESHDS_SubMesh::AddElement(), SMESHDS_Mesh::AddFace(), SMESH_MeshEditor_i::AddFace(), SMESHDS_Mesh::AddFaceWithID(), SMESHDS_Mesh::AddNode(), SMESH_MeshEditor_i::AddNode(), SMESHDS_Mesh::AddNodeWithID(), SMESH_MeshEditor_i::AddPolygonalFace(), SMESHDS_Mesh::AddPolygonalFace(), SMESH_MeshEditor_i::AddPolyhedralVolume(), SMESHDS_Mesh::AddPolyhedralVolume(), SMESH_MeshEditor_i::AddPolyhedralVolumeByFaces(), SMESH_MeshEditor_i::AddQuadPolygonalFace(), SMESHDS_Mesh::AddQuadPolygonalFace(), SMESH_MeshEditor_i::AddVolume(), SMESHDS_Mesh::AddVolume(), SMESHDS_Mesh::AddVolumeWithID(), SMESH_MeshEditor_i::AffectedElemGroupsInRegion(), SMESH_VisualObjDef::buildElemPrs(), SMESHDS_Mesh::ChangeElementNodes(), SMESHDS_Mesh::ChangePolyhedronNodes(), SMESHGUI_CreatePolyhedralVolumeDlg::checkEditLine(), SMESH_MesherHelper::CheckNodeU(), cleanSubMesh(), SMDS_Mesh::Clear(), StdMeshers_Projection_3D::Compute(), StdMeshers_Import_1D2D::Compute(), StdMeshers_RadialPrism_3D::Compute(), StdMeshers_Prism_3D::compute(), VISCOUS_3D::_ViscousBuilder::computeGeomSize(), SMESH_Gen_i::ConcatenateCommon(), SMESHDS_GroupOnFilter::Contains(), SMESHDS_GroupBase::Contains(), SMESH_MeshEditor::convertElemToQuadratic(), SMESH_MeshEditor::ConvertFromQuadratic(), SMESH_MeshEditor::ConvertToQuadratic(), MeshEditor_I::TPreviewMesh::Copy(), SMESH_Gen_i::CopyMesh(), SMESH_Mesh_i::CreateDimGroup(), SMESH_MeshEditor::CreateFlatElementsOnFacesGroups(), SMESH_MeshEditor::CreateHoleSkin(), SMESH_VisualObjDef::createPoints(), SMESHGUI_CuttingOfQuadsDlg::displayPreview(), SMESHGUI_CreatePolyhedralVolumeDlg::displaySimulation(), SMESH_MeshEditor::DoubleNodesOnGroupBoundaries(), StdMeshers_PrismAsBlock::THorizontalEdgeAdaptor::dumpNodes(), enlargeBoundingBox(), SMESH_OctreeNode::FindCoincidentNodes(), VISCOUS_3D::_ViscousBuilder::findCollisionEdges(), SMESH::Controls::ManifoldPart::findConnected(), SMESH_Mesh_i::FindElementByNodes(), SMESH_MeshEditor::FindEqualElements(), SMESH_MeshEditor::FindFreeBorder(), SMESH_MeshEditor::FindMatchingNodes(), SMESH_MeshEditor::FindShape(), findTriangles(), SMESH::Controls::FreeEdges::GetBoreders(), VISCOUS_3D::getDistFromEdge(), SMESHGUI_PreVisualObj::GetEdgeNodes(), SMESH_VisualObjDef::GetEdgeNodes(), SMESHDS_GroupOnFilter::getElementIds(), MeshEditor_I::getElementsAround(), SMESH_subMesh_i::GetElementsByType(), SMESH::Controls::Filter::GetElementsId(), SMESH_Mesh_i::GetElemNode(), LinkID_Gen::GetLinkID(), SMESH::Filter_i::GetMeshInfo(), SMESH::Filter_i::GetNbElementsByType(), SMESH_Mesh_i::GetNodeInverseElements(), SMESH::Controls::ElementsOnShape::getNodeIsOut(), getNodeNodeDistance(), SMESHGUI_PreVisualObj::GetNodeObjId(), SMESH_VisualObjDef::GetNodeObjId(), SMESHGUI_PreVisualObj::GetNodeVTKId(), VISCOUS_3D::_EdgesOnShape::GetNormal(), SMESH_MeshEditor_i::GetPreviewData(), SMESH_Mesh_i::GetSubMeshNodesId(), SMESH::Controls::MultiConnection2D::GetValue(), SMESH::Controls::Length2D::GetValues(), SMESH::Controls::MultiConnection2D::GetValues(), SMESH_TLink::HashCode(), SMESHGUI_SimpleElemInfo::information(), VISCOUS_3D::_ViscousBuilder::invalidateBadSmooth(), SMESH::Controls::FreeEdges::IsFreeEdge(), SMESH::Controls::ManifoldPart::isInPlane(), SMESH::Controls::ConnectedElements::IsSatisfy(), SMESH_ProxyMesh::IsTemporary(), VISCOUS_3D::_ViscousBuilder::makeGroupOfLE(), SMESH_Mesh_i::MakeGroupsOfBadInputElements(), StdMeshers_Penta_3D::MakeMeshOnFxy1(), StdMeshers_Penta_3D::MakeNodes(), StdMeshers_Penta_3D::MakeVolumeMesh(), SMESH_MeshEditor_i::MoveClosestNodeToPoint(), SMESHDS_Mesh::MoveNode(), SMESH::Predicate_i::NbSatisfying(), SMESHGUI_ElemInfo::nodeConnectivity(), SMESHGUI_TreeElemInfo::nodeInfo(), SMESHGUI_SingleEditDlg::onTextChange(), SMESHGUI_CreatePolyhedralVolumeDlg::onTextChange(), SMESHGUI_ExtrusionAlongPathDlg::onTextChange(), SMESHGUI_ScaleDlg::onTextChange(), SMESHGUI_TranslationDlg::onTextChange(), SMESHGUI_RotationDlg::onTextChange(), SMESHGUI_SymmetryDlg::onTextChange(), SMESHGUI_SewingDlg::onTextChange(), SMESHGUI_MeshPatternDlg::onTextChanged(), TIDTypeCompare::operator()(), TIDCompare::operator()(), Prism_3D::TNode::operator<(), operator<<(), DriverDAT_W_SMDS_Mesh::Perform(), DriverUNV_W_SMDS_Mesh::Perform(), DriverCGNS_Write::Perform(), DriverMED_W_SMESHDS_Mesh::Perform(), SMDS_Mesh0DElement::Print(), SMDS_FaceOfEdges::Print(), SMDS_VtkVolume::Print(), SMDS_BallElement::Print(), SMDS_QuadraticEdge::Print(), SMESH::Controls::ManifoldPart::process(), SMESH::Controls::ElementsOnSurface::process(), StdMeshers_Prism_3D::projectBottomToTop(), SMESHDS_Mesh::RemoveElement(), SMESHDS_Mesh::RemoveFreeElement(), SMDS_Mesh::RemoveFreeElement(), SMESHDS_Mesh::RemoveFreeNode(), SMESHDS_Mesh::RemoveNode(), SMESH_MeshEditor::removeQuadElem(), SMESH_ProxyMesh::removeTmpElement(), SMDS_Mesh::Renumber(), SMESH_Gen_i::Save(), VISCOUS_3D::_ViscousBuilder::setEdgeData(), SMESH::Controls::CoplanarFaces::SetMesh(), SMESH::Controls::ElementsOnShape::setNodeIsOut(), StdMeshers_MaxElementVolume::SetParametersByMesh(), VISCOUS_2D::_ViscousBuilder2D::shrink(), SMESH_TLink::SMESH_TLink(), VISCOUS_3D::_ViscousBuilder::smoothAndCheck(), StdMeshers_MEFISTO_2D::StoreResult(), SMESH_MeshEditor::sweepElement(), and SMDS_Mesh::~SMDS_Mesh().

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

Return node by its index.

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

Reimplemented in VISCOUS_3D::_TmpMeshFace, SMDS_QuadraticVolumeOfNodes, SMDS_VolumeOfNodes, SMDS_QuadraticFaceOfNodes, SMDS_PolyhedralVolumeOfNodes, SMDS_PolygonalFaceOfNodes, SMDS_FaceOfNodes, SMDS_LinearEdge, SMDS_VtkVolume, SMDS_FaceOfEdges, SMDS_BallElement, SMDS_VtkEdge, SMDS_VtkFace, and SMDS_Mesh0DElement.

Referenced by _MyEdgeIterator::_MyEdgeIterator(), SMESH_MesherHelper::AddTLinks(), StdMeshers_Quadrangle_2D::check(), StdMeshers_Projection_3D::Compute(), StdMeshers_Import_1D::Compute(), StdMeshers_Import_1D2D::Compute(), StdMeshers_Hexa_3D::Compute(), StdMeshers_RadialPrism_3D::Compute(), StdMeshers_QuadToTriaAdaptor::Compute(), StdMeshers_Prism_3D::compute(), StdMeshers_QuadToTriaAdaptor::Compute2ndPart(), SMESH_MeshEditor::ConvertFromQuadratic(), SMESH_MeshEditor::ConvertToQuadratic(), StdMeshers_Import_1D::Evaluate(), StdMeshers_Import_1D2D::Evaluate(), SMESH_MeshAlgos::FaceNormal(), SMESH_MeshAlgos::FindCoincidentFreeBorders(), SMESH_MeshAlgos::FindFaceInSet(), SMESH_MeshEditor::FindMatchingNodes(), StdMeshers_ProjectionUtils::FindMatchingNodesOnFaces(), VISCOUS_3D::_ViscousBuilder::findNeiborsOnEdge(), SMESH_ElementSearcherImpl::findOuterBoundary(), VISCOUS_3D::_ViscousBuilder::findShapesToSmooth(), VISCOUS_3D::_ViscousBuilder::fixBadFaces(), SMESH_2D_Algo::FixInternalNodes(), SMESH_MesherHelper::FixQuadraticElements(), SMESH_MeshAlgos::GetCommonNodes(), VISCOUS_3D::getDistFromEdge(), SMESHGUI_PreVisualObj::GetEdgeNodes(), SMESH_VisualObjDef::GetEdgeNodes(), StdMeshers_FaceSide::GetEdgeNodes(), MeshEditor_I::getElementsAround(), SMESH_Mesh_i::GetElemNode(), SMESH_ElementSearcherImpl::getIntersParamOnLine(), SMESH_Algo::GetMeshError(), VISCOUS_3D::_Simplex::GetSimplices(), getTriangles(), SMESH_MesherHelper::IsQuadraticSubMesh(), SMESH_MesherHelper::IsReversedSubMesh(), SMESH::Controls::CoincidentElements::IsSatisfy(), SMESH::Controls::BareBorderFace::IsSatisfy(), SMESH::Controls::OverConstrainedFace::IsSatisfy(), StdMeshers_QuadToTriaAdaptor::LimitHeight(), VISCOUS_3D::_ViscousBuilder::limitStepSize(), _QuadFaceGrid::LoadGrid(), SMESH_MesherHelper::LoadNodeColumns(), VISCOUS_3D::_ViscousBuilder::makeGroupOfLE(), VISCOUS_3D::_ViscousBuilder::makeLayer(), VISCOUS_3D::_ViscousBuilder::MakeN2NMap(), StdMeshers_Penta_3D::MakeVolumeMesh(), StdMeshers_QuadToTriaAdaptor::MergeAdjacent(), StdMeshers_QuadToTriaAdaptor::MergePiramids(), DriverCGNS_Write::Perform(), DriverMED_W_SMESHDS_Mesh::Perform(), SMESH_Gen_i::Precompute(), StdMeshers_QuadToTriaAdaptor::Preparation(), VISCOUS_3D::_SolidData::PrepareEdgesToSmoothOnFace(), VISCOUS_3D::_ViscousBuilder::prepareEdgeToShrink(), StdMeshers_Prism_3D::projectBottomToTop(), SMESH_MeshEditor::Reorient2D(), SMESH::Controls::CoplanarFaces::SetMesh(), StdMeshers_SegmentLengthAroundVertex::SetParametersByMesh(), StdMeshers_Adaptive1D::SetParametersByMesh(), VISCOUS_2D::_ViscousBuilder2D::shrink(), VISCOUS_3D::_ViscousBuilder::shrink(), and StdMeshers_Quadrangle_2D::smooth().

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

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

Referenced by _MyEdgeIterator::_MyEdgeIterator(), SMESH_MeshEditor::GetLinkedNodes(), and SMESH_MeshEditor::makeWalls().

LongType SMDS_MeshElement::getshapeId ( ) const

Referenced by SMESHDS_SubMesh::AddElement(), SMESHDS_SubMesh::AddNode(), areNodesBound(), StdMeshers_Quadrangle_2D::check(), SMESH_MesherHelper::CheckNodeU(), SMESH_MesherHelper::CheckNodeUV(), StdMeshers_Import_1D2D::Compute(), VISCOUS_3D::_ViscousBuilder::computeGeomSize(), SMESH_MeshEditor::convertElemToQuadratic(), SMESH_MeshEditor::ConvertToQuadratic(), SMESH_MeshEditor::copyPosition(), SMESH_Pattern::createElements(), SMESH_MeshEditor::CreateHoleSkin(), SMESH_MeshEditor::DeleteDiag(), SMESH_Mesh_i::exportMEDFields(), 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(), StdMeshers_PrismAsBlock::HasNodeColumn(), StdMeshers_PrismAsBlock::Init(), SMESH_MeshEditor::InsertNodesIntoLink(), SMESH_MeshEditor::InverseDiag(), SMESH::Controls::BelongToGeom::IsSatisfy(), SMESH::Controls::LyingOnGeom::IsSatisfy(), VISCOUS_3D::_ViscousBuilder::makeLayer(), StdMeshers_QuadToTriaAdaptor::MergePiramids(), DriverGMF_Write::Perform(), VISCOUS_3D::_SolidData::PrepareEdgesToSmoothOnFace(), SMESH_MeshEditor::QuadTo4Tri(), SMESH_MeshEditor::Remove(), SMESHDS_SubMesh::RemoveElement(), SMESHDS_Mesh::RemoveElement(), SMESHDS_Mesh::RemoveFreeElement(), SMESHDS_Mesh::RemoveFreeNode(), SMESHDS_SubMesh::RemoveNode(), SMESH_MeshEditor::removeQuadElem(), VISCOUS_3D::_ViscousBuilder::setEdgeData(), VISCOUS_2D::_ViscousBuilder2D::shrink(), StdMeshers_Quadrangle_2D::smooth(), VISCOUS_3D::_ViscousBuilder::smoothAndCheck(), SMESH_MeshEditor::SplitBiQuadraticIntoLinear(), StdMeshers_PrismAsBlock::TPCurveOnHorFaceAdaptor::TPCurveOnHorFaceAdaptor(), SMESHDS_Mesh::UnSetNodeOnShape(), SMESH_MeshEditor::UpdateVolumes(), and StdMeshers_PrismAsBlock::TSideFace::Value().

virtual SMDSAbs_ElementType SMDS_MeshElement::GetType ( ) const
pure virtual

Return the type of the current element.

Implemented in VISCOUS_3D::_TmpMeshFace, SMDS_VolumeOfNodes, SMDS_VtkVolume, SMDS_MeshNode, SMDS_FaceOfEdges, SMDS_BallElement, SMDS_PolygonalFaceOfNodes, SMDS_PolyhedralVolumeOfNodes, SMDS_Mesh0DElement, SMDS_MeshVolume, SMDS_MeshFace, and SMDS_MeshEdge.

Referenced by SMDS_MeshGroup::Add(), SMESHDS_Group::Add(), SMDS_MeshInfo::add(), SMESHDS_Mesh::add(), SMDS_Mesh::addChildrenWithNodes(), SMESHDS_SubMesh::AddElement(), SMESH_MeshEditor::AffectedElemGroupsInRegion(), SMESH_Pattern_i::ApplyToHexahedrons(), SMESH_Pattern_i::ApplyToMeshFaces(), SMESH_Mesh_i::BaryCenter(), SMESH_MeshEditor_i::BestSplit(), DriverMED::buildMeshGrille(), SMDS_Mesh::ChangePolyhedronNodes(), StdMeshers_Projection_3D::Compute(), StdMeshers_Projection_2D::Compute(), StdMeshers_RadialPrism_3D::Compute(), StdMeshers_Prism_3D::compute(), SMESH_Gen_i::ConcatenateCommon(), SMESHDS_SubMesh::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(), SMESH_MeshEditor::DoubleNodesOnGroupBoundaries(), SMESH_MeshAlgos::FaceNormal(), SMESHDS_GroupBase::findInMesh(), SMESH_MeshEditor::FindShape(), findTriangles(), SMESH_MeshEditor::generateGroups(), SMESH_Gen_i::GetBadInputElements(), SMESH_MeshAlgos::GetDistance(), SMESHGUI_PreVisualObj::GetEdgeNodes(), StdMeshers_FaceSide::GetEdgeNodes(), SMESH_MeshObj::GetElemDimension(), SMESH_subMesh_i::GetElementsByType(), SMDS_Mesh::GetElementType(), DriverMED_R_SMESHDS_Mesh::GetGroup(), SMESH_MeshEditor::GetLinkedNodes(), SMESH::Controls::NumericalFunctor::GetPoints(), SMESH_MeshEditor_i::GetPreviewData(), SMESH_Mesh_i::GetSubMeshElementType(), SMESH::Controls::MultiConnection2D::GetValue(), StdMeshers_Import_1D::importMesh(), SMESHGUI_SimpleElemInfo::information(), SMESHGUI_TreeElemInfo::information(), SMESH_MeshEditor::ElemFeatures::Init(), SMESH_MeshEditor::InsertNodesIntoLink(), 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::RangeOfIds::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(), SMESHGUI_PredicateFilter::IsValid(), SMESHGUI_QuadrangleFilter::IsValid(), SMESHGUI_TriangleFilter::IsValid(), SMESHGUI_FacesFilter::IsValid(), SMESHGUI_VolumesFilter::IsValid(), StdMeshers_Penta_3D::LoadIJNodes(), StdMeshers_Penta_3D::MakeBlock(), SMESH_Mesh_i::MakeGroupsOfBadInputElements(), StdMeshers_Penta_3D::MakeMeshOnFxy1(), SMESH_MeshEditor::makeWalls(), StdMeshers_QuadToTriaAdaptor::MergePiramids(), SMDS_IteratorOfElements::more(), SMDS_MeshNode::NbInverseElements(), SMESH::Predicate_i::NbSatisfying(), MyIterator< const SMDS_MeshNode * >::next(), SMESHGUI_ElemInfo::nodeConnectivity(), SMESHGUI_3TypesSelector::onTextChange(), SMESHGUI_MeshPatternDlg::onTextChanged(), SMDS_MeshElement::TypeFilter::operator()(), TIDTypeCompare::operator()(), operator<(), DriverCGNS_Read::Perform(), DriverMED_R_SMESHDS_Mesh::Perform(), DriverUNV_R_SMDS_Mesh::Perform(), StdMeshers_Prism_3D::projectBottomToTop(), SMDS_MeshInfo::remove(), SMESHDS_Mesh::RemoveElement(), SMDS_Mesh::RemoveElement(), SMESHDS_Mesh::RemoveFreeElement(), SMDS_Mesh::RemoveFreeElement(), SMESH_MeshEditor::Reorient2D(), 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(), SMESHGUI_SplitVolumesDlg::showFacetByElement(), SMDS_IteratorOfElements::SMDS_IteratorOfElements(), SMDS_MeshNode_MyInvIterator::SMDS_MeshNode_MyInvIterator(), DriverMED_Family::SplitByType(), SMESH_MeshEditor::SplitVolumes(), SMESH_MeshEditor::sweepElement(), SMESHDS_Mesh::UnSetMeshElementOnShape(), and SMESH_Mesh::UNVToMesh().

SMDS_NodeIteratorPtr SMDS_MeshElement::interlacedNodesIterator ( ) const
virtual
bool SMDS_MeshElement::isMarked ( ) const
bool SMDS_MeshElement::IsQuadratic ( ) const
virtual

Reimplemented in SMDS_QuadraticVolumeOfNodes, SMDS_VtkVolume, SMDS_QuadraticFaceOfNodes, SMDS_QuadraticEdge, SMDS_VtkFace, and SMDS_VtkEdge.

Referenced by SMESH_MesherHelper::AddTLinks(), SMESH_MeshEditor::applyMerge(), centroidalSmooth(), StdMeshers_Projection_3D::Compute(), StdMeshers_RadialPrism_3D::Compute(), SMESH_MeshEditor::convertElemToQuadratic(), SMESH_MeshEditor::ConvertFromQuadratic(), SMESH_MeshEditor::ConvertToQuadratic(), SMESH_MeshEditor::CreateFlatElementsOnFacesGroups(), SMESH_MeshAlgos::DeMerge(), StdMeshers_Projection_3D::Evaluate(), StdMeshers_Import_1D::Evaluate(), StdMeshers_Import_1D2D::Evaluate(), SMESH_MeshAlgos::FindFaceInSet(), SMESH_MeshEditor::FindFreeBorder(), SMESH_MeshEditor::FindMatchingNodes(), StdMeshers_ProjectionUtils::FindMatchingNodesOnFaces(), SMESH_MesherHelper::FixQuadraticElements(), getAngle(), SMESH::Controls::FreeEdges::GetBoreders(), SMESH_MeshAlgos::GetDistance(), SMESH_ElementSearcherImpl::getIntersParamOnLine(), SMESH_MeshEditor::GetLinkedNodes(), SMESH_MesherHelper::GetMediumPos(), SMESH::Controls::NumericalFunctor::GetPoints(), SMESH::Controls::AspectRatio3D::GetValue(), SMESH::Controls::Length2D::GetValues(), SMESH::Controls::MultiConnection2D::GetValues(), SMESHGUI_SimpleElemInfo::information(), SMESHGUI_TreeElemInfo::information(), SMESH_MeshEditor::ElemFeatures::Init(), SMESH_MeshEditor::InsertNodesIntoLink(), SMESHGUI_QuadrangleFilter::IsObjValid(), SMESHGUI_TriangleFilter::IsObjValid(), SMESH_Mesh_i::IsQuadratic(), SMESH_MesherHelper::IsQuadraticSubMesh(), SMESH::Controls::LinearOrQuadratic::IsSatisfy(), SMESHGUI_QuadrangleFilter::IsValid(), SMESHGUI_TriangleFilter::IsValid(), SMESH::SMESH_MeshEditor::Make2DMeshFrom3D(), StdMeshers_Penta_3D::MakeBlock(), SMESH_MeshEditor::makeExtrElements(), SMESH_MeshEditor::makeWalls(), DriverUNV_W_SMDS_Mesh::Perform(), DriverCGNS_Read::Perform(), SMDS_MeshInfo::RemoveEdge(), SMESH_MeshEditor::removeQuadElem(), SMESH_MeshEditor::RotationSweep(), SMESH_MeshEditor::SewFreeBorder(), SMESH_MeshEditor::SplitVolumes(), and SMESH_MeshEditor::sweepElement().

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

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

Parameters
ind- node index
Return values
bool- index check result
int SMDS_MeshElement::NbCornerNodes ( ) const
virtual

Return number of nodes excluding medium ones.

Reimplemented in SMDS_VtkVolume, and SMDS_VtkFace.

Referenced by SMESH_Pattern::Apply(), StdMeshers_Quadrangle_2D::check(), StdMeshers_Import_1D2D::Compute(), StdMeshers_QuadToTriaAdaptor::Compute(), StdMeshers_Prism_3D::compute(), SMESH_MeshEditor::convertElemToQuadratic(), SMESH_MeshEditor::ConvertFromQuadratic(), SMESH_MeshEditor::ConvertToQuadratic(), SMESH_Mesh_i::CreateDimGroup(), StdMeshers_Import_1D2D::Evaluate(), SMESH_MeshAlgos::FaceNormal(), SMDS_Mesh::FindElement(), VISCOUS_3D::_LayerEdge::FindIntersection(), SMESH_ElementSearcherImpl::findOuterBoundary(), findTriangles(), VISCOUS_3D::_ViscousBuilder::fixBadFaces(), SMESH_2D_Algo::FixInternalNodes(), SMESH_MesherHelper::FixQuadraticElements(), SMESH_MeshAlgos::GetDistance(), VISCOUS_3D::getDistFromEdge(), SMESHGUI_PreVisualObj::GetEdgeNodes(), SMESH_VisualObjDef::GetEdgeNodes(), MeshEditor_I::getElementsAround(), SMESH_Algo::GetMeshError(), VISCOUS_3D::_Simplex::GetSimplices(), StdMeshers_Prism_3D::getSweepTolerance(), SMESH_MesherHelper::IsDistorted2D(), SMESH_MesherHelper::IsQuadraticSubMesh(), SMESH_MesherHelper::IsReversedSubMesh(), StdMeshers_QuadToTriaAdaptor::LimitHeight(), VISCOUS_3D::_ViscousBuilder::limitStepSize(), VISCOUS_3D::_ViscousBuilder::makeGroupOfLE(), VISCOUS_3D::_ViscousBuilder::makeLayer(), StdMeshers_QuadToTriaAdaptor::MergeAdjacent(), StdMeshers_QuadToTriaAdaptor::Preparation(), StdMeshers_Prism_3D::projectBottomToTop(), SMESH_MeshEditor::QuadTo4Tri(), VISCOUS_3D::_ViscousBuilder::refine(), SMESH_MeshEditor::removeQuadElem(), SMESH_MeshEditor::Reorient2D(), SMESH_MeshEditor::Reorient2DBy3D(), SMDS_VolumeTool::Set(), SMESH::Controls::CoplanarFaces::SetMesh(), StdMeshers_Quadrangle_2D::smooth(), and SMESH_MeshEditor::sweepElement().

int SMDS_MeshElement::NbFaces ( ) const
virtual
int SMDS_MeshElement::NbNodes ( ) const
virtual

Return The number of nodes owned by the current element.

Reimplemented in SMDS_QuadraticVolumeOfNodes, SMDS_VolumeOfNodes, SMDS_QuadraticFaceOfNodes, SMDS_MeshNode, SMDS_FaceOfEdges, SMDS_PolygonalFaceOfNodes, SMDS_BallElement, SMDS_FaceOfNodes, SMDS_LinearEdge, SMDS_PolyhedralVolumeOfNodes, SMDS_QuadraticEdge, SMDS_VtkEdge, SMDS_Mesh0DElement, SMDS_VtkFace, and SMDS_VtkVolume.

Referenced by _MyEdgeIterator::_MyEdgeIterator(), SMDS_MeshInfo::add(), SMESH_MeshEditor_i::AddPolyhedralVolumeByFaces(), SMESH_MesherHelper::AddTLinks(), SMESH_Pattern::Apply(), SMESH_MeshEditor::applyMerge(), SMESH_Pattern_i::ApplyToHexahedrons(), SMESH_MeshEditor_i::BestSplit(), SMESH_VisualObjDef::buildElemPrs(), centroidalSmooth(), StdMeshers_Projection_3D::Compute(), StdMeshers_Import_1D::Compute(), StdMeshers_Import_1D2D::Compute(), StdMeshers_RadialPrism_3D::Compute(), SMESH_Gen_i::ConcatenateCommon(), SMESH_MeshEditor::ConvertFromQuadratic(), MeshEditor_I::TPreviewMesh::Copy(), SMESH_Gen_i::CopyMesh(), SMESH_Mesh_i::CreateDimGroup(), SMESHGUI_CuttingOfQuadsDlg::displayPreview(), SMESH_MeshEditor::DoubleNodes(), SMESH_MeshEditor::doubleNodes(), StdMeshers_Projection_3D::Evaluate(), StdMeshers_Import_1D2D::Evaluate(), SMDS_Mesh::Find0DElement(), SMESH_ElementSearcherImpl::FindClosestTo(), SMESH_MeshAlgos::FindCoincidentFreeBorders(), SMDS_Mesh::FindEdge(), SMDS_Mesh::FindElement(), SMDS_Mesh::FindFace(), SMESH_MeshAlgos::FindFaceInSet(), SMESH_MeshEditor::FindFreeBorder(), SMESH_MeshEditor::FindMatchingNodes(), StdMeshers_ProjectionUtils::FindMatchingNodesOnFaces(), SMESH_MesherHelper::FixQuadraticElements(), SMESH_Gen_i::GetBadInputElements(), getBadRate(), SMESH_MeshAlgos::GetCommonNodes(), SMESH_MeshAlgos::GetDistance(), SMESH_Mesh_i::GetElemNbNodes(), SMESH_Mesh_i::GetElemNode(), getFinitElements(), SMESH_ElementSearcherImpl::getIntersParamOnLine(), SMESH_MeshEditor::GetLinkedNodes(), getLinks(), getNbTriangles(), SMESH::Controls::NumericalFunctor::GetPoints(), SMESH_MeshEditor_i::GetPreviewData(), getQuadrangleNodes(), getTriangles(), SMESH::Controls::MultiConnection2D::GetValue(), SMESHGUI_ElemInfo::gravityCenter(), StdMeshers_Import_1D::importMesh(), SMESHGUI_SimpleElemInfo::information(), SMESHGUI_TreeElemInfo::information(), SMESH_MeshEditor::InsertNodesIntoLink(), SMESHGUI_QuadrangleFilter::IsObjValid(), SMESHGUI_TriangleFilter::IsObjValid(), SMESH_MeshAlgos::IsOut(), SMESH::Controls::CoincidentElements::IsSatisfy(), SMESH::Controls::FreeEdges::IsSatisfy(), SMESH::Controls::ElementsOnShape::IsSatisfy(), SMESH::Controls::FreeFaces::IsSatisfy(), SMESHGUI_QuadrangleFilter::IsValid(), SMESHGUI_TriangleFilter::IsValid(), _QuadFaceGrid::LoadGrid(), StdMeshers_Penta_3D::LoadIJNodes(), StdMeshers_Penta_3D::MakeBlock(), SMESH_MeshEditor::makeExtrElements(), StdMeshers_Penta_3D::MakeMeshOnFxy1(), VISCOUS_3D::_ViscousBuilder::MakeN2NMap(), SMESH_Pattern::makePolyElements(), StdMeshers_Penta_3D::MakeVolumeMesh(), DriverDAT_W_SMDS_Mesh::Perform(), DriverUNV_W_SMDS_Mesh::Perform(), DriverCGNS_Write::Perform(), DriverCGNS_Read::Perform(), DriverMED_W_SMESHDS_Mesh::Perform(), SMESH_Gen_i::Precompute(), StdMeshers_QuadToTriaAdaptor::Preparation(), SMESH_MeshEditor::QuadToTri(), SMDS_MeshInfo::remove(), SMESH_MeshEditor::RotationSweep(), SMDS_MeshElementIDFactory::SetInVtkGrid(), SMESH_MeshEditor::SewFreeBorder(), SMESHGUI_SplitVolumesDlg::showFacetByElement(), VISCOUS_2D::_ViscousBuilder2D::shrink(), VISCOUS_3D::_ViscousBuilder::shrink(), SMESH_MeshEditor::SplitVolumes(), VISCOUS_3D::_Shrinker1D::SwapSrcTgtNodes(), SMESH_MeshEditor::sweepElement(), and SMESH_MeshEditor::Transform().

SMDS_ElemIteratorPtr SMDS_MeshElement::nodesIterator ( ) const

Create an iterator which iterate on nodes owned by the element.

This method call elementsIterator().

References SMDSAbs_Node.

Referenced by SMDS_Mesh::addChildrenWithNodes(), SMESH_MeshEditor_i::AddPolyhedralVolumeByFaces(), SMESH_MeshEditor::AffectedElemGroupsInRegion(), SMESH_Pattern::Apply(), SMESH_MeshEditor::applyMerge(), SMESH_Mesh_i::BaryCenter(), SMESH_VisualObjDef::buildElemPrs(), centroidalSmooth(), SMDS_Mesh::ChangePolyhedronNodes(), StdMeshers_Projection_2D::Compute(), SMESH_Gen_i::ConcatenateCommon(), MeshEditor_I::TPreviewMesh::Copy(), SMESH_Gen_i::CopyMesh(), SMESH_MeshEditor::Create0DElementsOnAllNodes(), SMESH_Mesh_i::CreateDimGroup(), SMESH_Pattern::createElements(), SMESH_MeshEditor::CreateFlatElementsOnFacesGroups(), SMESHGUI_CuttingOfQuadsDlg::displayPreview(), SMESHGUI_CreatePolyhedralVolumeDlg::displaySimulation(), SMESH_MeshEditor::DoubleNodes(), SMESH_MeshEditor::doubleNodes(), SMESH_MeshEditor::DoubleNodesInRegion(), enlargeBoundingBox(), StdMeshers_Import_1D2D::Evaluate(), SMESH_ElementSearcherImpl::FindClosestTo(), SMDS_Mesh::FindEdge(), SMDS_Mesh::FindFace(), SMESH_MeshEditor::FindFreeBorder(), SMESHGUI_MergeDlg::FindGravityCenter(), SMESH_MeshEditor::FindShape(), getAngle(), SMESH::Controls::FreeEdges::GetBoreders(), SMESH_MeshAlgos::GetDistance(), SMESH_subMesh_i::GetElementsByType(), getFinitElements(), SMESH_MeshEditor::GetLinkedNodes(), getLinks(), getNodesFromElems(), SMESH::Controls::NumericalFunctor::GetPoints(), getQuadrangleNodes(), SMESH_Mesh_i::GetSubMeshNodesId(), StdMeshers_Prism_3D::getSweepTolerance(), SMESH_ElementSearcherImpl::getTolerance(), SMESH::Controls::MultiConnection2D::GetValue(), SMESH::Controls::Length2D::GetValues(), SMESH::Controls::MultiConnection2D::GetValues(), SMESHGUI_ElemInfo::gravityCenter(), SMESHGUI_SimpleElemInfo::information(), SMESHGUI_TreeElemInfo::information(), SMESH_MeshEditor::InsertNodesIntoLink(), SMESH_MeshEditor::InverseDiag(), SMESH_MesherHelper::IsReversedSubMesh(), SMESH::Controls::ElementsOnShape::IsSatisfy(), SMESH::Controls::LyingOnGeom::IsSatisfy(), SMESH::Controls::FreeFaces::IsSatisfy(), SMESH::Controls::ConnectedElements::IsSatisfy(), StdMeshers_Penta_3D::LoadIJNodes(), SMESH_MeshEditor::makeExtrElements(), StdMeshers_Penta_3D::MakeMeshOnFxy1(), SMESH_MeshEditor::ExtrusParam::makeNodesByNormal2D(), SMESH_Pattern::makePolyElements(), SMESHGUI_SingleEditDlg::onTextChange(), DriverDAT_W_SMDS_Mesh::Perform(), DriverMED_W_SMESHDS_Mesh::Perform(), StdMeshers_QuadToTriaAdaptor::Preparation(), SMESH::Controls::ElementsOnSurface::process(), SMESH_MeshEditor::QuadToTri(), SMDS_Mesh::RemoveFreeElement(), SMESH_Mesh_i::RemoveGroupWithContents(), SMESH_MeshEditor::RotationSweep(), SMDS_VolumeTool::Set(), SMESH_MeshEditor::ExtrusParam::SetElementsToUse(), SMDS_MeshElementIDFactory::SetInVtkGrid(), SMESH_MeshEditor::SewFreeBorder(), VISCOUS_3D::_ViscousBuilder::smoothAndCheck(), SortableElement::SortableElement(), StdMeshers_MEFISTO_2D::StoreResult(), VISCOUS_3D::_Shrinker1D::SwapSrcTgtNodes(), and SMESH_MeshEditor::Transform().

SMDS_NodeIteratorPtr SMDS_MeshElement::nodesIteratorToUNV ( ) const
virtual

virtual, redefined in vtkEdge, vtkFace and vtkVolume classes

Reimplemented in SMDS_VtkVolume, SMDS_VtkFace, and SMDS_VtkEdge.

Referenced by DriverUNV_W_SMDS_Mesh::Perform().

void SMDS_MeshElement::setId ( int  id)
protected
void SMDS_MeshElement::setIsMarked ( bool  is) const
void SMDS_MeshElement::setShapeId ( LongType  shapeId)
protected
void SMDS_MeshElement::setVtkId ( int  vtkId)
protected
int SMDS_MeshElement::WrappedIndex ( const int  ind) const

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

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

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  OS,
const SMDS_MeshElement ME 
)
friend
friend class SMDS_Mesh
friend
friend class SMDS_MeshElementIDFactory
friend
friend class SMESHDS_Mesh
friend
friend class SMESHDS_SubMesh
friend

Field Documentation

int SMDS_MeshElement::myID
protected
int SMDS_MeshElement::myIdInShape
protected

Element index in SMESHDS_SubMesh vector.

LongType SMDS_MeshElement::myShapeId
protected

SubShape and SubMesh identification in SMESHDS; one bit is used to mark the element.

Referenced by isMarked(), and setIsMarked().