mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-01-12 09:40:35 +05:00
GetNode(int index) no longer wraps index, rather GetNodeWrap(int index) does
This commit is contained in:
parent
88eccafce6
commit
b6986ac1b1
@ -168,12 +168,10 @@ int SMDS_FaceOfEdges::NbNodes() const
|
||||
* \brief Return node by its index
|
||||
* \param ind - node index
|
||||
* \retval const SMDS_MeshNode* - the node
|
||||
*
|
||||
* Index is wrapped if it is out of a valid range
|
||||
*/
|
||||
const SMDS_MeshNode* SMDS_FaceOfEdges::GetNode(const int ind) const
|
||||
{
|
||||
int index = WrappedIndex( ind );
|
||||
int index = ind;
|
||||
for ( int i = 0; i < myNbEdges; ++i ) {
|
||||
if ( index >= myEdges[ i ]->NbNodes() )
|
||||
index -= myEdges[ i ]->NbNodes();
|
||||
|
@ -56,8 +56,6 @@ class SMDS_EXPORT SMDS_FaceOfEdges:public SMDS_MeshFace
|
||||
* \brief Return node by its index
|
||||
* \param ind - node index
|
||||
* \retval const SMDS_MeshNode* - the node
|
||||
*
|
||||
* Index is wrapped if it is out of a valid range
|
||||
*/
|
||||
virtual const SMDS_MeshNode* GetNode(const int ind) const;
|
||||
|
||||
|
@ -95,7 +95,7 @@ public:
|
||||
myElems.reserve( face->NbNodes() );
|
||||
for ( int i = 0; i < face->NbNodes(); ++i ) {
|
||||
const SMDS_MeshElement* edge =
|
||||
SMDS_Mesh::FindEdge( face->GetNode( i ), face->GetNode( i + 1 ));
|
||||
SMDS_Mesh::FindEdge( face->GetNode( i ), face->GetNodeWrap( i + 1 ));
|
||||
if ( edge )
|
||||
myElems.push_back( edge );
|
||||
}
|
||||
@ -169,39 +169,8 @@ bool SMDS_FaceOfNodes::ChangeNodes(const SMDS_MeshNode* nodes[],
|
||||
* \brief Return node by its index
|
||||
* \param ind - node index
|
||||
* \retval const SMDS_MeshNode* - the node
|
||||
*
|
||||
* Index is wrapped if it is out of a valid range
|
||||
*/
|
||||
const SMDS_MeshNode* SMDS_FaceOfNodes::GetNode(const int ind) const
|
||||
{
|
||||
return myNodes[ WrappedIndex( ind )];
|
||||
return myNodes[ ind ];
|
||||
}
|
||||
|
||||
/*bool operator<(const SMDS_FaceOfNodes& f1, const SMDS_FaceOfNodes& f2)
|
||||
{
|
||||
set<SMDS_MeshNode> set1,set2;
|
||||
SMDS_ElemIteratorPtr it;
|
||||
const SMDS_MeshNode * n;
|
||||
|
||||
it=f1.nodesIterator();
|
||||
|
||||
while(it->more())
|
||||
{
|
||||
n=static_cast<const SMDS_MeshNode *>(it->next());
|
||||
set1.insert(*n);
|
||||
}
|
||||
|
||||
delete it;
|
||||
it=f2.nodesIterator();
|
||||
|
||||
while(it->more())
|
||||
{
|
||||
n=static_cast<const SMDS_MeshNode *>(it->next());
|
||||
set2.insert(*n);
|
||||
}
|
||||
|
||||
delete it;
|
||||
return set1<set2;
|
||||
|
||||
}*/
|
||||
|
||||
|
@ -53,8 +53,6 @@ class SMDS_EXPORT SMDS_FaceOfNodes:public SMDS_MeshFace
|
||||
* \brief Return node by its index
|
||||
* \param ind - node index
|
||||
* \retval const SMDS_MeshNode* - the node
|
||||
*
|
||||
* Index is wrapped if it is out of a valid range
|
||||
*/
|
||||
virtual const SMDS_MeshNode* GetNode(const int ind) const;
|
||||
|
||||
|
@ -138,12 +138,10 @@ bool operator<(const SMDS_MeshEdge & e1, const SMDS_MeshEdge & e2)
|
||||
* \brief Return node by its index
|
||||
* \param ind - node index
|
||||
* \retval const SMDS_MeshNode* - the node
|
||||
*
|
||||
* Index is wrapped if it is out of a valid range
|
||||
*/
|
||||
const SMDS_MeshNode* SMDS_MeshEdge::GetNode(const int ind) const
|
||||
{
|
||||
return myNodes[ WrappedIndex( ind )];
|
||||
return myNodes[ ind ];
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
|
@ -50,8 +50,6 @@ class SMDS_EXPORT SMDS_MeshEdge:public SMDS_MeshElement
|
||||
* \brief Return node by its index
|
||||
* \param ind - node index
|
||||
* \retval const SMDS_MeshNode* - the node
|
||||
*
|
||||
* Index is wrapped if it is out of a valid range
|
||||
*/
|
||||
virtual const SMDS_MeshNode* GetNode(const int ind) const;
|
||||
|
||||
|
@ -202,12 +202,13 @@ bool SMDS_MeshElement::IsValidIndex(const int ind) const
|
||||
|
||||
const SMDS_MeshNode* SMDS_MeshElement::GetNode(const int ind) const
|
||||
{
|
||||
if ( ind >= 0 ) {
|
||||
SMDS_ElemIteratorPtr it = nodesIterator();
|
||||
int i = 0, index = WrappedIndex( ind );
|
||||
while ( index != i++ )
|
||||
for ( int i = 0; i < ind; ++i )
|
||||
it->next();
|
||||
if ( it->more() )
|
||||
return static_cast<const SMDS_MeshNode*> (it->next());
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -58,8 +58,6 @@ class SMDS_EXPORT SMDS_MeshNode:public SMDS_MeshElement
|
||||
* \brief Return node by its index
|
||||
* \param ind - node index
|
||||
* \retval const SMDS_MeshNode* - the node
|
||||
*
|
||||
* Index is wrapped if it is out of a valid range
|
||||
*/
|
||||
virtual const SMDS_MeshNode* GetNode(const int) const { return this; }
|
||||
|
||||
|
@ -154,7 +154,7 @@ public:
|
||||
myElems.reserve( face->NbNodes() );
|
||||
for ( int i = 0; i < face->NbNodes(); ++i ) {
|
||||
const SMDS_MeshElement* edge =
|
||||
SMDS_Mesh::FindEdge( face->GetNode( i ), face->GetNode( i + 1 ));
|
||||
SMDS_Mesh::FindEdge( face->GetNode( i ), face->GetNodeWrap( i + 1 ));
|
||||
if ( edge )
|
||||
myElems.push_back( edge );
|
||||
}
|
||||
@ -191,8 +191,6 @@ SMDS_ElemIteratorPtr SMDS_PolygonalFaceOfNodes::elementsIterator
|
||||
* \brief Return node by its index
|
||||
* \param ind - node index
|
||||
* \retval const SMDS_MeshNode* - the node
|
||||
*
|
||||
* Index is wrapped if it is out of a valid range
|
||||
*/
|
||||
const SMDS_MeshNode* SMDS_PolygonalFaceOfNodes::GetNode(const int ind) const
|
||||
{
|
||||
|
@ -58,8 +58,6 @@ class SMDS_EXPORT SMDS_PolygonalFaceOfNodes:public SMDS_MeshFace
|
||||
* \brief Return node by its index
|
||||
* \param ind - node index
|
||||
* \retval const SMDS_MeshNode* - the node
|
||||
*
|
||||
* Index is wrapped if it is out of a valid range
|
||||
*/
|
||||
virtual const SMDS_MeshNode* GetNode(const int ind) const;
|
||||
|
||||
|
@ -259,5 +259,5 @@ SMDS_ElemIteratorPtr SMDS_PolyhedralVolumeOfNodes::uniqueNodesIterator() const
|
||||
|
||||
const SMDS_MeshNode* SMDS_PolyhedralVolumeOfNodes::GetNode(const int ind) const
|
||||
{
|
||||
return myNodesByFaces[ WrappedIndex( ind )];
|
||||
return myNodesByFaces[ ind ];
|
||||
}
|
||||
|
@ -255,7 +255,7 @@ public:
|
||||
_MyEdgeIterator(const SMDS_QuadraticFaceOfNodes* face):myIndex(0) {
|
||||
myElems.reserve( face->NbNodes() );
|
||||
SMDS_ElemIteratorPtr nIt = face->interlacedNodesElemIterator();
|
||||
const SMDS_MeshNode* n0 = face->GetNode( -1 );
|
||||
const SMDS_MeshNode* n0 = face->GetNodeWrap( -1 );
|
||||
while ( nIt->more() ) {
|
||||
const SMDS_MeshNode* n1 = static_cast<const SMDS_MeshNode*>( nIt->next() );
|
||||
const SMDS_MeshElement* edge = SMDS_Mesh::FindEdge( n0, n1 );
|
||||
@ -300,11 +300,9 @@ SMDS_ElemIteratorPtr SMDS_QuadraticFaceOfNodes::elementsIterator
|
||||
* \brief Return node by its index
|
||||
* \param ind - node index
|
||||
* \retval const SMDS_MeshNode* - the node
|
||||
*
|
||||
* Index is wrapped if it is out of a valid range
|
||||
*/
|
||||
const SMDS_MeshNode* SMDS_QuadraticFaceOfNodes::GetNode(const int ind) const
|
||||
{
|
||||
return myNodes[ WrappedIndex( ind )];
|
||||
return myNodes[ ind ];
|
||||
}
|
||||
|
||||
|
@ -70,8 +70,6 @@ public:
|
||||
* \brief Return node by its index
|
||||
* \param ind - node index
|
||||
* \retval const SMDS_MeshNode* - the node
|
||||
*
|
||||
* Index is wrapped if it is out of a valid range
|
||||
*/
|
||||
virtual const SMDS_MeshNode* GetNode(const int ind) const;
|
||||
|
||||
|
@ -362,11 +362,9 @@ SMDS_ElemIteratorPtr SMDS_QuadraticVolumeOfNodes::elementsIterator
|
||||
* \brief Return node by its index
|
||||
* \param ind - node index
|
||||
* \retval const SMDS_MeshNode* - the node
|
||||
*
|
||||
* Index is wrapped if it is out of a valid range
|
||||
*/
|
||||
const SMDS_MeshNode* SMDS_QuadraticVolumeOfNodes::GetNode(const int ind) const
|
||||
{
|
||||
return myNodes[ WrappedIndex( ind )];
|
||||
return myNodes[ ind ];
|
||||
}
|
||||
|
||||
|
@ -116,8 +116,6 @@ public:
|
||||
* \brief Return node by its index
|
||||
* \param ind - node index
|
||||
* \retval const SMDS_MeshNode* - the node
|
||||
*
|
||||
* Index is wrapped if it is out of a valid range
|
||||
*/
|
||||
virtual const SMDS_MeshNode* GetNode(const int ind) const;
|
||||
|
||||
|
@ -141,7 +141,7 @@ void SMDS_VolumeOfNodes::Print(ostream & OS) const
|
||||
{
|
||||
OS << "volume <" << GetID() << "> : ";
|
||||
int i;
|
||||
for (i = 0; i < NbNodes(); ++i) OS << myNodes[i] << ",";
|
||||
for (i = 0; i < NbNodes()-1; ++i) OS << myNodes[i] << ",";
|
||||
OS << myNodes[NbNodes()-1]<< ") " << endl;
|
||||
}
|
||||
|
||||
@ -241,10 +241,8 @@ SMDSAbs_ElementType SMDS_VolumeOfNodes::GetType() const
|
||||
* \brief Return node by its index
|
||||
* \param ind - node index
|
||||
* \retval const SMDS_MeshNode* - the node
|
||||
*
|
||||
* Index is wrapped if it is out of a valid range
|
||||
*/
|
||||
const SMDS_MeshNode* SMDS_VolumeOfNodes::GetNode(const int ind) const
|
||||
{
|
||||
return myNodes[ WrappedIndex( ind )];
|
||||
return myNodes[ ind ];
|
||||
}
|
||||
|
@ -75,8 +75,6 @@ class SMDS_EXPORT SMDS_VolumeOfNodes:public SMDS_MeshVolume
|
||||
* \brief Return node by its index
|
||||
* \param ind - node index
|
||||
* \retval const SMDS_MeshNode* - the node
|
||||
*
|
||||
* Index is wrapped if it is out of a valid range
|
||||
*/
|
||||
virtual const SMDS_MeshNode* GetNode(const int ind) const;
|
||||
|
||||
|
@ -2050,8 +2050,8 @@ void SMESH_MeshEditor::GetLinkedNodes( const SMDS_MeshNode* theNode,
|
||||
iAfter = SMESH_MesherHelper::WrapIndex( iAfter, nb );
|
||||
iBefore = SMESH_MesherHelper::WrapIndex( iBefore, nb );
|
||||
}
|
||||
linkedNodes.insert( elem->GetNode( iAfter ));
|
||||
linkedNodes.insert( elem->GetNode( iBefore ));
|
||||
linkedNodes.insert( elem->GetNodeWrap( iAfter ));
|
||||
linkedNodes.insert( elem->GetNodeWrap( iBefore ));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2456,7 +2456,7 @@ void SMESH_MeshEditor::Smooth (TIDSortedElemSet & theElems,
|
||||
if(elem->IsQuadratic())
|
||||
nbn = nbn/2;
|
||||
// loop on elem links: insert them in linkNbMap
|
||||
const SMDS_MeshNode* curNode, *prevNode = elem->GetNode( nbn );
|
||||
const SMDS_MeshNode* curNode, *prevNode = elem->GetNodeWrap( nbn );
|
||||
for ( int iN = 0; iN < nbn; ++iN ) {
|
||||
curNode = elem->GetNode( iN );
|
||||
NLink link;
|
||||
@ -3276,7 +3276,7 @@ void SMESH_MeshEditor::makeWalls (TNodeOfNodeListMap & mapNewNodes,
|
||||
const SMDS_MeshFace * f = aMesh->FindFace( nodes[ 0 ], nodes[ 1 ], nodes[ 2 ]);
|
||||
if ( !f )
|
||||
myLastCreatedElems.Append(aMesh->AddFace( nodes[ 0 ], nodes[ 1 ], nodes[ 2 ] ));
|
||||
else if ( nodes[ 1 ] != f->GetNode( f->GetNodeIndex( nodes[ 0 ] ) + 1 ))
|
||||
else if ( nodes[ 1 ] != f->GetNodeWrap( f->GetNodeIndex( nodes[ 0 ] ) + 1 ))
|
||||
aMesh->ChangeElementNodes( f, nodes, nbn );
|
||||
break;
|
||||
}
|
||||
@ -3284,7 +3284,7 @@ void SMESH_MeshEditor::makeWalls (TNodeOfNodeListMap & mapNewNodes,
|
||||
const SMDS_MeshFace * f = aMesh->FindFace( nodes[ 0 ], nodes[ 1 ], nodes[ 2 ], nodes[ 3 ]);
|
||||
if ( !f )
|
||||
myLastCreatedElems.Append(aMesh->AddFace( nodes[ 0 ], nodes[ 1 ], nodes[ 2 ], nodes[ 3 ] ));
|
||||
else if ( nodes[ 1 ] != f->GetNode( f->GetNodeIndex( nodes[ 0 ] ) + 1 ))
|
||||
else if ( nodes[ 1 ] != f->GetNodeWrap( f->GetNodeIndex( nodes[ 0 ] ) + 1 ))
|
||||
aMesh->ChangeElementNodes( f, nodes, nbn );
|
||||
break;
|
||||
}
|
||||
@ -3296,7 +3296,7 @@ void SMESH_MeshEditor::makeWalls (TNodeOfNodeListMap & mapNewNodes,
|
||||
if ( !f )
|
||||
myLastCreatedElems.Append(aMesh->AddFace(nodes[0], nodes[2], nodes[4],
|
||||
nodes[1], nodes[3], nodes[5]));
|
||||
else if ( nodes[ 2 ] != f->GetNode( f->GetNodeIndex( nodes[ 0 ] ) + 1 ))
|
||||
else if ( nodes[ 2 ] != f->GetNodeWrap( f->GetNodeIndex( nodes[ 0 ] ) + 1 ))
|
||||
aMesh->ChangeElementNodes( f, nodes, nbn );
|
||||
}
|
||||
else { /////// quadratic quadrangle
|
||||
@ -3305,7 +3305,7 @@ void SMESH_MeshEditor::makeWalls (TNodeOfNodeListMap & mapNewNodes,
|
||||
if ( !f )
|
||||
myLastCreatedElems.Append(aMesh->AddFace(nodes[0], nodes[2], nodes[4], nodes[6],
|
||||
nodes[1], nodes[3], nodes[5], nodes[7]));
|
||||
else if ( nodes[ 2 ] != f->GetNode( f->GetNodeIndex( nodes[ 0 ] ) + 1 ))
|
||||
else if ( nodes[ 2 ] != f->GetNodeWrap( f->GetNodeIndex( nodes[ 0 ] ) + 1 ))
|
||||
aMesh->ChangeElementNodes( f, nodes, nbn );
|
||||
}
|
||||
}
|
||||
@ -3314,7 +3314,7 @@ void SMESH_MeshEditor::makeWalls (TNodeOfNodeListMap & mapNewNodes,
|
||||
const SMDS_MeshFace * f = aMesh->FindFace( polygon_nodes );
|
||||
if ( !f )
|
||||
myLastCreatedElems.Append(aMesh->AddPolygonalFace(polygon_nodes));
|
||||
else if ( nodes[ 1 ] != f->GetNode( f->GetNodeIndex( nodes[ 0 ] ) + 1 ))
|
||||
else if ( nodes[ 1 ] != f->GetNodeWrap( f->GetNodeIndex( nodes[ 0 ] ) + 1 ))
|
||||
aMesh->ChangeElementNodes( f, nodes, nbn );
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user