Version: 8.3.0
SMDS_PolyhedralVolumeOfNodes Class Reference

#include <SMDS_PolyhedralVolumeOfNodes.hxx>

Inheritance diagram for SMDS_PolyhedralVolumeOfNodes:

Public Types

typedef SMDS_StdIterator
< const SMDS_MeshNode
*, SMDS_ElemIteratorPtr
iterator
 

Public Member Functions

 SMDS_PolyhedralVolumeOfNodes (std::vector< const SMDS_MeshNode * > nodes, std::vector< int > quantities)
 
virtual SMDSAbs_ElementType GetType () const
 Return the type of the current element. More...
 
virtual SMDSAbs_EntityType GetEntityType () const
 
virtual bool IsPoly () const
 
bool ChangeNodes (const std::vector< const SMDS_MeshNode * > &nodes, const std::vector< int > &quantities)
 
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 NbFaceNodes (const int face_ind) const
 
const SMDS_MeshNodeGetFaceNode (const int face_ind, const int node_ind) const
 
const std::vector< int > & GetQuanities () const
 
virtual void Print (std::ostream &OS) const
 
virtual const SMDS_MeshNodeGetNode (const int ind) const
 Return node by its index. More...
 
SMDS_ElemIteratorPtr uniqueNodesIterator () const
 Return iterator on unique nodes. More...
 
int NbUniqueNodes () const
 Return nb of unique nodes. More...
 
virtual SMDSAbs_GeometryType GetGeomType () const
 
virtual vtkIdType GetVtkType () const
 
virtual bool vtkOrder (const SMDS_MeshNode *nodes[], const int nbNodes)
 
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 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
 
int GetID () 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...
 
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
 

Static Public Member Functions

static VTKCellType toVtkType (SMDSAbs_EntityType vtkType)
 Return VTKCellType corresponding to SMDSAbs_EntityType. More...
 
static SMDSAbs_EntityType toSmdsType (VTKCellType vtkType)
 Return SMDSAbs_EntityType corresponding to VTKCellType. More...
 
static SMDSAbs_ElementType toSmdsType (SMDSAbs_GeometryType geomType)
 Return SMDSAbs_ElementType by SMDSAbs_GeometryType. More...
 
static SMDSAbs_ElementType toSmdsType (SMDSAbs_EntityType entityType)
 Return SMDSAbs_ElementType by SMDSAbs_EntityType. More...
 
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)
 

Static Public Attributes

static int nbCells = 0
 

Protected Types

enum  Bits { BIT_IS_MARKED = 1, BITS_SHIFT = 1 }
 

Protected Member Functions

SMDS_ElemIteratorPtr elementsIterator (SMDSAbs_ElementType type) const
 Return Iterator of sub elements. More...
 
void exchange (const SMDS_MeshNode *nodes[], int a, int b)
 
void setId (int id)
 
void setVtkId (int vtkId)
 
void setIdInShape (int id)
 
void setShapeId (LongType shapeId)
 
virtual void init (int id=-1, ShortType meshId=-1, LongType shapeId=0)
 

Protected Attributes

const SMDS_MeshNode ** myNodes
 
int myNbNodes
 
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...
 

Private Member Functions

bool ChangeNodes (const SMDS_MeshNode *nodes[], const int nbNodes)
 

Private Attributes

std::vector< const
SMDS_MeshNode * > 
myNodesByFaces
 
std::vector< intmyQuantities
 

Member Typedef Documentation

Member Enumeration Documentation

enum SMDS_MeshElement::Bits
protectedinherited
Enumerator
BIT_IS_MARKED 
BITS_SHIFT 

Constructor & Destructor Documentation

SMDS_PolyhedralVolumeOfNodes::SMDS_PolyhedralVolumeOfNodes ( std::vector< const SMDS_MeshNode * >  nodes,
std::vector< int quantities 
)

Member Function Documentation

template<class VECT >
static void SMDS_MeshCell::applyInterlace ( const std::vector< int > &  interlace,
VECT &  data 
)
staticinherited
template<class VECT >
static void SMDS_MeshCell::applyInterlaceRev ( const std::vector< int > &  interlace,
VECT &  data 
)
staticinherited
bool SMDS_PolyhedralVolumeOfNodes::ChangeNodes ( const std::vector< const SMDS_MeshNode * > &  nodes,
const std::vector< int > &  quantities 
)
bool SMDS_PolyhedralVolumeOfNodes::ChangeNodes ( const SMDS_MeshNode nodes[],
const int  nbNodes 
)
privatevirtual

Implements SMDS_MeshCell.

SMDS_ElemIteratorPtr SMDS_MeshElement::edgesIterator ( ) const
inherited

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_PolyhedralVolumeOfNodes::elementsIterator ( SMDSAbs_ElementType  type) const
protectedvirtual

Return Iterator of sub elements.

Reimplemented from SMDS_MeshElement.

References SMDS_MeshElement::elementsIterator(), MESSAGE, SMDSAbs_Edge, SMDSAbs_Face, SMDSAbs_Node, and SMDSAbs_Volume.

void SMDS_MeshCell::exchange ( const SMDS_MeshNode nodes[],
int  a,
int  b 
)
protectedinherited
SMDS_ElemIteratorPtr SMDS_MeshElement::facesIterator ( ) const
inherited

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().

const std::vector< int > & SMDS_MeshCell::fromVtkOrder ( VTKCellType  vtkType)
staticinherited

Return indices to transform cell connectivity from VTK to SMDS Usage: smdsIDs[i] = vtkIDs[ indices[ i ]].

References SMDS_MeshCell::toSmdsType().

Referenced by SMDS_VtkVolume::GetNode(), SMDS_Mesh::SMDS_Mesh(), and SMDS_VtkCellIterator::SMDS_VtkCellIterator().

const std::vector< int > & SMDS_MeshCell::fromVtkOrder ( SMDSAbs_EntityType  smdsType)
staticinherited

Return indices to transform cell connectivity from VTK to SMDS Usage: smdsIDs[i] = vtkIDs[ indices[ i ]].

References SMDSEntity_Last, and SMDS_MeshCell::toVtkOrder().

virtual SMDSAbs_EntityType SMDS_PolyhedralVolumeOfNodes::GetEntityType ( ) const
virtual

Reimplemented from SMDS_VolumeOfNodes.

References SMDSEntity_Polyhedra.

const SMDS_MeshNode * SMDS_PolyhedralVolumeOfNodes::GetFaceNode ( const int  face_ind,
const int  node_ind 
) const
SMDSAbs_GeometryType SMDS_VolumeOfNodes::GetGeomType ( ) const
virtualinherited
int SMDS_MeshElement::GetID ( ) const
inherited

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_PolyhedralVolumeOfNodes::GetNode ( const int  ind) const
virtual

Return node by its index.

Reimplemented from SMDS_VolumeOfNodes.

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

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

const std::vector<int>& SMDS_PolyhedralVolumeOfNodes::GetQuanities ( ) const
LongType SMDS_MeshElement::getshapeId ( ) const
inherited

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().

SMDSAbs_ElementType SMDS_PolyhedralVolumeOfNodes::GetType ( ) const
virtual

Return the type of the current element.

Reimplemented from SMDS_VolumeOfNodes.

References SMDSAbs_Volume.

vtkIdType SMDS_MeshVolume::GetVtkType ( ) const
virtualinherited

Implements SMDS_MeshElement.

Reimplemented in SMDS_VtkVolume.

SMDS_NodeIteratorPtr SMDS_MeshElement::interlacedNodesIterator ( ) const
virtualinherited
const std::vector< int > & SMDS_MeshCell::interlacedSmdsOrder ( SMDSAbs_EntityType  smdsType,
const size_t  nbNodes = 0 
)
staticinherited
bool SMDS_MeshElement::isMarked ( ) const
inherited
virtual bool SMDS_PolyhedralVolumeOfNodes::IsPoly ( ) const
virtual

Reimplemented from SMDS_MeshElement.

bool SMDS_MeshElement::IsQuadratic ( ) const
virtualinherited

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
virtualinherited

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
virtualinherited

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_PolyhedralVolumeOfNodes::NbEdges ( ) const
virtual

Return the number of edges owned by or linked with the current element.

Reimplemented from SMDS_MeshElement.

int SMDS_PolyhedralVolumeOfNodes::NbFaceNodes ( const int  face_ind) const
int SMDS_PolyhedralVolumeOfNodes::NbFaces ( ) const
virtual

Return the number of faces owned by or linked with the current element.

Reimplemented from SMDS_MeshElement.

int SMDS_PolyhedralVolumeOfNodes::NbNodes ( ) const
virtual

Return The number of nodes owned by the current element.

Reimplemented from SMDS_MeshElement.

int SMDS_PolyhedralVolumeOfNodes::NbUniqueNodes ( ) const

Return nb of unique nodes.

References SMDS_VolumeOfNodes::myNbNodes.

SMDS_ElemIteratorPtr SMDS_MeshElement::nodesIterator ( ) const
inherited

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
virtualinherited

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_PolyhedralVolumeOfNodes::Print ( std::ostream &  OS) const
virtual

Reimplemented from SMDS_MeshElement.

void SMDS_MeshElement::setId ( int  id)
protectedinherited
void SMDS_MeshElement::setIsMarked ( bool  is) const
inherited
void SMDS_MeshElement::setShapeId ( LongType  shapeId)
protectedinherited
void SMDS_MeshElement::setVtkId ( int  vtkId)
protectedinherited
const std::vector< int > & SMDS_MeshCell::toVtkOrder ( VTKCellType  vtkType)
staticinherited

Return indices to transform cell connectivity from SMDS to VTK Usage: vtkIDs[i] = smdsIDs[ indices[ i ]].

References SMDS_MeshCell::toSmdsType().

Referenced by SMESH_VisualObjDef::buildElemPrs(), SMDS_MeshCell::fromVtkOrder(), SMDS_VtkVolume::GetNodeIndex(), SMESH::TElementSimulation::SetPosition(), SMDS_Mesh::SMDS_Mesh(), and SMDS_VtkVolume::vtkOrder().

const std::vector< int > & SMDS_MeshCell::toVtkOrder ( SMDSAbs_EntityType  smdsType)
staticinherited
SMDS_ElemIteratorPtr SMDS_PolyhedralVolumeOfNodes::uniqueNodesIterator ( ) const

Return iterator on unique nodes.

virtual bool SMDS_MeshCell::vtkOrder ( const SMDS_MeshNode nodes[],
const int  nbNodes 
)
virtualinherited

Reimplemented in SMDS_VtkVolume.

Referenced by SMDS_Mesh::ChangeElementNodes().

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

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

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

Field Documentation

int SMDS_MeshElement::myID
protectedinherited
int SMDS_MeshElement::myIdInShape
protectedinherited

Element index in SMESHDS_SubMesh vector.

int SMDS_VolumeOfNodes::myNbNodes
protectedinherited

Referenced by NbUniqueNodes().

const SMDS_MeshNode** SMDS_VolumeOfNodes::myNodes
protectedinherited
std::vector<const SMDS_MeshNode *> SMDS_PolyhedralVolumeOfNodes::myNodesByFaces
private
std::vector<int> SMDS_PolyhedralVolumeOfNodes::myQuantities
private
LongType SMDS_MeshElement::myShapeId
protectedinherited

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

Referenced by SMDS_MeshElement::isMarked(), and SMDS_MeshElement::setIsMarked().

int SMDS_MeshCell::nbCells = 0
staticinherited