|
@@ -205,6 +205,64 @@ public:
|
|
|
|
|
|
}
|
|
|
|
|
|
+#ifdef ENABLE_SERIALIZATION
|
|
|
+#include <igl/serialize.h>
|
|
|
+namespace igl
|
|
|
+{
|
|
|
+ namespace serialization
|
|
|
+ {
|
|
|
+ inline void serialization(bool s, igl::ViewerData& obj, std::vector<char>& buffer)
|
|
|
+ {
|
|
|
+ SERIALIZE_MEMBER(V);
|
|
|
+ SERIALIZE_MEMBER(F);
|
|
|
+ SERIALIZE_MEMBER(F_normals);
|
|
|
+ SERIALIZE_MEMBER(F_material_ambient);
|
|
|
+ SERIALIZE_MEMBER(F_material_diffuse);
|
|
|
+ SERIALIZE_MEMBER(F_material_specular);
|
|
|
+ SERIALIZE_MEMBER(V_normals);
|
|
|
+ SERIALIZE_MEMBER(V_material_ambient);
|
|
|
+ SERIALIZE_MEMBER(V_material_diffuse);
|
|
|
+ SERIALIZE_MEMBER(V_material_specular);
|
|
|
+ SERIALIZE_MEMBER(V_uv);
|
|
|
+ SERIALIZE_MEMBER(F_uv);
|
|
|
+ SERIALIZE_MEMBER(texture_R);
|
|
|
+ SERIALIZE_MEMBER(texture_G);
|
|
|
+ SERIALIZE_MEMBER(texture_B);
|
|
|
+ SERIALIZE_MEMBER(texture_A);
|
|
|
+ SERIALIZE_MEMBER(lines);
|
|
|
+ SERIALIZE_MEMBER(points);
|
|
|
+ SERIALIZE_MEMBER(labels_positions);
|
|
|
+ SERIALIZE_MEMBER(labels_strings);
|
|
|
+ SERIALIZE_MEMBER(dirty);
|
|
|
+ SERIALIZE_MEMBER(face_based);
|
|
|
+ SERIALIZE_MEMBER(show_faces);
|
|
|
+ SERIALIZE_MEMBER(show_lines);
|
|
|
+ SERIALIZE_MEMBER(invert_normals);
|
|
|
+ SERIALIZE_MEMBER(show_overlay);
|
|
|
+ SERIALIZE_MEMBER(show_overlay_depth);
|
|
|
+ SERIALIZE_MEMBER(show_vertid);
|
|
|
+ SERIALIZE_MEMBER(show_faceid);
|
|
|
+ SERIALIZE_MEMBER(show_texture);
|
|
|
+ SERIALIZE_MEMBER(point_size);
|
|
|
+ SERIALIZE_MEMBER(line_width);
|
|
|
+ SERIALIZE_MEMBER(line_color);
|
|
|
+ SERIALIZE_MEMBER(shininess);
|
|
|
+ }
|
|
|
+ template<>
|
|
|
+ inline void serialize(const igl::ViewerData& obj, std::vector<char>& buffer)
|
|
|
+ {
|
|
|
+ serialization(true, const_cast<igl::ViewerData&>(obj), buffer);
|
|
|
+ }
|
|
|
+ template<>
|
|
|
+ inline void deserialize(igl::ViewerData& obj, const std::vector<char>& buffer)
|
|
|
+ {
|
|
|
+ serialization(false, obj, const_cast<std::vector<char>&>(buffer));
|
|
|
+ obj.dirty = igl::ViewerData::DIRTY_ALL;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+#endif
|
|
|
+
|
|
|
#ifndef IGL_STATIC_LIBRARY
|
|
|
# include "ViewerData.cpp"
|
|
|
#endif
|