diff --git a/wrap/io_trimesh/export_ply.h b/wrap/io_trimesh/export_ply.h index b5be20ca..0138dba1 100644 --- a/wrap/io_trimesh/export_ply.h +++ b/wrap/io_trimesh/export_ply.h @@ -416,7 +416,7 @@ public: { case ply::T_FLOAT : thff[i] = vcg::tri::Allocator::template FindPerFaceAttribute(m,pi.FaceAttrNameVec[i]); break; case ply::T_DOUBLE : thdf[i] = vcg::tri::Allocator::template FindPerFaceAttribute(m,pi.FaceAttrNameVec[i]); break; - case ply::T_INT : thif[i] = vcg::tri::Allocator::template FindPerFaceAttribute(m,pi.FaceAttrNameVec[i]); break; + case ply::T_INT : thif[i] = vcg::tri::Allocator::template FindPerFaceAttribute(m,pi.FaceAttrNameVec[i]); break; case ply::T_SHORT : thsf[i] = vcg::tri::Allocator::template FindPerFaceAttribute(m,pi.FaceAttrNameVec[i]); break; case ply::T_CHAR : thcf[i] = vcg::tri::Allocator::template FindPerFaceAttribute(m,pi.FaceAttrNameVec[i]); break; case ply::T_UCHAR : thuf[i] = vcg::tri::Allocator::template FindPerFaceAttribute(m,pi.FaceAttrNameVec[i]); break; @@ -482,7 +482,7 @@ public: { case ply::T_FLOAT : tf=thfv[i][vp]; fwrite(&tf, sizeof(float),1,fpout); break; case ply::T_DOUBLE : td=thdv[i][vp]; fwrite(&td, sizeof(double),1,fpout); break; - case ply::T_INT : ti=thiv[i][vp]; fwrite(&ti, sizeof(int),1,fpout); break; + case ply::T_INT : ti=thiv[i][vp]; fwrite(&ti, sizeof(int),1,fpout); break; case ply::T_SHORT : ts=thsv[i][vp]; fwrite(&ts, sizeof(short),1,fpout); break; case ply::T_CHAR : tc=thcv[i][vp]; fwrite(&tc, sizeof(char),1,fpout); break; case ply::T_UCHAR : tu=thuv[i][vp]; fwrite(&tu,sizeof(unsigned char),1,fpout); break; @@ -490,18 +490,18 @@ public: } } else { //it is a Poin3f or a Point3d attribute. Saving it as a list - static const unsigned int psize = 3; + static const unsigned char psize = 3; switch (pi.VertDescriptorVec[i].stotype1) { case ply::T_FLOAT : - fwrite(&psize, sizeof(unsigned int), 1,fpout); + fwrite(&psize, sizeof(unsigned char), 1,fpout); fwrite(&thp3fv[i][vp][0], sizeof(float), 1,fpout); fwrite(&thp3fv[i][vp][1], sizeof(float), 1,fpout); fwrite(&thp3fv[i][vp][2], sizeof(float), 1,fpout); break; //fprintf(fpout,"%d %f %f %f", 3, thp3fv[i][vp][0], thp3fv[i][vp][1], thp3fv[i][vp][2]); break; case ply::T_DOUBLE : - fwrite(&psize, sizeof(unsigned int), 1,fpout); + fwrite(&psize, sizeof(unsigned char), 1,fpout); fwrite(&thp3dv[i][vp][0], sizeof(double), 1,fpout); fwrite(&thp3dv[i][vp][1], sizeof(double), 1,fpout); fwrite(&thp3dv[i][vp][2], sizeof(double), 1,fpout); diff --git a/wrap/io_trimesh/io_ply.h b/wrap/io_trimesh/io_ply.h index 47b8754c..92ba9f2d 100644 --- a/wrap/io_trimesh/io_ply.h +++ b/wrap/io_trimesh/io_ply.h @@ -130,8 +130,8 @@ public: p.stotype1 = propertyType; p.memtype1 = propertyType; p.islist = true; - p.stotype2 = vcg::ply::PlyTypes::T_UINT; - p.stotype2 = vcg::ply::PlyTypes::T_UINT; + p.memtype2 = vcg::ply::PlyTypes::T_UCHAR; + p.stotype2 = vcg::ply::PlyTypes::T_UCHAR; if (elemType == 0){ //vertex VertAttrNameVec.push_back(attrName); diff --git a/wrap/ply/plylib.h b/wrap/ply/plylib.h index 36fa757e..0162ae00 100644 --- a/wrap/ply/plylib.h +++ b/wrap/ply/plylib.h @@ -176,7 +176,7 @@ public: int bestored; // 1 se va storata PropDescriptor desc; // Descrittore di memorizzazione - readelemcb cb; // Callback di lettura + readelemcb cb = nullptr; // Callback di lettura };