1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- <!DOCTYPE HTML>
- <html>
- <head>
- <link rel='stylesheet' type='text/css' href='../style.css' >
- <title>libigl file formats | .xml</title>
- </head>
- <body class=article_outer>
- <div class=article_inner>
- <a href=..><img src=../libigl-logo.jpg alt="igl logo" class=center></a>
- <h1>.xml - serialization format</h1>
- <hr>
- <p>
- A .xml file contains the serialization of an object data structure generated with the XMLSerializer:
- </p>
- <p>
- The top level elements represent the groups in which the object are organised. The object names are unique within these groups.
- </p>
- <pre><code><group1>
- <object1 val="value of object 1"/>
- <object2 val="value of object 2"/>
- </group1>
- <group2>
- <object1 val="value of object 1"/>
- </group2></code></pre>
- <p>
- An object can be of following type:<br/>
- <br/>
- Basic types: <b>char, char*, std::string, bool, usigned int, int, float, double</b><br/>
- STL containers: <b>std::array, std::vector, std::pair</b><br/>
- Eigen types: <b>Eigen::Matrix, Eigen::SparseMatrix</b><br/>
- User defined types: <b>XMLSerializable*.</b><br/>
- <br/>
- There can also be a hierachical structure like vector<int>, this will result in the following serialization:
- </p>
- <pre><code><group>
- <vector size="3">
- <value0 val="1"/>
- <value1 val="2"/>
- <value2 val="3"/>
- </vector>
- </group></code></pre>
- <p>An example of a serialization of an instance of the class Test</p>
-
- <pre><code>class Test{
- int var1;
- vector<float> vec1;
- };</code></pre>
- <p> is shown here:</p>
- <pre><code><group>
- <Test>
- <var1 val="0">
- <vec1 size="2">
- <value0 val="1"/>
- <value1 val="2"/>
- </vector>
- </Test>
- </group></code></pre>
- <p>In the following we show the serialization of Eigen matrices.</p>
- <p>Eigen::Matrix<int,4,3>:</p>
- <pre><code><group>
- <matrix row="4" col="3" matrix="
- 1,2,3,
- 4,5,6,
- 7,8,9,
- 10,11,12/>
- </group></code></pre>
- <p>Eigen::SparseMatrix<int> (3x3 identity saved as triplets of the non-zero entries):</p>
- <pre><code><group>
- <matrix row="3" col="3" matrix="
- 0,0,1,
- 1,1,1,
- 2,2,1/>
- </group></code></pre>
- <p>See also: <a href=.>file formats</a></p>
- </div>
- </body>
- </html>
|