- int Netgen_NbOfNodes = 0;
- int Netgen_param2ndOrder = 0;
- double Netgen_paramFine = 1.;
- double Netgen_paramSize = pow( 72, 1/6. ) * pow( _maxElementVolume, 1/3. );
-
- double Netgen_point[3];
- int Netgen_triangle[3];
- int Netgen_tetrahedron[4];
-
- Ng_Init();
-
- Ng_Mesh * Netgen_mesh = Ng_NewMesh();
-
- // set nodes and remember thier netgen IDs
- bool isDegen = false, hasDegen = !degenShapeIdToPtrNgId.empty();
- TNodeToIDMap::iterator n_id = nodeToNetgenID.begin();
- for ( ; n_id != nodeToNetgenID.end(); ++n_id )
- {
- const SMDS_MeshNode* node = n_id->first;
-
- // ignore nodes on degenerated edge
- if ( hasDegen ) {
- int shapeId = node->GetPosition()->GetShapeId();
- shId_ngId = degenShapeIdToPtrNgId.find( shapeId );
- isDegen = ( shId_ngId != degenShapeIdToPtrNgId.end() );
- if ( isDegen && *(shId_ngId->second) != invalid_ID ) {
- n_id->second = *(shId_ngId->second);
- continue;
- }
- }
- Netgen_point [ 0 ] = node->X();
- Netgen_point [ 1 ] = node->Y();
- Netgen_point [ 2 ] = node->Z();
- Ng_AddPoint(Netgen_mesh, Netgen_point);
- n_id->second = ++Netgen_NbOfNodes; // set netgen ID
-
- if ( isDegen ) // all nodes on a degen edge get one netgen ID
- *(shId_ngId->second) = n_id->second;
- }
+ // insert old nodes into nodeVec
+ nodeVec.resize( nodeToNetgenID.size() + 1, 0 );
+ TNodeToIDMap::iterator n_id = nodeToNetgenID.begin();
+ for ( ; n_id != nodeToNetgenID.end(); ++n_id )
+ nodeVec[ n_id->second ] = n_id->first;
+ nodeToNetgenID.clear();