import ply supports uint type for edge properties vertex1 and vertex2

This commit is contained in:
alemuntoni 2020-11-19 17:40:32 +01:00
parent c7fd93063e
commit 59548afa48
1 changed files with 7 additions and 4 deletions

View File

@ -254,10 +254,12 @@ public:
static const PropDescriptor &EdgeDesc(int i) static const PropDescriptor &EdgeDesc(int i)
{ {
static const PropDescriptor qf[2]= static const PropDescriptor qf[4]=
{ {
{"edge","vertex1", ply::T_INT, ply::T_INT, offsetof(LoadPly_EdgeAux,v1), 0,0,0,0,0 ,0}, {"edge","vertex1", ply::T_INT, ply::T_INT, offsetof(LoadPly_EdgeAux,v1), 0,0,0,0,0 ,0},
{"edge","vertex2", ply::T_INT, ply::T_INT, offsetof(LoadPly_EdgeAux,v2), 0,0,0,0,0 ,0}, {"edge","vertex2", ply::T_INT, ply::T_INT, offsetof(LoadPly_EdgeAux,v2), 0,0,0,0,0 ,0},
{"edge","vertex1", ply::T_UINT, ply::T_INT, offsetof(LoadPly_EdgeAux,v1), 0,0,0,0,0 ,0},
{"edge","vertex2", ply::T_UINT, ply::T_INT, offsetof(LoadPly_EdgeAux,v2), 0,0,0,0,0 ,0},
}; };
return qf[i]; return qf[i];
} }
@ -452,7 +454,8 @@ public:
} }
// Optional flag descriptors // Optional flag descriptors
if(pf.AddToRead(EdgeDesc(0) )!= -1 && pf.AddToRead(EdgeDesc(1)) != -1 ) if((pf.AddToRead(EdgeDesc(0) )!= -1 || pf.AddToRead(EdgeDesc(2) )!= -1) &&
(pf.AddToRead(EdgeDesc(1)) != -1 || pf.AddToRead(EdgeDesc(3)) != -1))
pi.mask |= Mask::IOM_EDGEINDEX; pi.mask |= Mask::IOM_EDGEINDEX;
if(vcg::tri::HasPerVertexFlags(m) && pf.AddToRead(VertDesc(3))!=-1 ) if(vcg::tri::HasPerVertexFlags(m) && pf.AddToRead(VertDesc(3))!=-1 )