- //================================================================================
- /*!
- * \brief Description of node used to detect corner nodes
- */
- struct _NodeDescriptor
- {
- int nbInverseFaces, nbNodesInInverseFaces;
-
- _NodeDescriptor(const SMDS_MeshNode* n): nbInverseFaces(0), nbNodesInInverseFaces(0)
- {
- if ( n )
- {
- set<const SMDS_MeshNode*> nodes;
- SMDS_ElemIteratorPtr fIt = n->GetInverseElementIterator(SMDSAbs_Face );
- while ( fIt->more() )
- {
- const SMDS_MeshElement* face = fIt->next();
- nodes.insert( face->begin_nodes(), face->end_nodes() );
- nbInverseFaces++;
- }
- nbNodesInInverseFaces = nodes.size();
- }
- }
- bool operator==(const _NodeDescriptor& other) const
- {
- return
- nbInverseFaces == other.nbInverseFaces &&
- nbNodesInInverseFaces == other.nbNodesInInverseFaces;
- }
- };
-