#include <SMESHDS_SubMesh.hxx>
Public Member Functions | |
SMESHDS_SubMesh (SMESHDS_Mesh *parent, int index) | |
Constructor. More... | |
virtual | ~SMESHDS_SubMesh () |
Destructor. More... | |
virtual bool | IsComplexSubmesh () const |
virtual void | AddElement (const SMDS_MeshElement *ME) |
virtual bool | RemoveElement (const SMDS_MeshElement *ME, bool isElemDeleted) |
virtual void | AddNode (const SMDS_MeshNode *ME) |
virtual bool | RemoveNode (const SMDS_MeshNode *ME, bool isNodeDeleted) |
virtual const SMDS_MeshElement * | GetElement (size_t idInShape) const |
virtual const SMDS_MeshNode * | GetNode (size_t idInShape) const |
void | AddSubMesh (const SMESHDS_SubMesh *theSubMesh) |
bool | RemoveSubMesh (const SMESHDS_SubMesh *theSubMesh) |
void | RemoveAllSubmeshes () |
bool | ContainsSubMesh (const SMESHDS_SubMesh *theSubMesh) const |
int | NbSubMeshes () const |
SMESHDS_SubMeshIteratorPtr | GetSubMeshIterator () const |
virtual int | NbElements () const |
virtual SMDS_ElemIteratorPtr | GetElements (bool reverse=false) const |
virtual int | NbNodes () const |
virtual SMDS_NodeIteratorPtr | GetNodes (bool reverse=false) const |
virtual bool | Contains (const SMDS_MeshElement *ME) const |
virtual bool | IsQuadratic () const |
virtual void | Clear () |
int | getSize () |
void | compactList () |
SMESHDS_Mesh * | GetParent () const |
int | GetID () const |
Private Attributes | |
SMESHDS_Mesh * | myParent |
std::vector< const SMDS_MeshElement * > | myElements |
std::vector< const SMDS_MeshNode * > | myNodes |
int | myUnusedIdNodes |
int | myUnusedIdElements |
int | myIndex |
std::set< const SMESHDS_SubMesh * > | mySubMeshes |
SMESHDS_SubMesh::SMESHDS_SubMesh | ( | SMESHDS_Mesh * | parent, |
int | index | ||
) |
Constructor.
|
virtual |
Destructor.
|
virtual |
Reimplemented in SMESH_ProxyMesh::SubMesh.
References SMESH::AddNode(), SMDS_MeshElement::GetID(), SMDS_MeshElement::getIdInShape(), SMDS_MeshElement::getshapeId(), SMDS_MeshElement::GetType(), MESSAGE, SMDS_MeshElement::setIdInShape(), SMDS_MeshElement::setShapeId(), and SMDSAbs_Node.
Referenced by SMESHDS_Mesh::add(), VISCOUS_3D::_ViscousBuilder::addBoundaryElements(), SMESH_MeshEditor::convertElemToQuadratic(), SMESH_MeshEditor::ConvertToQuadratic(), DriverMED_R_SMESHDS_Mesh::GetSubMesh(), StdMeshers_Import_1D::importMesh(), SMESH_PreMeshInfo::readSubMeshes(), SMESH_MeshEditor::removeQuadElem(), VISCOUS_3D::_ViscousBuilder::shrink(), SMESH_MeshEditor::SplitBiQuadraticIntoLinear(), and SMESH_MeshEditor::SplitVolumes().
|
virtual |
void SMESHDS_SubMesh::AddSubMesh | ( | const SMESHDS_SubMesh * | theSubMesh | ) |
Referenced by SMESHDS_Mesh::AddCompoundSubmesh(), and SMESH_ProxyMesh::GetFaces().
|
virtual |
Reimplemented in SMESH_ProxyMesh::SubMesh.
Referenced by VISCOUS_3D::_ViscousBuilder::shrink().
void SMESHDS_SubMesh::compactList | ( | ) |
References SMDS_MeshElement::setIdInShape().
|
virtual |
Reimplemented in SMESH_ProxyMesh::SubMesh.
References SMDS_MeshElement::getIdInShape(), SMDS_MeshElement::GetType(), and SMDSAbs_Node.
Referenced by SMESHDS_GroupOnGeom::Contains(), SMESH_MeshEditor::ConvertToQuadratic(), StdMeshers_ProjectionUtils::FindMatchingNodesOnFaces(), VISCOUS_3D::_ViscousBuilder::findNeiborsOnEdge(), SMESH_MeshEditor::FindShape(), VISCOUS_3D::_ViscousBuilder::fixBadFaces(), SMESH_MesherHelper::IsReversedSubMesh(), _QuadFaceGrid::LoadGrid(), SMESH_MesherHelper::LoadNodeColumns(), VISCOUS_3D::_ViscousBuilder::prepareEdgeToShrink(), SMESH_MeshEditor::removeQuadElem(), VISCOUS_3D::_ViscousBuilder::shrink(), SMESH_MeshEditor::SplitVolumes(), and VISCOUS_3D::_Shrinker1D::SwapSrcTgtNodes().
bool SMESHDS_SubMesh::ContainsSubMesh | ( | const SMESHDS_SubMesh * | theSubMesh | ) | const |
|
virtual |
|
virtual |
Reimplemented in SMESH_ProxyMesh::SubMesh.
Referenced by SMESH_Algo::addBadInputElements(), StdMeshers_Quadrangle_2D::check(), StdMeshers_Projection_1D2D::Compute(), StdMeshers_Projection_3D::Compute(), StdMeshers_Projection_2D::Compute(), StdMeshers_RadialPrism_3D::Compute(), StdMeshers_QuadToTriaAdaptor::Compute(), StdMeshers_Prism_3D::compute(), SMESH_MeshEditor::convertElemToQuadratic(), StdMeshers_Projection_1D2D::Evaluate(), StdMeshers_ProjectionUtils::FindMatchingNodesOnFaces(), VISCOUS_3D::_ViscousBuilder::fixBadFaces(), SMESH_2D_Algo::FixInternalNodes(), StdMeshers_FaceSide::GetEdgeNodes(), MyElemIterator::getElements(), SMESH_Mesh_i::GetElements(), SMESH_Algo::GetMeshError(), SMESH_Algo::GetNodeParamOnEdge(), SMESH_Mesh_i::GetSubMeshElementsId(), SMESH_Mesh_i::GetSubMeshElementType(), SMESH_Mesh_i::GetSubMeshNodesId(), SMESH_Pattern::getSubmeshWithElements(), StdMeshers_Prism_3D::getSweepTolerance(), isMeshBoundToShape(), SMESH_MesherHelper::IsReversedSubMesh(), SMESH_MesherHelper::IsSameElemGeometry(), _QuadFaceGrid::LoadGrid(), StdMeshers_Penta_3D::LoadIJNodes(), SMESH_MesherHelper::LoadNodeColumns(), StdMeshers_Penta_3D::MakeBlock(), VISCOUS_3D::_ViscousBuilder::makeLayer(), StdMeshers_Penta_3D::MakeMeshOnFxy1(), VISCOUS_3D::_ViscousBuilder::MakeN2NMap(), StdMeshers_Penta_3D::MakeVolumeMesh(), MyIterator< const SMDS_MeshNode * >::MyIterator(), SMESH_Gen_i::Precompute(), StdMeshers_Prism_3D::project2dMesh(), StdMeshers_Prism_3D::projectBottomToTop(), VISCOUS_3D::_ViscousBuilder::refine(), StdMeshers_MaxElementArea::SetParametersByMesh(), StdMeshers_MaxElementVolume::SetParametersByMesh(), StdMeshers_Adaptive1D::SetParametersByMesh(), VISCOUS_3D::_ViscousBuilder::setShapeData(), VISCOUS_3D::_ViscousBuilder::shrink(), and DriverMED_Family::SplitByType().
int SMESHDS_SubMesh::GetID | ( | ) | const |
|
virtual |
|
virtual |
Reimplemented in SMESH_ProxyMesh::SubMesh.
Referenced by SMESH_Algo::addBadInputElements(), VISCOUS_3D::_Shrinker1D::AddEdge(), StdMeshers_Projection_2D::Compute(), SMESH_Pattern::createElements(), StdMeshers_ProjectionUtils::FindMatchingNodesOnFaces(), StdMeshers_FaceSide::GetEdgeNodes(), MyNodeIterator::getElements(), SMESH_Algo::GetNodeParamOnEdge(), SMESH_Algo::GetSortedNodesOnEdge(), SMESH_Mesh_i::GetSubMeshNodesId(), SMESH_Pattern::getSubmeshWithElements(), Handle(), StdMeshers_Penta_3D::LoadIJNodes(), StdMeshers_Penta_3D::MakeMeshOnFxy1(), StdMeshers_Penta_3D::MakeNodes(), MyIterator< const SMDS_MeshNode * >::MyIterator(), SMESH_Gen_i::Precompute(), StdMeshers_Prism_3D::project2dMesh(), StdMeshers_Prism_3D::projectBottomToTop(), SMESH_Gen_i::Save(), StdMeshers_SegmentLengthAroundVertex::SetParametersByMesh(), VISCOUS_3D::_ViscousBuilder::shrink(), StdMeshers_Quadrangle_2D::smooth(), and DriverMED_Family::SplitByType().
SMESHDS_Mesh* SMESHDS_SubMesh::GetParent | ( | ) | const |
int SMESHDS_SubMesh::getSize | ( | ) |
References MESHCUT::d.
SMESHDS_SubMeshIteratorPtr SMESHDS_SubMesh::GetSubMeshIterator | ( | ) | const |
|
virtual |
|
virtual |
|
virtual |
Reimplemented in SMESH_ProxyMesh::SubMesh.
Referenced by StdMeshers_Prism_3D::assocOrProjBottom2Top(), StdMeshers_Projection_1D2D::Compute(), StdMeshers_Hexa_3D::Compute(), StdMeshers_Regular_1D::computeInternalParameters(), StdMeshers_Projection_1D2D::Evaluate(), StdMeshers_ProjectionUtils::FindMatchingNodesOnFaces(), VISCOUS_3D::_ViscousBuilder::findNeiborsOnEdge(), SMESH_2D_Algo::FixInternalNodes(), StdMeshers_FaceSide::GetEdgeNodes(), SMESH_Algo::GetSortedNodesOnEdge(), SMESH_Mesh_i::GetSubMeshElementsId(), SMESH_Mesh_i::GetSubMeshElementType(), SMESH_Mesh_i::GetSubMeshNodesId(), StdMeshers_Import_1D::importMesh(), isMeshBoundToShape(), SMESH_MesherHelper::IsReversedSubMesh(), SMESH_MesherHelper::IsStructured(), SMESH_MesherHelper::LoadNodeColumns(), VISCOUS_3D::_ViscousBuilder::MakeN2NMap(), VISCOUS_3D::_ViscousBuilder::prepareEdgeToShrink(), StdMeshers_Prism_3D::projectBottomToTop(), StdMeshers_AutomaticLength::SetParametersByMesh(), StdMeshers_NumberOfSegments::SetParametersByMesh(), VISCOUS_3D::_ViscousBuilder::setShapeData(), VISCOUS_3D::_ViscousBuilder::shrink(), and SMESH_subMesh::SubMeshesComputed().
|
virtual |
Reimplemented in VISCOUS_2D::_ProxyMeshOfFace::_EdgeSubMesh, and SMESH_ProxyMesh::SubMesh.
Referenced by VISCOUS_3D::_Shrinker1D::AddEdge(), StdMeshers_Prism_3D::assocOrProjBottom2Top(), StdMeshers_Projection_2D::Compute(), StdMeshers_Regular_1D::computeInternalParameters(), SMESH_subMesh::ComputeStateEngine(), StdMeshers_Projection_1D2D::Evaluate(), StdMeshers_ProjectionUtils::FindMatchingNodesOnFaces(), StdMeshers_FaceSide::GetEdgeNodes(), SMESH_subMesh_i::GetNumberOfNodes(), SMESH_Algo::GetSortedNodesOnEdge(), StdMeshers_Import_1D::importMesh(), StdMeshers_Penta_3D::LoadIJNodes(), StdMeshers_Penta_3D::MakeMeshOnFxy1(), StdMeshers_Penta_3D::MakeNodes(), SMESH_Gen_i::Save(), StdMeshers_SegmentLengthAroundVertex::SetParametersByMesh(), VISCOUS_3D::_ViscousBuilder::shrink(), and SMESH_subMesh::SubMeshesComputed().
int SMESHDS_SubMesh::NbSubMeshes | ( | ) | const |
Referenced by SMESH_ProxyMesh::GetFaces().
void SMESHDS_SubMesh::RemoveAllSubmeshes | ( | ) |
Referenced by SMESH_ProxyMesh::GetFaces().
|
virtual |
|
virtual |
References SMDS_MeshElement::getIdInShape(), SMDS_MeshElement::getshapeId(), SMDS_MeshElement::setIdInShape(), and SMDS_MeshElement::setShapeId().
Referenced by StdMeshers_Projection_1D2D::Compute(), StdMeshers_Import_1D2D::Compute(), SMESHDS_Mesh::RemoveFreeNode(), and SMESH_MeshEditor::SplitVolumes().
bool SMESHDS_SubMesh::RemoveSubMesh | ( | const SMESHDS_SubMesh * | theSubMesh | ) |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |