using existing faces.
This commit is contained in:
parent
e4a4dd72bb
commit
7047f4d4a7
|
@ -89,6 +89,7 @@ Pivot(MESH &_mesh, ScalarType _radius, ScalarType _mindist = 0.1, ScalarType _cr
|
||||||
grid.Set(mesh.vert.begin(), mesh.vert.end(), box);
|
grid.Set(mesh.vert.begin(), mesh.vert.end(), box);
|
||||||
nb.clear();
|
nb.clear();
|
||||||
nb.resize(mesh.vert.size(), 0);
|
nb.resize(mesh.vert.size(), 0);
|
||||||
|
|
||||||
if(mesh.face.size()) {
|
if(mesh.face.size()) {
|
||||||
//init border from mesh
|
//init border from mesh
|
||||||
Point3x center;
|
Point3x center;
|
||||||
|
@ -97,6 +98,7 @@ Pivot(MESH &_mesh, ScalarType _radius, ScalarType _mindist = 0.1, ScalarType _cr
|
||||||
CFace &face = mesh.face[i];
|
CFace &face = mesh.face[i];
|
||||||
for(int k = 0; k < 3; k++) {
|
for(int k = 0; k < 3; k++) {
|
||||||
if(!face.V(k)->IsB()) face.V(k)->SetV();
|
if(!face.V(k)->IsB()) face.V(k)->SetV();
|
||||||
|
cluster(face.V(k) - start);
|
||||||
if(face.IsB(k)) {
|
if(face.IsB(k)) {
|
||||||
//compute center:
|
//compute center:
|
||||||
findSphere(face.P(k), face.P((k+1)%3), face.P((k+2)%3), center);
|
findSphere(face.P(k), face.P((k+1)%3), face.P((k+2)%3), center);
|
||||||
|
@ -132,8 +134,9 @@ Pivot(MESH &_mesh, ScalarType _radius, ScalarType _mindist = 0.1, ScalarType _cr
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
for(int i = 0; i < mesh.vert.size(); i++)
|
for(int i = 0; i < mesh.vert.size(); i++) {
|
||||||
mesh.vert[i].ClearFlags();
|
mesh.vert[i].ClearFlags();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
srand(time(NULL));
|
srand(time(NULL));
|
||||||
|
@ -300,7 +303,7 @@ int addFace() {
|
||||||
if(!front.size()) {
|
if(!front.size()) {
|
||||||
//maybe there are unconnected parts of the mesh:
|
//maybe there are unconnected parts of the mesh:
|
||||||
//find a non D, V, B point and try to seed if failed D it.
|
//find a non D, V, B point and try to seed if failed D it.
|
||||||
while(last_seed < mesh.vert.size() {
|
while(last_seed < mesh.vert.size()) {
|
||||||
++last_seed;
|
++last_seed;
|
||||||
CVertex &v = mesh.vert[last_seed-1];
|
CVertex &v = mesh.vert[last_seed-1];
|
||||||
if(v.IsD() || v.IsV() || v.IsB()) continue;
|
if(v.IsD() || v.IsV() || v.IsB()) continue;
|
||||||
|
|
Loading…
Reference in New Issue