mirror of https://github.com/CGAL/cgal
Merge pull request #4050 from sgiraudot/Surface_mesh-Fix_PLY_warning-GF
[Surface Mesh / PLY] Fix uninitialized warning and error on unhandled properties
This commit is contained in:
commit
fbf6fb375d
|
|
@ -375,6 +375,7 @@ public:
|
||||||
t = property->buffer();
|
t = property->buffer();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
t = {};
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename Type>
|
template <typename Type>
|
||||||
|
|
@ -389,6 +390,7 @@ public:
|
||||||
t = property->buffer();
|
t = property->buffer();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
t = {};
|
||||||
}
|
}
|
||||||
|
|
||||||
void assign (double& t, const char* tag)
|
void assign (double& t, const char* tag)
|
||||||
|
|
@ -410,6 +412,7 @@ public:
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
t = {};
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -2212,22 +2212,35 @@ private: //------------------------------------------------------- private data
|
||||||
std::vector<internal::PLY::Abstract_property_printer<FIndex>*> fprinters;
|
std::vector<internal::PLY::Abstract_property_printer<FIndex>*> fprinters;
|
||||||
internal::PLY::fill_header (os, sm, fprinters);
|
internal::PLY::fill_header (os, sm, fprinters);
|
||||||
|
|
||||||
|
|
||||||
std::vector<internal::PLY::Abstract_property_printer<EIndex>*> eprinters;
|
std::vector<internal::PLY::Abstract_property_printer<EIndex>*> eprinters;
|
||||||
if (sm.template properties<EIndex>().size() > 1)
|
if (sm.template properties<EIndex>().size() > 1)
|
||||||
|
{
|
||||||
|
std::ostringstream oss;
|
||||||
|
internal::PLY::fill_header (oss, sm, eprinters);
|
||||||
|
|
||||||
|
if (!eprinters.empty())
|
||||||
{
|
{
|
||||||
os << "element edge " << sm.number_of_edges() << std::endl;
|
os << "element edge " << sm.number_of_edges() << std::endl;
|
||||||
os << "property int v0" << std::endl;
|
os << "property int v0" << std::endl;
|
||||||
os << "property int v1" << std::endl;
|
os << "property int v1" << std::endl;
|
||||||
internal::PLY::fill_header (os, sm, eprinters);
|
os << oss.str();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<internal::PLY::Abstract_property_printer<HIndex>*> hprinters;
|
std::vector<internal::PLY::Abstract_property_printer<HIndex>*> hprinters;
|
||||||
if (sm.template properties<HIndex>().size() > 1)
|
if (sm.template properties<HIndex>().size() > 1)
|
||||||
|
{
|
||||||
|
std::ostringstream oss;
|
||||||
|
internal::PLY::fill_header (oss, sm, hprinters);
|
||||||
|
|
||||||
|
if (!hprinters.empty())
|
||||||
{
|
{
|
||||||
os << "element halfedge " << sm.number_of_halfedges() << std::endl;
|
os << "element halfedge " << sm.number_of_halfedges() << std::endl;
|
||||||
os << "property int source" << std::endl;
|
os << "property int source" << std::endl;
|
||||||
os << "property int target" << std::endl;
|
os << "property int target" << std::endl;
|
||||||
internal::PLY::fill_header (os, sm, hprinters);
|
os << oss.str();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
os << "end_header" << std::endl;
|
os << "end_header" << std::endl;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue