added support for face normals export and import and face (double precision) quality export and import for ply format
This commit is contained in:
parent
d46c581ffb
commit
ca65cf2162
|
@ -263,6 +263,14 @@ namespace vcg {
|
|||
);
|
||||
}
|
||||
|
||||
if (HasPerFaceNormal(m) && (pi.mask & Mask::IOM_FACENORMAL))
|
||||
{
|
||||
const char* fntp = vcg::tri::io::Precision<typename SaveMeshType::ScalarType>::typeName();
|
||||
fprintf(fpout, "property %s nx\n", fntp);
|
||||
fprintf(fpout, "property %s ny\n", fntp);
|
||||
fprintf(fpout, "property %s nz\n", fntp);
|
||||
}
|
||||
|
||||
if( HasPerFaceQuality(m) && (pi.mask & Mask::IOM_FACEQUALITY) )
|
||||
{
|
||||
const char* fqtp = vcg::tri::io::Precision<typename SaveMeshType::FaceType::QualityType>::typeName();
|
||||
|
@ -612,6 +620,14 @@ namespace vcg {
|
|||
}
|
||||
}
|
||||
|
||||
if( HasPerFaceNormal(m) && (pi.mask & Mask::IOM_FACENORMAL) )
|
||||
{
|
||||
ScalarType t;
|
||||
t = ScalarType(fp->N()[0]); fwrite(&t,sizeof(ScalarType),1,fpout);
|
||||
t = ScalarType(fp->N()[1]); fwrite(&t,sizeof(ScalarType),1,fpout);
|
||||
t = ScalarType(fp->N()[2]); fwrite(&t,sizeof(ScalarType),1,fpout);
|
||||
}
|
||||
|
||||
if( HasPerFaceQuality(m) && (pi.mask & Mask::IOM_FACEQUALITY) )
|
||||
fwrite( &(fp->Q()),sizeof(typename FaceType::ScalarType),1,fpout);
|
||||
|
||||
|
@ -695,6 +711,9 @@ namespace vcg {
|
|||
);
|
||||
}
|
||||
|
||||
if (HasPerFaceNormal(m) && (pi.mask & Mask::IOM_FACENORMAL))
|
||||
fprintf(fpout,"%.*g %.*g %.*g " ,DGT, ScalarType(fp->N()[0]),DGT,ScalarType(fp->N()[1]),DGT,ScalarType(fp->N()[2]));
|
||||
|
||||
if( HasPerFaceQuality(m) && (pi.mask & Mask::IOM_FACEQUALITY) )
|
||||
fprintf(fpout,"%.*g ",DGTFQ,fp->Q());
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue