minor changes (component check in the sampler class)
This commit is contained in:
parent
e04875d33d
commit
80467d1f41
|
@ -141,7 +141,8 @@ public:
|
||||||
tri::Allocator<MeshType>::AddVertices(m,1);
|
tri::Allocator<MeshType>::AddVertices(m,1);
|
||||||
m.vert.back().P() = f.cP(0)*p[0] + f.cP(1)*p[1] +f.cP(2)*p[2];
|
m.vert.back().P() = f.cP(0)*p[0] + f.cP(1)*p[1] +f.cP(2)*p[2];
|
||||||
m.vert.back().N() = f.cV(0)->N()*p[0] + f.cV(1)->N()*p[1] + f.cV(2)->N()*p[2];
|
m.vert.back().N() = f.cV(0)->N()*p[0] + f.cV(1)->N()*p[1] + f.cV(2)->N()*p[2];
|
||||||
m.vert.back().Q() = f.cV(0)->Q()*p[0] + f.cV(1)->Q()*p[1] + f.cV(2)->Q()*p[2];
|
if(tri::HasPerVertexQuality(m) )
|
||||||
|
m.vert.back().Q() = f.cV(0)->Q()*p[0] + f.cV(1)->Q()*p[1] + f.cV(2)->Q()*p[2];
|
||||||
}
|
}
|
||||||
}; // end class BaseSampler
|
}; // end class BaseSampler
|
||||||
|
|
||||||
|
@ -1310,17 +1311,20 @@ static void InitSpatialHashTable(MetroMesh &montecarloMesh, MontecarloSHT &monte
|
||||||
int sizeY = std::max(1.0f,bb.DimY() / cellsize);
|
int sizeY = std::max(1.0f,bb.DimY() / cellsize);
|
||||||
int sizeZ = std::max(1.0f,bb.DimZ() / cellsize);
|
int sizeZ = std::max(1.0f,bb.DimZ() / cellsize);
|
||||||
Point3i gridsize(sizeX, sizeY, sizeZ);
|
Point3i gridsize(sizeX, sizeY, sizeZ);
|
||||||
if(pp.pds) pp.pds->gridSize = gridsize;
|
|
||||||
|
|
||||||
montecarloSHT.InitEmpty(bb, gridsize);
|
montecarloSHT.InitEmpty(bb, gridsize);
|
||||||
|
|
||||||
for (VertexIterator vi = montecarloMesh.vert.begin(); vi != montecarloMesh.vert.end(); vi++)
|
for (VertexIterator vi = montecarloMesh.vert.begin(); vi != montecarloMesh.vert.end(); vi++)
|
||||||
montecarloSHT.Add(&(*vi));
|
montecarloSHT.Add(&(*vi));
|
||||||
montecarloSHT.UpdateAllocatedCells();
|
montecarloSHT.UpdateAllocatedCells();
|
||||||
pp.pds->gridCellNum = (int)montecarloSHT.AllocatedCells.size();
|
if(pp.pds)
|
||||||
|
{
|
||||||
|
pp.pds->gridSize = gridsize;
|
||||||
|
pp.pds->gridCellNum = (int)montecarloSHT.AllocatedCells.size();
|
||||||
|
}
|
||||||
cellsize/=2.0f;
|
cellsize/=2.0f;
|
||||||
occupancyRatio = float(montecarloMesh.vn) / float(montecarloSHT.AllocatedCells.size());
|
occupancyRatio = float(montecarloMesh.vn) / float(montecarloSHT.AllocatedCells.size());
|
||||||
qDebug(" %i / %i = %6.3f", montecarloMesh.vn , montecarloSHT.AllocatedCells.size(),occupancyRatio);
|
// qDebug(" %i / %i = %6.3f", montecarloMesh.vn , montecarloSHT.AllocatedCells.size(),occupancyRatio);
|
||||||
}
|
}
|
||||||
while( occupancyRatio> 100);
|
while( occupancyRatio> 100);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue