+
+ // Also, in this (segment) mesh, nodes connected to more than 3 segs should not be dup either (singular points - see testBuildInnerBoundary6())
+ dt0=DataArrayIdType::New(),dit0=DataArrayIdType::New(),rdt0=DataArrayIdType::New(),rdit0=DataArrayIdType::New();
+ MCUMesh meshM2Desc = meshM2->buildDescendingConnectivity(dt0, dit0, rdt0, rdit0); dt0=0; dit0=0; rdt0=0; // a mesh made of node cells
+ dsi = rdit0->deltaShiftIndex();
+ DAInt singPoints = dsi->findIdsNotInRange(-1,4); // points connected to (strictly) more than 3 segments
+ const mcIdType *cc = meshM2Desc->getNodalConnectivity()->begin(), *ccI = meshM2Desc->getNodalConnectivityIndex()->begin();
+ mcIdType * singPointsP = singPoints->rwBegin();
+ for (mcIdType j=0; j < singPoints->getNumberOfTuples(); j++) // replace ids in singPoints by real coordinate index (was index of cells in notDuplSkin)
+ {
+ mcIdType nodeCellIdx = singPointsP[j];
+ singPointsP[j] = cc[ccI[nodeCellIdx]+1]; // +1 to skip type
+ }
+ DAInt fNodes2 = fNodes1->buildSubstraction(singPoints);
+ notDup = xtrem->buildSubstraction(fNodes2);