home *** CD-ROM | disk | FTP | other *** search
/ Hackers Magazine 57 / CdHackersMagazineNr57.iso / Software / Multimedia / k3d-setup-0.7.11.0.exe / include / k3d / k3dsdk / serialization_xml.h < prev    next >
C/C++ Source or Header  |  2008-06-12  |  2KB  |  51 lines

  1. #ifndef K3DSDK_SERIALIZATION_XML_H
  2. #define K3DSDK_SERIALIZATION_XML_H
  3.  
  4. #include "ipersistent.h"
  5.  
  6. namespace k3d
  7. {
  8.  
  9. class idocument;
  10. class inode;
  11. class mesh_selection;
  12. class mesh;
  13. namespace legacy { class mesh; }
  14.  
  15. namespace xml
  16. {
  17.  
  18. class element;
  19.  
  20. /// Modifies an XML document as-needed so that both legacy and recent documents can be loaded with the same code
  21. void upgrade_document(element& XML);
  22.  
  23. /// Serializes a document pipeline to XML
  24. void save_pipeline(idocument& Document, element& XML, const ipersistent::save_context& Context);
  25. /// Loads a document pipeline from XML
  26. void load_pipeline(idocument& Document, element& XML, const ipersistent::load_context& Context);
  27.  
  28. /// Serializes a mesh to XML 
  29. void save(const mesh& Mesh, element& Container, const ipersistent::save_context& Context);
  30. /// Loads a mesh from XML 
  31. void load(mesh& Mesh, element& Container, const ipersistent::load_context& Context);
  32. /// Loads a legacy mesh from XML. Needed to parse documents with old FrozenMesh nodes.
  33. void load(legacy::mesh& Mesh, element& XML, const ipersistent::load_context& Context);
  34.  
  35. /// Serializes a document node to XML
  36. void save(inode& Node, element& XML, const ipersistent::save_context& Context);
  37. /// Loads a document node from XML
  38. void load(inode& Node, element& XML, const ipersistent::load_context& Context);
  39.  
  40. /// Serializes a mesh_selection to XML
  41. void save(const mesh_selection& Selection, element& XML, const ipersistent::save_context& Context);
  42. /// Loads a mesh_selection from XML
  43. void load(mesh_selection& Selection, element& XML, const ipersistent::load_context& Context);
  44.  
  45. } // namespace xml
  46.  
  47. } // namespace k3d
  48.  
  49. #endif // !K3DSDK_SERIALIZATION_XML_H
  50.  
  51.