12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- #include <igl/readOFF.h>
- #include <igl/serialize.h>
- #include <igl/xml/serialize_xml.h>
- #include <iostream>
- Eigen::MatrixXd V;
- Eigen::MatrixXi F;
- struct State : public igl::Serializable
- {
- Eigen::MatrixXd V;
- Eigen::MatrixXi F;
- std::vector<int> ids;
-
-
- void InitSerialization()
- {
- this->Add(V , "V");
- this->Add(F , "F");
- this->Add(ids, "ids");
- }
- };
- int main(int argc, char *argv[])
- {
- std::string binaryFile = "binData";
- std::string xmlFile = "data.xml";
- bool b = true;
- unsigned int num = 10;
- std::vector<float> vec = {0.1f,0.002f,5.3f};
-
- igl::serialize(b,"B",binaryFile,true);
-
- igl::serialize(num,"Number",binaryFile);
- igl::serialize(vec,"VectorName",binaryFile);
-
- igl::deserialize(b,"B",binaryFile);
- igl::deserialize(num,"Number",binaryFile);
- igl::deserialize(vec,"VectorName",binaryFile);
- State stateIn, stateOut;
-
- igl::readOFF("../shared/2triangles.off",stateIn.V,stateIn.F);
-
- stateIn.ids.push_back(6);
- stateIn.ids.push_back(7);
-
- igl::serialize(stateIn,"State",binaryFile,true);
-
- igl::deserialize(stateOut,"State",binaryFile);
-
- std::cout << "Vertices: " << std::endl << stateOut.V << std::endl;
- std::cout << "Faces: " << std::endl << stateOut.F << std::endl;
- std::cout << "ids: " << std::endl
- << stateOut.ids[0] << " " << stateOut.ids[1] << std::endl;
-
-
-
-
- igl::xml::serialize_xml(vec,"VectorXML",xmlFile,false,true);
-
- igl::xml::serialize_xml(vec,"VectorBin",xmlFile,true,false);
- igl::xml::deserialize_xml(vec,"VectorXML",xmlFile);
- igl::xml::deserialize_xml(vec,"VectorBin",xmlFile);
- }
|