Base class for all cells. More...
#include <SMDS_MeshCell.hxx>
Public Types | |
typedef SMDS_StdIterator< const SMDS_MeshNode *, SMDS_NodeIteratorPtr > | iterator |
Public Member Functions | |
virtual int | NbEdges () const |
virtual int | NbFaces () const |
virtual int | NbNodes () const |
Return The number of nodes owned by the current element. More... | |
virtual int | NbCornerNodes () const |
virtual bool | ChangeNodes (const SMDS_MeshNode *nodes[], const int nbNodes) |
virtual int | GetNodeIndex (const SMDS_MeshNode *node) const |
Check if a node belongs to the element. More... | |
virtual const SMDS_MeshNode * | GetNode (const int ind) const |
Return node by its index. More... | |
virtual SMDSAbs_ElementType | GetType () const |
virtual SMDSAbs_EntityType | GetEntityType () const |
virtual SMDSAbs_GeometryType | GetGeomType () const |
virtual VTKCellType | GetVtkType () const |
virtual bool | IsPoly () const |
virtual bool | IsQuadratic () const |
virtual SMDS_ElemIteratorPtr | nodesIterator () const |
Create an iterator which iterate on nodes owned by the element. More... | |
virtual SMDS_NodeIteratorPtr | nodeIterator () const |
Create an iterator which iterate on nodes owned by the element. More... | |
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_MeshNode * | GetNodeWrap (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 smIdType | GetID () const |
Return ID of an element. More... | |
virtual vtkIdType | GetVtkID () const |
Return VTK ID of this element. More... | |
virtual int | getshapeId () const |
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... | |
bool | IsNull () const |
SMDS_Mesh * | GetMesh () const |
Return the mesh this element belongs to. More... | |
void | Print (std::ostream &OS) const |
Print self. More... | |
Static Public Member Functions | |
static void | InitStaticMembers () |
static VTKCellType | toVtkType (SMDSAbs_EntityType entityType) |
Return VTKCellType corresponding to SMDSAbs_EntityType. More... | |
static SMDSAbs_EntityType | toSmdsType (VTKCellType vtkType) |
Return SMDSAbs_EntityType corresponding to VTKCellType. More... | |
static SMDSAbs_ElementType | ElemType (SMDSAbs_GeometryType geomType) |
Return SMDSAbs_ElementType by SMDSAbs_GeometryType. More... | |
static SMDSAbs_ElementType | ElemType (SMDSAbs_EntityType entityType) |
Return SMDSAbs_ElementType by SMDSAbs_EntityType. More... | |
static SMDSAbs_GeometryType | GeomType (SMDSAbs_EntityType entityType) |
static bool | IsPoly (SMDSAbs_EntityType entityType) |
static bool | IsQuadratic (SMDSAbs_EntityType entityType) |
static int | NbCornerNodes (SMDSAbs_EntityType entityType) |
static int | NbNodes (SMDSAbs_EntityType entityType) |
static int | NbEdges (SMDSAbs_EntityType entityType) |
static int | NbFaces (SMDSAbs_EntityType entityType) |
static const std::vector< int > & | toVtkOrder (VTKCellType vtkType) |
Return indices to transform cell connectivity from SMDS to VTK Usage: vtkIDs[i] = smdsIDs[ indices[ i ]]. More... | |
static const std::vector< int > & | toVtkOrder (SMDSAbs_EntityType smdsType) |
Return indices to transform cell connectivity from SMDS to VTK Usage: vtkIDs[i] = smdsIDs[ indices[ i ]]. More... | |
static const std::vector< int > & | fromVtkOrder (VTKCellType vtkType) |
Return indices to transform cell connectivity from VTK to SMDS Usage: smdsIDs[i] = vtkIDs[ indices[ i ]]. More... | |
static const std::vector< int > & | fromVtkOrder (SMDSAbs_EntityType smdsType) |
Return indices to transform cell connectivity from VTK to SMDS Usage: smdsIDs[i] = vtkIDs[ indices[ i ]]. More... | |
static const std::vector< int > & | reverseSmdsOrder (SMDSAbs_EntityType smdsType, const size_t nbNodes=0) |
Return indices to reverse an SMDS cell of given type. More... | |
static const std::vector< int > & | interlacedSmdsOrder (SMDSAbs_EntityType smdsType, const size_t nbNodes=0) |
Return indices to set nodes of a quadratic 1D or 2D element in interlaced order Usage: interlacedIDs[i] = smdsIDs[ indices[ i ]]. More... | |
template<class VECT > | |
static void | applyInterlace (const std::vector< int > &interlace, VECT &data) |
template<class VECT > | |
static void | applyInterlaceRev (const std::vector< int > &interlace, VECT &data) |
Protected Member Functions | |
void | init (SMDSAbs_EntityType entityType, int nbNodes,...) |
void | init (SMDSAbs_EntityType entityType, const std::vector< const SMDS_MeshNode * > &nodes) |
void | init (SMDSAbs_EntityType entityType, const std::vector< vtkIdType > &vtkNodeIds) |
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_UnstructuredGrid * | getGrid () const |
Return a SMDS_UnstructuredGrid. More... | |
Protected Attributes | |
SMDS_ElementChunk * | myHolder |
Friends | |
class | SMDS_Mesh |
Base class for all cells.
|
inherited |
|
static |
Referenced by SMESH_MeshEditor::applyMerge(), StdMeshers_Import_1D2D::Compute(), SMESH_MeshAlgos::DeMerge(), SMESHGUI_AddMeshElementDlg::displaySimulation(), SMDS_UnstructuredGrid::extrudeVolumeFromFace(), SMESH_MeshEditor::Reorient(), SMESH::TElementSimulation::SetPosition(), and SMESH_MeshEditor::sweepElement().
|
static |
Referenced by SMESH_MeshEditor::applyMerge(), and SMESH_MeshEditor::makeWalls().
|
inherited |
Referenced by SMDS_Mesh::ChangeElementNodes(), SMDS_Mesh::ChangePolyhedronNodes(), StdMeshers_Import_1D::Compute(), SMESH_MeshEditor::convertElemToQuadratic(), SMESH_MeshEditor::ConvertToQuadratic(), SMESH_Mesh_i::CreateDimGroup(), SMESH_MeshAlgos::Intersector::Algo::Cut(), SMESH_MeshAlgos::Intersector::CutByPlanes(), SMESH_MeshEditor::DoubleElements(), SMESH_MeshEditor::DoubleNodes(), VISCOUS_3D::_LayerEdge::FindIntersection(), SMESH_MeshAlgos::FindSharpEdges(), SMESH_MesherHelper::FixQuadraticElements(), getNodesFromTwoTria(), SMESH_ProxyMesh::HasPrismsOnTwoSides(), StdMeshers_Import_1D::importMesh(), SMESH_MeshEditor::InsertNodesIntoLink(), SMESH_MesherHelper::IsDistorted2D(), VISCOUS_3D::_ViscousBuilder::makeLayer(), SMESH_MeshAlgos::MakeOffset(), SMESH_MeshAlgos::MakeSlot(), StdMeshers_QuadToTriaAdaptor::MergePiramids(), SMESH_MeshEditor::QuadTo4Tri(), SMESH_MeshEditor::QuadToTri(), SMESH_MeshEditor::removeQuadElem(), SMESH_ProxyMesh::removeTmpElement(), SMESH_MeshEditor::Reorient(), SMESH_MeshEditor::Reorient2DBy3D(), SMESH_MeshAlgos::SeparateFacesByEdges(), SMDS_VolumeTool::Set(), SMESH_NodeSearcherImpl::SMESH_NodeSearcherImpl(), VISCOUS_3D::_ViscousBuilder::smoothAndCheck(), SMESH_MeshEditor::SplitBiQuadraticIntoLinear(), SMESH_MeshEditor::SplitFace(), and SMESH_Algo::VertexNode().
|
virtual |
Reimplemented in SMDS_MeshVolume.
References SMDS_MeshElement::getGrid(), SMDS_MeshElement::GetVtkID(), GetVtkType(), MESSAGE, and toVtkOrder().
|
static |
Return SMDSAbs_ElementType by SMDSAbs_EntityType.
|
static |
Return SMDSAbs_ElementType by SMDSAbs_GeometryType.
References SMDSAbs_0DElement, SMDSAbs_All, SMDSAbs_Ball, SMDSAbs_Edge, SMDSAbs_Face, SMDSAbs_Volume, SMDSGeom_BALL, SMDSGeom_EDGE, SMDSGeom_HEXA, SMDSGeom_HEXAGONAL_PRISM, SMDSGeom_NONE, SMDSGeom_PENTA, SMDSGeom_POINT, SMDSGeom_POLYGON, SMDSGeom_POLYHEDRA, SMDSGeom_PYRAMID, SMDSGeom_QUADRANGLE, SMDSGeom_TETRA, and SMDSGeom_TRIANGLE.
Referenced by SMESH_MeshPartDS::elementEntityIterator(), SMESH_MeshPartDS::elementGeomIterator(), and DriverMED_W_Field::Set().
|
inherited |
Referenced by SMDS_Mesh::ChangeElementNodes(), SMDS_Mesh::ChangePolyhedronNodes(), SMESH_MeshEditor::convertElemToQuadratic(), SMESH_MeshEditor::ConvertToQuadratic(), SMESH_Mesh_i::CreateDimGroup(), SMESH_MeshAlgos::Intersector::Algo::Cut(), SMESH_MeshAlgos::Intersector::CutByPlanes(), SMESH_MeshEditor::DoubleElements(), SMESH_MeshEditor::DoubleNodes(), SMESH_MeshAlgos::FindSharpEdges(), SMESH_MesherHelper::FixQuadraticElements(), getNodesFromTwoTria(), SMESH_ProxyMesh::HasPrismsOnTwoSides(), SMESH_MeshEditor::InsertNodesIntoLink(), VISCOUS_3D::_ViscousBuilder::makeLayer(), SMESH_MeshAlgos::MakeOffset(), SMESH_MeshAlgos::MakeSlot(), StdMeshers_QuadToTriaAdaptor::MergePiramids(), SMESH_MeshEditor::QuadTo4Tri(), SMESH_MeshEditor::QuadToTri(), SMESH_MeshEditor::removeQuadElem(), SMESH_ProxyMesh::removeTmpElement(), SMESH_MeshEditor::Reorient(), SMESH_MeshEditor::Reorient2DBy3D(), SMESH_MeshAlgos::SeparateFacesByEdges(), SMDS_VolumeTool::Set(), SMESH_NodeSearcherImpl::SMESH_NodeSearcherImpl(), SMESH_MeshEditor::SplitBiQuadraticIntoLinear(), SMESH_MeshEditor::SplitFace(), and SMESH_Algo::VertexNode().
|
static |
Return indices to transform cell connectivity from VTK to SMDS Usage: smdsIDs[i] = vtkIDs[ indices[ i ]].
|
static |
Return indices to transform cell connectivity from VTK to SMDS Usage: smdsIDs[i] = vtkIDs[ indices[ i ]].
References toSmdsType().
Referenced by _GetVtkNodes::_GetVtkNodes(), and GetNode().
|
static |
|
virtual |
Implements SMDS_MeshElement.
References GetVtkType(), and toSmdsType().
Referenced by SMESH_MeshEditor::ConvertToQuadratic(), NbEdges(), nodeIterator(), SMDS_MeshVolume::nodeIterator(), nodesIterator(), SMDS_MeshVolume::nodesIterator(), and nodesIteratorToUNV().
|
virtual |
|
protectedinherited |
Return a SMDS_UnstructuredGrid.
References SMDS_Mesh::GetGrid(), SMDS_MeshElement::GetMesh(), and SMDS_MeshElement::myHolder.
Referenced by SMDS_MeshNode::AddInverseElement(), ChangeNodes(), SMDS_MeshVolume::ChangeNodes(), SMDS_MeshNode::ClearInverseElements(), SMDS_MeshNode::getCoord(), SMDS_BallElement::GetDiameter(), SMDS_MeshVolume::GetFaceNode(), SMDS_MeshNode::GetInverseElementIterator(), GetNode(), SMDS_MeshVolume::GetNode(), GetNodeIndex(), SMDS_MeshVolume::GetNodeIndex(), SMDS_MeshVolume::GetQuantities(), GetVtkType(), SMDS_MeshNode::GetXYZ(), SMDS_BallElement::init(), SMDS_MeshVolume::init(), SMDS_MeshNode::init(), init(), SMDS_MeshVolume::NbEdges(), SMDS_MeshVolume::NbFaceNodes(), SMDS_MeshVolume::NbFaces(), NbNodes(), SMDS_MeshVolume::NbNodes(), SMDS_MeshNode::RemoveInverseElement(), SMDS_BallElement::SetDiameter(), and SMDS_MeshNode::setXYZ().
|
virtualinherited |
Return ID of an element.
Reimplemented in SMDS_CellOfNodes.
References SMDS_ElementChunk::GetID(), and SMDS_MeshElement::myHolder.
Referenced by SMESH_Gen_i::_GetInside(), SMESHDS_SubMesh::add(), 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_Mesh::AddFace(), SMESH_MeshEditor_i::AddFace(), SMESHDS_Mesh::AddFaceWithID(), SMESH_MeshEditor_i::AddNode(), SMESHDS_Mesh::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(), SMESHDS_Mesh::AddVolume(), SMESH_MeshEditor_i::AddVolume(), SMESHDS_Mesh::AddVolumeWithID(), SMESH_MeshEditor_i::AffectedElemGroupsInRegion(), SMESH_VisualObjDef::buildElemPrs(), SMESHDS_Mesh::ChangeElementNodes(), SMESHDS_Mesh::ChangePolyhedronNodes(), SMESHGUI_CreatePolyhedralVolumeDlg::checkEditLine(), SMESH_MesherHelper::CheckNodeU(), VISCOUS_3D::_ConvexFace::CheckPrisms(), SMDS_NodeFactory::Compact(), StdMeshers_Prism_3D::compute(), StdMeshers_Import_1D2D::Compute(), StdMeshers_PolyhedronPerSolid_3D::Compute(), StdMeshers_Projection_3D::Compute(), StdMeshers_RadialPrism_3D::Compute(), VISCOUS_3D::_ViscousBuilder::computeGeomSize(), StdMeshers_Sweeper::ComputeNodesOnStraight(), SMESH_Gen_i::ConcatenateCommon(), SMESHDS_GroupBase::Contains(), SMESHDS_GroupOnFilter::Contains(), SMDS_Mesh::Contains(), SMESH_MeshEditor::convertElemToQuadratic(), SMESH_MeshEditor::ConvertFromQuadratic(), SMESH_MeshEditor::ConvertToQuadratic(), MeshEditor_I::TPreviewMesh::Copy(), SMESH_Gen_i::CopyMesh(), SMESH_Gen_i::CopyMeshWithGeom(), SMESH_Mesh_i::CreateDimGroup(), SMESH_MeshEditor::CreateFlatElementsOnFacesGroups(), SMESH_MeshEditor::CreateHoleSkin(), SMESH_VisualObjDef::createPoints(), SMESH_MeshAlgos::Intersector::Algo::Cut(), SMESH_MeshAlgos::Intersector::CutByPlanes(), SMESHGUI_CuttingOfQuadsDlg::displayPreview(), SMESHGUI_CreatePolyhedralVolumeDlg::displaySimulation(), SMESH_MeshEditor::DoubleNodesOnGroupBoundaries(), StdMeshers_PrismAsBlock::THorizontalEdgeAdaptor::dumpNodes(), SMESH::SelectionProxy::elementConnectivity(), enlargeBoundingBox(), SMESH_MeshEditor::ExtrusionSweep(), VISCOUS_3D::_ViscousBuilder::findCollisionEdges(), SMESH::Controls::ManifoldPart::findConnected(), StdMeshers_Sweeper::findDelaunayTriangles(), SMESH_Mesh_i::FindElementByNodes(), SMESH_MeshEditor::FindEqualElements(), SMESH_MeshEditor::FindFreeBorder(), SMESH_MeshEditor::FindMatchingNodes(), SMESH_MeshEditor::FindShape(), SMESH_MeshEditor_i::FindSharpEdges(), findTriangles(), SMDS_ElementFactory::Free(), SMESH::Controls::FreeEdges::GetBoreders(), VISCOUS_3D::getDistFromEdge(), SMESH_VisualObjDef::GetEdgeNodes(), SMESHGUI_PreVisualObj::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(), getNodeElemDistance(), SMESH_Mesh_i::GetNodeInverseElements(), SMESH::Controls::ElementsOnShape::getNodeIsOut(), getNodeNodeDistance(), SMESH_VisualObjDef::GetNodeObjId(), SMESHGUI_PreVisualObj::GetNodeObjId(), SMESHGUI_PreVisualObj::GetNodeVTKId(), VISCOUS_3D::_EdgesOnShape::GetNormal(), SMESH_MeshEditor_i::GetPreviewData(), SMDS_ElementFactory::GetShapeIterator(), SMESH_Mesh_i::GetSubMeshNodesId(), SMESH::Controls::MultiConnection2D::GetValue(), SMESH::Controls::MultiConnection2D::GetValues(), SMESH::Controls::Length2D::GetValues(), SMDS_ElementChunk::GetVtkID(), SMESH_Hasher::HashCode(), SMESH_TLink::HashCode(), SMDS_VolumeTool::ID(), 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(), SMESH_MeshAlgos::Intersector::Algo::MakeNewFaces(), StdMeshers_Penta_3D::MakeNodes(), SMESH_MeshAlgos::MakeOffset(), StdMeshers_Penta_3D::MakeVolumeMesh(), SMESH_MeshEditor::MergeNodes(), SMESH_MeshEditor_i::MoveClosestNodeToPoint(), SMESHDS_Mesh::MoveNode(), SMESH::Predicate_i::NbSatisfying(), SMESH::SelectionProxy::nodeConnectivity(), SMESH_MeshEditor::Offset(), SMESHGUI_CreatePolyhedralVolumeDlg::onTextChange(), SMESHGUI_ExtrusionAlongPathDlg::onTextChange(), SMESHGUI_RotationDlg::onTextChange(), SMESHGUI_ScaleDlg::onTextChange(), SMESHGUI_SewingDlg::onTextChange(), SMESHGUI_SingleEditDlg::onTextChange(), SMESHGUI_SymmetryDlg::onTextChange(), SMESHGUI_TranslationDlg::onTextChange(), SMESHGUI_MeshPatternDlg::onTextChanged(), TIDTypeCompare::operator()(), TIDCompare::operator()(), Prism_3D::TNode::operator<(), operator<<(), SMESH::SelectionProxy::perFaceConnectivity(), DriverCGNS_Write::Perform(), DriverDAT_W_SMDS_Mesh::Perform(), DriverUNV_W_SMDS_Mesh::Perform(), DriverMED_W_SMESHDS_Mesh::PerformInternal(), StdMeshers_Sweeper::prepareTopBotDelaunay(), SMDS_MeshNode::Print(), SMESH::Controls::ManifoldPart::process(), SMESH::Controls::ElementsOnSurface::process(), StdMeshers_Prism_3D::projectBottomToTop(), SMESH_MeshEditor_i::ProjectPoint(), SMESHDS_Mesh::RemoveElement(), SMESHDS_Mesh::RemoveFreeElement(), SMESHDS_Mesh::RemoveFreeNode(), SMESHDS_Mesh::RemoveNode(), SMESH_MeshEditor::RemoveNodeWithReconnection(), SMESH_MeshEditor::removeQuadElem(), SMESH_ProxyMesh::removeTmpElement(), SMESH_MeshAlgos::Intersector::Algo::replaceIntNode(), SMESH_Mesh_i::ReplaceShape(), SMESH_Gen_i::Save(), VISCOUS_3D::_ViscousBuilder::setEdgeData(), SMESH::Controls::CoplanarFaces::SetMesh(), SMESH::Controls::ElementsOnShape::setNodeIsOut(), StdMeshers_MaxElementVolume::SetParametersByMesh(), SMDS_ElementChunk::SetVTKID(), SMESH_MeshEditor::SewSideElements(), VISCOUS_2D::_ViscousBuilder2D::shrink(), SMESH_TLink::SMESH_TLink(), VISCOUS_3D::_ViscousBuilder::smoothAndCheck(), SMESH_MeshEditor::SplitEdge(), SMESH_MeshEditor::SplitFace(), and SMESH_MeshEditor::sweepElement().
|
inherited |
Return the mesh this element belongs to.
References SMDS_MeshElement::myHolder.
Referenced by SMESH::SelectionProxy::elementConnectivity(), SMESH::SelectionProxy::elementControl(), SMESH::SelectionProxy::elementEntityType(), SMESH::SelectionProxy::elementGravityCenter(), SMESH::SelectionProxy::elementNormal(), SMESH::SelectionProxy::elementType(), SMDS_MeshVolume::GetFaceNode(), SMDS_MeshElement::getGrid(), SMDS_MeshNode::GetInverseElementIterator(), GetNode(), SMDS_MeshVolume::GetNode(), SMESH::SelectionProxy::hasElement(), SMESH::SelectionProxy::hasNode(), SMDS_MeshNode::NbInverseElements(), SMESH::SelectionProxy::nodeConnectivity(), SMESH::SelectionProxy::nodeCoordinates(), nodeIterator(), SMDS_MeshVolume::nodeIterator(), nodesIterator(), SMDS_MeshVolume::nodesIterator(), nodesIteratorToUNV(), SMESH::SelectionProxy::perFaceConnectivity(), SMDS_BallElement::SetDiameter(), SMDS_MeshNode::setXYZ(), and StdMeshers_FaceSide::VertexNode().
|
virtual |
Return node by its index.
ind | - node index |
const | SMDS_MeshNode* - the node |
Implements SMDS_MeshElement.
Reimplemented in SMDS_MeshVolume.
References SMDS_Mesh::FindNodeVtk(), fromVtkOrder(), SMDS_MeshElement::getGrid(), SMDS_MeshElement::GetMesh(), SMDS_MeshVolume::GetNode(), SMDS_MeshElement::GetVtkID(), and GetVtkType().
Referenced by SMESH_MesherHelper::AddTLinks(), SMESH_MeshEditor::ConvertToQuadratic(), SMESH::Controls::FreeEdges::GetBoreders(), SMDS_MeshVolume::GetNode(), and SMESH::Controls::MultiConnection2D::GetValues().
|
virtual |
Check if a node belongs to the element.
node | - the node to check |
int | - node index within the element, -1 if not found |
Reimplemented from SMDS_MeshElement.
Reimplemented in SMDS_MeshVolume.
References SMDS_MeshElement::getGrid(), SMDS_MeshVolume::GetNodeIndex(), SMDS_MeshElement::GetVtkID(), GetVtkType(), SMDS_MeshElement::IsNull(), and toVtkOrder().
Referenced by SMDS_MeshVolume::GetNodeIndex(), and SMESH_MeshEditor::makeWalls().
|
inherited |
Return node by its index.
ind | - node index |
const | SMDS_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().
|
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().
|
virtualinherited |
Return ID of a shape this element was generated on.
Reimplemented in SMDS_CellOfNodes.
References SMDS_ElementChunk::GetShapeID(), and SMDS_MeshElement::myHolder.
Referenced by SMESHDS_SubMesh::AddElement(), StdMeshers_RenumberHelper::AddReplacingNode(), SMDS_ElementFactory::Compact(), SMDS_NodeFactory::Compact(), VISCOUS_3D::_ViscousBuilder::makeLayer(), SMESH_Mesh_i::ReplaceShape(), SMESH_MeshEditor::SplitEdge(), and SMESH_MeshEditor::SplitFace().
|
virtual |
Implements SMDS_MeshElement.
Reimplemented in SMDS_MeshVolume, SMDS_MeshFace, and SMDS_MeshEdge.
References GetVtkType().
Referenced by SMESH_MeshEditor::DoubleNodesOnGroupBoundaries(), and interlacedNodesIterator().
|
virtualinherited |
Return VTK ID of this element.
References SMDS_ElementChunk::GetVtkID(), and SMDS_MeshElement::myHolder.
Referenced by SMDS_MeshNode::AddInverseElement(), SMDS_ElementHolder::beforeCompacting(), 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(), GetNode(), SMDS_MeshVolume::GetNode(), GetNodeIndex(), SMDS_MeshVolume::GetNodeIndex(), SMESH_VisualObjDef::GetNodeVTKId(), SMDS_MeshVolume::GetQuantities(), SMESH::Controls::AspectRatio3D::GetValue(), GetVtkType(), SMDS_MeshNode::GetXYZ(), SMDS_BallElement::init(), SMDS_MeshNode::init(), init(), SMDS_MeshVolume::NbEdges(), SMDS_MeshVolume::NbFaceNodes(), SMDS_MeshVolume::NbFaces(), SMDS_MeshNode::NbInverseElements(), NbNodes(), SMDS_MeshVolume::NbNodes(), nodeIterator(), SMDS_MeshVolume::nodeIterator(), nodesIterator(), SMDS_MeshVolume::nodesIterator(), nodesIteratorToUNV(), SMDS_Mesh::RemoveFreeElement(), SMDS_MeshNode::RemoveInverseElement(), SMDS_BallElement::SetDiameter(), and SMDS_MeshNode::setXYZ().
|
virtual |
Implements SMDS_MeshElement.
References SMDS_MeshElement::getGrid(), and SMDS_MeshElement::GetVtkID().
Referenced by ChangeNodes(), SMESH_MeshEditor::CreateFlatElementsOnFacesGroups(), GetEntityType(), GetGeomType(), GetNode(), GetNodeIndex(), GetType(), IsPoly(), IsQuadratic(), NbCornerNodes(), NbEdges(), NbFaces(), NbNodes(), nodeIterator(), and nodesIterator().
|
protected |
|
protected |
|
protected |
|
static |
Referenced by SMDS_Mesh::SMDS_Mesh().
|
virtual |
Reimplemented from SMDS_MeshElement.
References GetType(), nodeIterator(), nodesIteratorToUNV(), SMDSAbs_Edge, and SMDSAbs_Face.
Referenced by SMESH::Controls::FreeEdges::GetBoreders(), SMESH_MeshAlgos::GetDistance(), SMESH::Controls::MultiConnection2D::GetValues(), and SMESH::Controls::Length2D::GetValues().
|
static |
Return indices to set nodes of a quadratic 1D or 2D element in interlaced order Usage: interlacedIDs[i] = smdsIDs[ indices[ i ]].
References SMDSEntity_Quad_Polygon.
Referenced by _GetVtkNodesToUNV::_GetVtkNodesToUNV(), SMESH_MeshEditor::applyMerge(), SMESH_MeshAlgos::DeMerge(), SMESH_MeshEditor::makeWalls(), DriverCGNS_Write::Perform(), and SMESH_MeshEditor::sweepElement().
|
virtualinherited |
Check if this element is marked.
Reimplemented in SMDS_CellOfNodes.
References SMDS_ElementChunk::IsMarked(), and SMDS_MeshElement::myHolder.
Referenced by SMESH_Delaunay::addCloseNodes(), SMESH_MeshEditor::DoubleElements(), SMESH_OctreeNode::FindCoincidentNodes(), SMESH::Measurements_i::GravityCenter(), SMESH_MeshAlgos::Intersector::Algo::MakeNewFaces(), SMESH_MeshAlgos::MakeOffset(), StdMeshers_Cartesian_VL::ViscousBuilder::MakeViscousLayers(), SMESH_MeshEditor::MergeNodes(), SMESH_Delaunay::NextNode(), SMESH_MeshEditor::Reorient2D(), SMESH_MeshAlgos::SeparateFacesByEdges(), and VISCOUS_3D::_ViscousBuilder::shrink().
|
virtualinherited |
Check if a node is a medium node of a quadratic cell.
Reimplemented in SMDS_MeshVolume, SMDS_PolygonalFaceOfNodes, and SMDS_MeshNode.
References SMDS_MeshElement::GetNodeIndex(), and SMDS_MeshElement::NbCornerNodes().
Referenced by SMESH_MeshEditor::applyMerge(), SMESH_MeshEditor::CreateFlatElementsOnFacesGroups(), SMESH_MeshEditor::ExtrusionSweep(), SMESH_MeshEditor::InsertNodesIntoLink(), SMESH_MeshEditor::IsMedium(), SMDS_MeshVolume::IsMediumNode(), SMESH_Mesh_i::IsMediumNode(), SMESH_MeshAlgos::IsRightOrder(), SMESH_MeshEditor::makeWalls(), and SMESH_MeshEditor::RotationSweep().
|
inherited |
Referenced by SMDS_ElementHolder::beforeCompacting(), SMDS_Mesh::Contains(), SMESHDS_SubMesh::Contains(), SMDS_Mesh::DownCast(), SMDS_ElementFactory::FindElement(), SMESH_MeshEditor::FindEqualElements(), GetNodeIndex(), StdMeshers_QuadToTriaAdaptor::MergePiramids(), SMDS_ElementFactory::NewElement(), SMESH_MeshEditor_i::ProjectPoint(), SMESH_MeshEditor::QuadToTri(), and SMESHDS_SubMesh::RemoveElement().
|
virtual |
Implements SMDS_MeshElement.
References GetVtkType().
Referenced by SMESH_MesherHelper::AddTLinks(), SMDS_MeshVolume::ChangeNodes(), StdMeshers_Projection_3D::Compute(), SMDS_MeshVolume::GetFaceNode(), SMDS_MeshVolume::GetNode(), SMDS_MeshVolume::GetNodeIndex(), SMDS_MeshVolume::GetQuantities(), SMDS_MeshVolume::IsMediumNode(), SMDS_MeshVolume::NbCornerNodes(), SMDS_MeshVolume::NbEdges(), SMDS_MeshVolume::NbFaceNodes(), SMDS_MeshVolume::NbFaces(), SMDS_MeshVolume::NbNodes(), SMDS_MeshVolume::nodeIterator(), SMDS_MeshVolume::nodesIterator(), and DriverUNV_W_SMDS_Mesh::Perform().
|
static |
|
virtual |
Implements SMDS_MeshElement.
References GetVtkType().
Referenced by SMESH_MesherHelper::AddTLinks(), SMESH_MeshEditor::ConvertToQuadratic(), SMESH_MeshEditor::CreateFlatElementsOnFacesGroups(), SMESH_MeshAlgos::GetDistance(), SMESH::Controls::Length2D::GetValues(), SMDS_VolumeTool::IsLinked(), SMESH_MeshEditor::Make2DMeshFrom3D(), and DriverUNV_W_SMDS_Mesh::Perform().
|
static |
|
virtualinherited |
Return true if index of node is valid (0 <= ind < NbNodes())
ind | - node index |
bool | - index check result |
References SMDS_MeshElement::NbNodes().
|
virtual |
Implements SMDS_MeshElement.
Reimplemented in SMDS_MeshVolume.
References GetVtkType(), SMDS_MeshVolume::NbCornerNodes(), and NbNodes().
Referenced by SMESH_Pattern::Apply(), SMESH_MeshAlgos::GetDistance(), and SMDS_MeshVolume::NbCornerNodes().
|
static |
|
virtual |
Implements SMDS_MeshElement.
Reimplemented in SMDS_MeshVolume.
References GetEntityType(), GetVtkType(), SMDS_MeshVolume::NbEdges(), NbNodes(), SMDSEntity_Polygon, SMDSEntity_Polyhedra, and SMDSEntity_Quad_Polygon.
Referenced by SMDS_MeshVolume::NbEdges().
|
static |
|
virtual |
Implements SMDS_MeshElement.
Reimplemented in SMDS_MeshVolume.
References GetVtkType(), and SMDS_MeshVolume::NbFaces().
Referenced by SMDS_MeshVolume::NbFaces().
|
static |
|
virtual |
Return The number of nodes owned by the current element.
Implements SMDS_MeshElement.
Reimplemented in SMDS_MeshVolume.
References SMDS_MeshElement::getGrid(), SMDS_MeshElement::GetVtkID(), GetVtkType(), and SMDS_MeshVolume::NbNodes().
Referenced by SMESH_MesherHelper::AddTLinks(), SMESH_Pattern::Apply(), SMESH::Controls::FreeEdges::GetBoreders(), SMESH_MeshAlgos::GetDistance(), getLinks(), SMESH::Controls::MultiConnection2D::GetValues(), NbCornerNodes(), NbEdges(), SMDS_MeshVolume::NbNodes(), and DriverUNV_W_SMDS_Mesh::Perform().
|
static |
|
virtual |
Create an iterator which iterate on nodes owned by the element.
Implements SMDS_MeshElement.
Reimplemented in SMDS_MeshVolume.
References GetEntityType(), SMDS_MeshElement::GetMesh(), SMDS_MeshElement::GetVtkID(), GetVtkType(), and SMDS_MeshVolume::nodeIterator().
Referenced by SMESH_Pattern::Apply(), SMESH_MeshEditor::CreateFlatElementsOnFacesGroups(), SMESH::Controls::Length2D::GetValues(), interlacedNodesIterator(), and SMDS_MeshVolume::nodeIterator().
|
virtual |
Create an iterator which iterate on nodes owned by the element.
Implements SMDS_MeshElement.
Reimplemented in SMDS_MeshVolume.
References GetEntityType(), SMDS_MeshElement::GetMesh(), SMDS_MeshElement::GetVtkID(), GetVtkType(), and SMDS_MeshVolume::nodesIterator().
Referenced by SMESH_Pattern::Apply(), SMESH_MeshAlgos::GetDistance(), getLinks(), SMDS_MeshVolume::nodesIterator(), and SMESH_MeshEditor::SewSideElements().
|
virtual |
Reimplemented from SMDS_MeshElement.
References GetEntityType(), SMDS_MeshElement::GetMesh(), and SMDS_MeshElement::GetVtkID().
Referenced by interlacedNodesIterator(), and DriverUNV_W_SMDS_Mesh::Perform().
|
inherited |
Print self.
Referenced by operator<<().
|
static |
Return indices to reverse an SMDS cell of given type.
nbNodes is useful for polygons Usage: reverseIDs[i] = forwardIDs[ indices[ i ]]
References SMDSEntity_Polygon, and SMDSEntity_Quad_Polygon.
Referenced by SMESHGUI_AddMeshElementDlg::ClickOnApply(), StdMeshers_Import_1D2D::Compute(), SMESHGUI_AddMeshElementDlg::displaySimulation(), SMDS_UnstructuredGrid::extrudeVolumeFromFace(), SMESH_MeshEditor::Reorient(), SMESH_MeshEditor::sweepElement(), and SMESH_MeshEditor::Transform().
|
virtualinherited |
Mark this element.
Reimplemented in SMDS_CellOfNodes.
References SMDS_MeshElement::myHolder.
Referenced by SMESH_MeshAlgos::Intersector::Algo::createNode(), SMESH_OctreeNode::FindCoincidentNodes(), SMESH::Measurements_i::GravityCenter(), SMESH_MeshAlgos::Intersector::Algo::MakeNewFaces(), SMESH_MeshAlgos::MakeOffset(), SMESH_MeshAlgos::MarkElemNodes(), SMESH_MeshEditor::MergeNodes(), SMESH_Delaunay::NextNode(), StdMeshers_Sweeper::prepareTopBotDelaunay(), SMESH_MeshAlgos::SeparateFacesByEdges(), and VISCOUS_3D::_ViscousBuilder::shrink().
|
protectedvirtualinherited |
Set ID of a shape this element was generated on.
References SMDS_MeshElement::myHolder.
Referenced by SMESHDS_SubMesh::AddElement(), SMESHDS_SubMesh::AddNode(), SMESHDS_SubMesh::Clear(), SMESHDS_SubMesh::RemoveElement(), and SMESHDS_SubMesh::RemoveNode().
|
protectedinherited |
Store VTK ID.
References SMDS_MeshElement::myHolder, and SMDS_ElementChunk::SetVTKID().
Referenced by SMDS_BallElement::init(), SMDS_MeshVolume::init(), and init().
|
static |
Return SMDSAbs_EntityType corresponding to VTKCellType.
Referenced by fromVtkOrder(), GetEntityType(), and toVtkOrder().
|
static |
Return indices to transform cell connectivity from SMDS to VTK Usage: vtkIDs[i] = smdsIDs[ indices[ i ]].
|
static |
Return indices to transform cell connectivity from SMDS to VTK Usage: vtkIDs[i] = smdsIDs[ indices[ i ]].
References toSmdsType().
Referenced by SMESH_VisualObjDef::buildElemPrs(), ChangeNodes(), GetNodeIndex(), init(), and SMESH::TElementSimulation::SetPosition().
|
static |
Return VTKCellType corresponding to SMDSAbs_EntityType.
Referenced by SMESH_VisualObjDef::buildElemPrs(), SMESHGUI_AddMeshElementDlg::displaySimulation(), SMDS_BallElement::init(), init(), and SMESH::TElementSimulationQuad::SetPosition().
|
inherited |
Return a valid corner node index, fixing the given one if necessary.
ind | - node index |
int | - valid node index |
References SMDS_MeshElement::NbCornerNodes().
Referenced by SMDS_PolygonalFaceOfNodes::GetNode().
|
friend |
|
protectedinherited |
Referenced by SMDS_ElementFactory::Free(), SMDS_MeshElement::getGrid(), SMDS_MeshElement::GetID(), SMDS_MeshElement::GetMesh(), SMDS_MeshNode::GetPosition(), SMDS_MeshElement::GetShapeID(), SMDS_MeshElement::GetVtkID(), SMDS_MeshElement::isMarked(), SMDS_ElementFactory::NewElement(), SMDS_MeshElement::setIsMarked(), SMDS_MeshNode::SetPosition(), SMDS_MeshElement::setShapeID(), and SMDS_MeshElement::setVtkID().