Improved float/double consistency removing some wrong Point3f and substitued with MeshType::CoordType
This commit is contained in:
parent
15d9307584
commit
2c0fa9a323
|
@ -419,7 +419,7 @@ static void ConvertVoronoiDiagramToMesh(MeshType &m,
|
||||||
for(size_t i=0;i<seedVec.size();++i)
|
for(size_t i=0;i<seedVec.size();++i)
|
||||||
{
|
{
|
||||||
VertexPointer curSeed=seedVec[i];
|
VertexPointer curSeed=seedVec[i];
|
||||||
vector<Point3f> pt;
|
vector<CoordType> pt;
|
||||||
for(size_t j=0;j<innerCornerVec.size();++j)
|
for(size_t j=0;j<innerCornerVec.size();++j)
|
||||||
for(int qq=0;qq<3;qq++)
|
for(int qq=0;qq<3;qq++)
|
||||||
if(sources[innerCornerVec[j]->V(qq)] == curSeed)
|
if(sources[innerCornerVec[j]->V(qq)] == curSeed)
|
||||||
|
@ -431,23 +431,23 @@ static void ConvertVoronoiDiagramToMesh(MeshType &m,
|
||||||
for(int qq=0;qq<3;qq++)
|
for(int qq=0;qq<3;qq++)
|
||||||
if(sources[borderCornerVec[j]->V(qq)] == curSeed)
|
if(sources[borderCornerVec[j]->V(qq)] == curSeed)
|
||||||
{
|
{
|
||||||
Point3f edgeCenter;
|
CoordType edgeCenter;
|
||||||
for(int jj=0;jj<3;++jj) if(face::IsBorder(*(borderCornerVec[j]),jj))
|
for(int jj=0;jj<3;++jj) if(face::IsBorder(*(borderCornerVec[j]),jj))
|
||||||
edgeCenter=(borderCornerVec[j]->P0(jj)+borderCornerVec[j]->P1(jj))/2.0f;
|
edgeCenter=(borderCornerVec[j]->P0(jj)+borderCornerVec[j]->P1(jj))/2.0f;
|
||||||
pt.push_back(edgeCenter);
|
pt.push_back(edgeCenter);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
Plane3f pl;
|
Plane3<ScalarType> pl;
|
||||||
pt.push_back(curSeed->P());
|
pt.push_back(curSeed->P());
|
||||||
FitPlaneToPointSet(pt,pl);
|
FitPlaneToPointSet(pt,pl);
|
||||||
pt.pop_back();
|
pt.pop_back();
|
||||||
Point3f nZ = pl.Direction();
|
CoordType nZ = pl.Direction();
|
||||||
Point3f nX = (pt[0]-curSeed->P()).Normalize();
|
CoordType nX = (pt[0]-curSeed->P()).Normalize();
|
||||||
Point3f nY = (nX^nZ).Normalize();
|
CoordType nY = (nX^nZ).Normalize();
|
||||||
vector<std::pair<float,int> > angleVec(pt.size());
|
vector<std::pair<float,int> > angleVec(pt.size());
|
||||||
for(size_t j=0;j<pt.size();++j)
|
for(size_t j=0;j<pt.size();++j)
|
||||||
{
|
{
|
||||||
Point3f p = (pt[j]-curSeed->P()).Normalize();
|
CoordType p = (pt[j]-curSeed->P()).Normalize();
|
||||||
float angle = 180.0f+math::ToDeg(atan2(p*nY,p*nX));
|
float angle = 180.0f+math::ToDeg(atan2(p*nY,p*nX));
|
||||||
angleVec[j] = make_pair(angle,j);
|
angleVec[j] = make_pair(angle,j);
|
||||||
}
|
}
|
||||||
|
@ -1564,7 +1564,7 @@ static void ConvertDelaunayTriangulationToMesh(MeshType &m,
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class MidPointType >
|
template <class MidPointType >
|
||||||
static void PreprocessForVoronoi(MeshType &m, float radius,
|
static void PreprocessForVoronoi(MeshType &m, ScalarType radius,
|
||||||
MidPointType mid,
|
MidPointType mid,
|
||||||
VoronoiProcessingParameter &vpp)
|
VoronoiProcessingParameter &vpp)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue