diff --git a/wrap/io_trimesh/export_ply.h b/wrap/io_trimesh/export_ply.h index 1e641a89..c1f45e01 100644 --- a/wrap/io_trimesh/export_ply.h +++ b/wrap/io_trimesh/export_ply.h @@ -489,7 +489,7 @@ namespace vcg { fprintf(fpout,"%.*g %.*g %.*g " ,DGT,vp->P()[0],DGT,vp->P()[1],DGT,vp->P()[2]); if( HasPerVertexNormal(m) && (pi.mask & Mask::IOM_VERTNORMAL) ) - fprintf(fpout,"%.*g %.*g %.*g " ,DGT,double(vp->N()[0]),DGT,double(vp->N()[1]),DGT,double(vp->N()[2])); + fprintf(fpout,"%.*g %.*g %.*g " ,DGT,ScalarType(vp->N()[0]),DGT,ScalarType(vp->N()[1]),DGT,ScalarType(vp->N()[2])); if( HasPerVertexFlags(m) && (pi.mask & Mask::IOM_VERTFLAGS)) fprintf(fpout,"%d ",vp->Flags()); diff --git a/wrap/io_trimesh/import_ply.h b/wrap/io_trimesh/import_ply.h index 75fd59d8..2c99297e 100644 --- a/wrap/io_trimesh/import_ply.h +++ b/wrap/io_trimesh/import_ply.h @@ -163,11 +163,12 @@ public: static const PropDescriptor &VertDesc(int i) { static const PropDescriptor pv[_VERTDESC_LAST_]={ + /**** { elename, propname, storedtype1, memtype1, memoffset, */ /*00*/ {"vertex", "x", ply::T_FLOAT, PlyType(),offsetof(LoadPly_VertAux,p),0,0,0,0,0 ,0}, /*01*/ {"vertex", "y", ply::T_FLOAT, PlyType(),offsetof(LoadPly_VertAux,p) + sizeof(ScalarType),0,0,0,0,0 ,0}, /*02*/ {"vertex", "z", ply::T_FLOAT, PlyType(),offsetof(LoadPly_VertAux,p) + 2*sizeof(ScalarType),0,0,0,0,0 ,0}, /*03*/ {"vertex", "flags", ply::T_INT, ply::T_INT, offsetof(LoadPly_VertAux,flags),0,0,0,0,0 ,0}, - /*04*/ {"vertex", "quality", ply::T_FLOAT, ply::T_FLOAT, offsetof(LoadPly_VertAux,q),0,0,0,0,0 ,0}, + /*04*/ {"vertex", "quality", ply::T_FLOAT, PlyType(), offsetof(LoadPly_VertAux,q),0,0,0,0,0 ,0}, /*05*/ {"vertex", "red", ply::T_UCHAR, ply::T_UCHAR, offsetof(LoadPly_VertAux,r),0,0,0,0,0 ,0}, /*06*/ {"vertex", "green", ply::T_UCHAR, ply::T_UCHAR, offsetof(LoadPly_VertAux,g),0,0,0,0,0 ,0}, /*07*/ { "vertex", "blue", ply::T_UCHAR, ply::T_UCHAR, offsetof(LoadPly_VertAux,b),0,0,0,0,0 ,0}, @@ -195,7 +196,7 @@ public: /*28*/ {"vertex", "ny", ply::T_DOUBLE, PlyType(),offsetof(LoadPly_VertAux,n) + 1*sizeof(ScalarType),0,0,0,0,0 ,0}, /*29*/ {"vertex", "nz", ply::T_DOUBLE, PlyType(),offsetof(LoadPly_VertAux,n) + 2*sizeof(ScalarType),0,0,0,0,0 ,0}, /*30*/ {"vertex", "radius", ply::T_DOUBLE, PlyType(),offsetof(LoadPly_VertAux,radius),0,0,0,0,0 ,0}, - /*31*/ {"vertex", "quality", ply::T_DOUBLE, ply::T_DOUBLE,offsetof(LoadPly_VertAux,q),0,0,0,0,0 ,0} + /*31*/ {"vertex", "quality", ply::T_DOUBLE, PlyType(),offsetof(LoadPly_VertAux,q),0,0,0,0,0 ,0} }; return pv[i]; } @@ -209,7 +210,7 @@ public: /* on file on memory on file on memory */ /* 0 */ {"face", "vertex_indices", ply::T_INT, ply::T_INT, offsetof(LoadPly_FaceAux,v), 1,0,ply::T_UCHAR, ply::T_UCHAR,offsetof(LoadPly_FaceAux,size) ,0}, /* 1 */ {"face", "flags", ply::T_INT, ply::T_INT, offsetof(LoadPly_FaceAux,flags), 0,0,0,0,0 ,0}, - /* 2 */ {"face", "quality", ply::T_FLOAT, ply::T_FLOAT, offsetof(LoadPly_FaceAux,q), 0,0,0,0,0 ,0}, + /* 2 */ {"face", "quality", ply::T_FLOAT, PlyType(), offsetof(LoadPly_FaceAux,q), 0,0,0,0,0 ,0}, /* 3 */ {"face", "texcoord", ply::T_FLOAT, ply::T_FLOAT, offsetof(LoadPly_FaceAux,texcoord), 1,0,ply::T_UCHAR, ply::T_UCHAR,offsetof(LoadPly_FaceAux,ntexcoord) ,0}, /* 4 */ {"face", "color", ply::T_FLOAT, ply::T_FLOAT, offsetof(LoadPly_FaceAux,colors), 1,0,ply::T_UCHAR, ply::T_UCHAR,offsetof(LoadPly_FaceAux,ncolors) ,0}, /* 5 */ {"face", "texnumber", ply::T_INT, ply::T_INT, offsetof(LoadPly_FaceAux,texcoordind), 0,0,0,0,0 ,0}, @@ -234,7 +235,7 @@ public: /* 23 */ {"face", "vertex_indices", ply::T_SHORT, ply::T_INT, offsetof(LoadPly_FaceAux,v), 1,0,ply::T_UCHAR, ply::T_CHAR,offsetof(LoadPly_FaceAux,size) ,0}, /* 24 */ {"face", "vertex_indices", ply::T_SHORT, ply::T_INT, offsetof(LoadPly_FaceAux,v), 1,0,ply::T_INT, ply::T_CHAR,offsetof(LoadPly_FaceAux,size) ,0}, // DOUBLE - /* 25 */ {"face", "quality", ply::T_DOUBLE, ply::T_DOUBLE, offsetof(LoadPly_FaceAux,q), 0,0,0,0,0 ,0}, + /* 25 */ {"face", "quality", ply::T_DOUBLE, PlyType(), offsetof(LoadPly_FaceAux,q), 0,0,0,0,0 ,0}, /* 26 */ {"face", "nx", ply::T_DOUBLE, PlyType(),offsetof(LoadPly_FaceAux,n) ,0,0,0,0,0 ,0}, /* 27 */ {"face", "ny", ply::T_DOUBLE, PlyType(),offsetof(LoadPly_FaceAux,n) + 1*sizeof(ScalarType),0,0,0,0,0 ,0}, /* 28 */ {"face", "nz", ply::T_DOUBLE, PlyType(),offsetof(LoadPly_FaceAux,n) + 2*sizeof(ScalarType),0,0,0,0,0 ,0}