#include <SMDS_FaceOfNodes.hxx>
Public Types | |
typedef SMDS_StdIterator< const SMDS_MeshNode *, SMDS_NodeIteratorPtr > | iterator |
Public Member Functions | |
void | Print (std::ostream &OS) const |
SMDS_FaceOfNodes (const SMDS_MeshNode *node1, const SMDS_MeshNode *node2, const SMDS_MeshNode *node3) | |
SMDS_FaceOfNodes (const SMDS_MeshNode *node1, const SMDS_MeshNode *node2, const SMDS_MeshNode *node3, const SMDS_MeshNode *node4) | |
virtual bool | ChangeNodes (const SMDS_MeshNode *nodes[], const int nbNodes) |
virtual int | NbEdges () const |
virtual int | NbFaces () const |
virtual int | NbNodes () const |
virtual int | NbCornerNodes () const |
virtual int | GetNodeIndex (const SMDS_MeshNode *node) const |
Check if a node belongs to the element. More... | |
virtual bool | IsPoly () const |
virtual bool | IsQuadratic () const |
virtual SMDS_ElemIteratorPtr | nodesIterator () const |
virtual SMDS_NodeIteratorPtr | nodeIterator () const |
virtual const SMDS_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 smIdType | GetID () const |
Return ID of an element. More... | |
virtual int | GetShapeID () const |
Return ID of a shape this element was generated on. More... | |
virtual void | setIsMarked (bool is) const |
Mark this element. More... | |
virtual bool | isMarked () const |
Check if this element is marked. More... | |
virtual VTKCellType | GetVtkType () const |
virtual SMDS_NodeIteratorPtr | interlacedNodesIterator () const |
virtual SMDS_NodeIteratorPtr | nodesIteratorToUNV () const |
iterator | begin_nodes () const |
iterator | end_nodes () const |
virtual bool | IsMediumNode (const SMDS_MeshNode *node) const |
Check if a node is a medium node of a quadratic cell. More... | |
const SMDS_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 vtkIdType | GetVtkID () const |
Return VTK ID of this element. More... | |
virtual int | getshapeId () const |
bool | IsNull () const |
SMDS_Mesh * | GetMesh () const |
Return the mesh this element belongs to. More... | |
Protected Types | |
enum | Bits { BIT_IS_MARKED = 1 , BITS_SHIFT = 1 } |
Protected Member Functions | |
virtual void | setID (const smIdType id) |
virtual void | setShapeID (const int shapeID) |
virtual void | setShapeID (const int shapeID) const |
Set ID of a shape this element was generated on. More... | |
void | setVtkID (const vtkIdType vtkID) |
Store VTK ID. More... | |
SMDS_UnstructuredGrid * | getGrid () const |
Return a SMDS_UnstructuredGrid. More... | |
Protected Attributes | |
smIdType | myID |
int | myShapeID |
SMDS_ElementChunk * | myHolder |
Private Attributes | |
const SMDS_MeshNode * | myNodes [4] |
int | myNbNodes |
|
inherited |
|
protectedinherited |
SMDS_FaceOfNodes::SMDS_FaceOfNodes | ( | const SMDS_MeshNode * | node1, |
const SMDS_MeshNode * | node2, | ||
const SMDS_MeshNode * | node3 | ||
) |
SMDS_FaceOfNodes::SMDS_FaceOfNodes | ( | const SMDS_MeshNode * | node1, |
const SMDS_MeshNode * | node2, | ||
const SMDS_MeshNode * | node3, | ||
const SMDS_MeshNode * | node4 | ||
) |
|
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 |
|
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().
|
virtual |
Implements SMDS_MeshElement.
References NbNodes(), SMDSEntity_Quadrangle, and SMDSEntity_Triangle.
|
virtual |
Implements SMDS_MeshElement.
References NbNodes(), SMDSGeom_QUADRANGLE, and SMDSGeom_TRIANGLE.
|
protectedinherited |
Return a SMDS_UnstructuredGrid.
References SMDS_Mesh::GetGrid(), SMDS_MeshElement::GetMesh(), and SMDS_MeshElement::myHolder.
Referenced by SMDS_MeshNode::AddInverseElement(), SMDS_MeshCell::ChangeNodes(), SMDS_MeshVolume::ChangeNodes(), SMDS_MeshNode::ClearInverseElements(), SMDS_MeshNode::getCoord(), SMDS_BallElement::GetDiameter(), SMDS_MeshVolume::GetFaceNode(), SMDS_MeshNode::GetInverseElementIterator(), SMDS_MeshCell::GetNode(), SMDS_MeshVolume::GetNode(), SMDS_MeshCell::GetNodeIndex(), SMDS_MeshVolume::GetNodeIndex(), SMDS_MeshVolume::GetQuantities(), SMDS_MeshCell::GetVtkType(), SMDS_MeshNode::GetXYZ(), SMDS_BallElement::init(), SMDS_MeshVolume::init(), SMDS_MeshNode::init(), SMDS_MeshCell::init(), SMDS_MeshVolume::NbEdges(), SMDS_MeshVolume::NbFaceNodes(), SMDS_MeshVolume::NbFaces(), SMDS_MeshCell::NbNodes(), SMDS_MeshVolume::NbNodes(), SMDS_MeshNode::RemoveInverseElement(), SMDS_BallElement::SetDiameter(), and SMDS_MeshNode::setXYZ().
|
virtualinherited |
Return ID of an element.
Reimplemented from SMDS_MeshElement.
References SMDS_CellOfNodes::myID.
Referenced by Print(), SMDS_PolygonalFaceOfNodes::Print(), and SMDS_VolumeOfNodes::Print().
|
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(), SMDS_MeshCell::GetNode(), SMDS_MeshVolume::GetNode(), SMESH::SelectionProxy::hasElement(), SMESH::SelectionProxy::hasNode(), SMDS_MeshNode::NbInverseElements(), SMESH::SelectionProxy::nodeConnectivity(), SMESH::SelectionProxy::nodeCoordinates(), SMDS_MeshCell::nodeIterator(), SMDS_MeshVolume::nodeIterator(), SMDS_MeshCell::nodesIterator(), SMDS_MeshVolume::nodesIterator(), SMDS_MeshCell::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.
References myNodes.
|
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.
|
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 |
Return ID of a shape this element was generated on.
Reimplemented from SMDS_MeshElement.
References SMDS_CellOfNodes::BITS_SHIFT, and SMDS_CellOfNodes::myShapeID.
|
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().
|
virtual |
Implements SMDS_MeshElement.
References SMDSAbs_Face.
|
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().
|
virtualinherited |
Implements SMDS_MeshElement.
|
virtualinherited |
Reimplemented in SMDS_MeshCell.
Referenced by StdMeshers_Projection_1D2D::Compute(), SMESH_MeshAlgos::FindCoincidentFreeBorders(), SMESH_MeshAlgos::FindFaceInSet(), SMESH_MeshEditor::FindFreeBorder(), SMESH_MeshAlgos::FindFreeBorders(), SMESH::Controls::NumericalFunctor::GetPoints(), SMESH_MeshEditor_i::GetPreviewData(), SMESH_MeshAlgos::Triangulate::GetTriangles(), SMESH_MeshEditor::InsertNodesIntoLink(), SMESH_MeshAlgos::IsOut(), SMESH::Controls::FreeEdges::IsSatisfy(), SMESH_MeshEditor::MakeBoundaryMesh(), DriverCGNS_Read::Perform(), SMESH_MeshEditor::SewFreeBorder(), and SMESH_MeshEditor::Smooth().
|
virtualinherited |
Check if this element is marked.
Reimplemented from SMDS_MeshElement.
References SMDS_CellOfNodes::BIT_IS_MARKED, and SMDS_CellOfNodes::myShapeID.
|
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(), SMDS_MeshCell::GetNodeIndex(), StdMeshers_QuadToTriaAdaptor::MergePiramids(), SMDS_ElementFactory::NewElement(), SMESH_MeshEditor_i::ProjectPoint(), SMESH_MeshEditor::QuadToTri(), and SMESHDS_SubMesh::RemoveElement().
|
virtual |
Implements SMDS_MeshElement.
|
virtual |
Implements SMDS_MeshElement.
|
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.
References SMDS_MeshElement::NbNodes().
|
virtual |
Implements SMDS_MeshElement.
References NbNodes().
|
virtual |
Implements SMDS_MeshElement.
|
virtual |
Implements SMDS_MeshElement.
References myNbNodes.
Referenced by GetEntityType(), GetGeomType(), NbEdges(), nodeIterator(), nodesIterator(), and Print().
|
virtual |
Implements SMDS_MeshElement.
|
virtual |
Implements SMDS_MeshElement.
|
virtualinherited |
Reimplemented in SMDS_MeshCell.
void SMDS_FaceOfNodes::Print | ( | std::ostream & | OS | ) | const |
References SMDS_CellOfNodes::GetID(), myNodes, and NbNodes().
|
protectedvirtualinherited |
References SMDS_CellOfNodes::myID.
|
virtualinherited |
Mark this element.
Reimplemented from SMDS_MeshElement.
References SMDS_CellOfNodes::BIT_IS_MARKED, and SMDS_CellOfNodes::myShapeID.
|
protectedvirtualinherited |
References SMDS_CellOfNodes::BIT_IS_MARKED, SMDS_CellOfNodes::BITS_SHIFT, and SMDS_CellOfNodes::myShapeID.
Referenced by SMDS_CellOfNodes::SMDS_CellOfNodes().
|
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 SMDS_MeshCell::init().
|
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().
|
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().
|
protectedinherited |
Referenced by SMDS_CellOfNodes::GetID(), and SMDS_CellOfNodes::setID().
|
private |
Referenced by ChangeNodes(), GetNodeIndex(), NbNodes(), and SMDS_FaceOfNodes().
|
private |
Referenced by ChangeNodes(), GetNode(), GetNodeIndex(), nodeIterator(), nodesIterator(), Print(), and SMDS_FaceOfNodes().
|
protectedinherited |