region not preserved when stitching

This commit is contained in:
mattijs 2008-06-05 19:23:58 +01:00
parent d25d392c9f
commit d536f087b5
3 changed files with 7 additions and 6 deletions

View File

@ -438,6 +438,7 @@ bool triSurface::readSTLASCII(const fileName& STLfileName)
STLlabels.clear();
// Stitch all points within SMALL meters.
stitchTriangles(rawPoints);
// Convert solidNames into regionNames

View File

@ -42,17 +42,16 @@ bool triSurface::stitchTriangles
)
{
// Merge points
labelList pointMap(rawPoints.size());
pointField newPoints(rawPoints.size());
labelList pointMap;
pointField newPoints;
bool hasMerged = mergePoints(rawPoints, tol, verbose, pointMap, newPoints);
if (hasMerged)
{
if (verbose)
{
Pout<< "stitchTriangles : Renumbering all triangles" << endl;
Pout<< "stitchTriangles : Merged from " << rawPoints.size()
<< " points down to " << newPoints.size() << endl;
}
pointField& ps = const_cast<pointField&>(points());
@ -73,6 +72,7 @@ bool triSurface::stitchTriangles
operator[](newTriangleI)[0] = newA;
operator[](newTriangleI)[1] = newB;
operator[](newTriangleI)[2] = newC;
operator[](newTriangleI).region() = operator[](i).region();
newTriangleI++;
}
else if (verbose)

View File

@ -651,7 +651,7 @@ surfacePatchList triSurface::calcPatches(labelList& faceMap) const
{
sortedRegion[faceI] = operator[](faceI).region();
}
sortedRegion.sort();
sortedRegion.stableSort();
faceMap = sortedRegion.indices();