Lagrange
Loading...
Searching...
No Matches
Serialization

, . More...

Functions

constexpr uint32_t mesh_format_version ()
 Current mesh serialization format version.
 
template<typename Scalar, typename Index>
LA_SERIALIZATION2_API std::vector< uint8_t > serialize_mesh (const SurfaceMesh< Scalar, Index > &mesh, const SerializeOptions &options={})
 Serialize a SurfaceMesh to a byte buffer.
 
template<typename MeshType>
LA_SERIALIZATION2_API MeshType deserialize_mesh (span< const uint8_t > buffer, const DeserializeOptions &options={})
 Deserialize a SurfaceMesh from a byte buffer.
 
template<typename Scalar, typename Index>
LA_SERIALIZATION2_API void save_mesh (const fs::path &filename, const SurfaceMesh< Scalar, Index > &mesh, const SerializeOptions &options={})
 Save a SurfaceMesh to a file.
 
template<typename MeshType>
LA_SERIALIZATION2_API MeshType load_mesh (const fs::path &filename, const DeserializeOptions &options={})
 Load a SurfaceMesh from a file.
 
constexpr uint32_t scene_format_version ()
 Current scene serialization format version.
 
template<typename Scalar, typename Index>
LA_SERIALIZATION2_API std::vector< uint8_t > serialize_scene (const scene::Scene< Scalar, Index > &scene, const SerializeOptions &options={})
 Serialize a Scene to a byte buffer.
 
template<typename SceneType>
LA_SERIALIZATION2_API SceneType deserialize_scene (span< const uint8_t > buffer, const DeserializeOptions &options={})
 Deserialize a Scene from a byte buffer.
 
template<typename Scalar, typename Index>
LA_SERIALIZATION2_API void save_scene (const fs::path &filename, const scene::Scene< Scalar, Index > &scene, const SerializeOptions &options={})
 Save a Scene to a file.
 
template<typename SceneType>
LA_SERIALIZATION2_API SceneType load_scene (const fs::path &filename, const DeserializeOptions &options={})
 Load a Scene from a file.
 
constexpr uint32_t simple_scene_format_version ()
 Current simple scene serialization format version.
 
template<typename Scalar, typename Index, size_t Dimension>
LA_SERIALIZATION2_API std::vector< uint8_t > serialize_simple_scene (const scene::SimpleScene< Scalar, Index, Dimension > &scene, const SerializeOptions &options={})
 Serialize a SimpleScene to a byte buffer.
 
template<typename SceneType>
LA_SERIALIZATION2_API SceneType deserialize_simple_scene (span< const uint8_t > buffer, const DeserializeOptions &options={})
 Deserialize a SimpleScene from a byte buffer.
 
template<typename Scalar, typename Index, size_t Dimension>
LA_SERIALIZATION2_API void save_simple_scene (const fs::path &filename, const scene::SimpleScene< Scalar, Index, Dimension > &scene, const SerializeOptions &options={})
 Save a SimpleScene to a file.
 
template<typename SceneType>
LA_SERIALIZATION2_API SceneType load_simple_scene (const fs::path &filename, const DeserializeOptions &options={})
 Load a SimpleScene from a file.
 

Detailed Description

, .

The suggested file extension for serialized meshes is .lgm, and .lgs for serialized scenes (both SimpleScene and Scene).

Function Documentation

◆ mesh_format_version()

uint32_t mesh_format_version ( )
constexpr

#include <lagrange/serialization/serialize_mesh.h>

Current mesh serialization format version.

Returns
The current mesh serialization format version.

◆ serialize_mesh()

template<typename Scalar, typename Index>
LA_SERIALIZATION2_API std::vector< uint8_t > serialize_mesh ( const SurfaceMesh< Scalar, Index > & mesh,
const SerializeOptions & options = {} )

#include <lagrange/serialization/serialize_mesh.h>

Serialize a SurfaceMesh to a byte buffer.

Parameters
[in]meshThe mesh to serialize.
[in]optionsSerialization options (compression, etc.).
Template Parameters
ScalarMesh scalar type.
IndexMesh index type.
Returns
A byte buffer containing the serialized mesh.

◆ deserialize_mesh()

template<typename MeshType>
LA_SERIALIZATION2_API MeshType deserialize_mesh ( span< const uint8_t > buffer,
const DeserializeOptions & options = {} )

#include <lagrange/serialization/serialize_mesh.h>

Deserialize a SurfaceMesh from a byte buffer.

The function auto-detects whether the buffer is compressed. If the buffer contains a SimpleScene or Scene instead of a SurfaceMesh, it can be automatically converted to a mesh when DeserializeOptions::allow_scene_conversion is enabled. If the buffer was serialized with different Scalar/Index types, type casting can be enabled via DeserializeOptions::allow_type_cast.

Parameters
[in]bufferA byte buffer containing the serialized data.
[in]optionsDeserialization options.
Template Parameters
MeshTypeMesh type (e.g. SurfaceMesh<float, uint32_t>).
Returns
The deserialized mesh.

◆ save_mesh()

template<typename Scalar, typename Index>
LA_SERIALIZATION2_API void save_mesh ( const fs::path & filename,
const SurfaceMesh< Scalar, Index > & mesh,
const SerializeOptions & options = {} )

#include <lagrange/serialization/serialize_mesh.h>

Save a SurfaceMesh to a file.

The suggested file extension is .lgm.

Parameters
[in]filenameOutput file path.
[in]meshThe mesh to save.
[in]optionsSerialization options (compression, etc.).
Template Parameters
ScalarMesh scalar type.
IndexMesh index type.

◆ load_mesh()

template<typename MeshType>
LA_SERIALIZATION2_API MeshType load_mesh ( const fs::path & filename,
const DeserializeOptions & options = {} )

#include <lagrange/serialization/serialize_mesh.h>

Load a SurfaceMesh from a file.

Reads the file into memory and calls deserialize_mesh(). The function auto-detects whether the file contents are compressed.

Parameters
[in]filenameInput file path.
[in]optionsDeserialization options.
Template Parameters
MeshTypeMesh type (e.g. SurfaceMesh<float, uint32_t>).
Returns
The loaded mesh.
See also
deserialize_mesh() for details on scene conversion and type casting options.

◆ scene_format_version()

uint32_t scene_format_version ( )
constexpr

#include <lagrange/serialization/serialize_scene.h>

Current scene serialization format version.

Returns
The current scene serialization format version.

◆ serialize_scene()

template<typename Scalar, typename Index>
LA_SERIALIZATION2_API std::vector< uint8_t > serialize_scene ( const scene::Scene< Scalar, Index > & scene,
const SerializeOptions & options = {} )

#include <lagrange/serialization/serialize_scene.h>

Serialize a Scene to a byte buffer.

Parameters
[in]sceneThe scene to serialize.
[in]optionsSerialization options (compression, etc.).
Template Parameters
ScalarMesh scalar type.
IndexMesh index type.
Returns
A byte buffer containing the serialized scene.

◆ deserialize_scene()

template<typename SceneType>
LA_SERIALIZATION2_API SceneType deserialize_scene ( span< const uint8_t > buffer,
const DeserializeOptions & options = {} )

#include <lagrange/serialization/serialize_scene.h>

Deserialize a Scene from a byte buffer.

The function auto-detects whether the buffer is compressed. If the buffer contains a SurfaceMesh or SimpleScene instead of a Scene, it can be automatically converted when DeserializeOptions::allow_scene_conversion is enabled. If the buffer was serialized with different Scalar/Index types, type casting can be enabled via DeserializeOptions::allow_type_cast.

Parameters
[in]bufferA byte buffer containing the serialized data.
[in]optionsDeserialization options.
Template Parameters
SceneTypeScene type (e.g. scene::Scene<float, uint32_t>).
Returns
The deserialized scene.

◆ save_scene()

template<typename Scalar, typename Index>
LA_SERIALIZATION2_API void save_scene ( const fs::path & filename,
const scene::Scene< Scalar, Index > & scene,
const SerializeOptions & options = {} )

#include <lagrange/serialization/serialize_scene.h>

Save a Scene to a file.

The suggested file extension is .lgs.

Parameters
[in]filenameOutput file path.
[in]sceneThe scene to save.
[in]optionsSerialization options (compression, etc.).
Template Parameters
ScalarMesh scalar type.
IndexMesh index type.

◆ load_scene()

template<typename SceneType>
LA_SERIALIZATION2_API SceneType load_scene ( const fs::path & filename,
const DeserializeOptions & options = {} )

#include <lagrange/serialization/serialize_scene.h>

Load a Scene from a file.

Reads the file into memory and calls deserialize_scene(). The function auto-detects whether the file contents are compressed.

Parameters
[in]filenameInput file path.
[in]optionsDeserialization options.
Template Parameters
SceneTypeScene type (e.g. scene::Scene<float, uint32_t>).
Returns
The loaded scene.
See also
deserialize_scene() for details on scene conversion and type casting options.

◆ simple_scene_format_version()

uint32_t simple_scene_format_version ( )
constexpr

#include <lagrange/serialization/serialize_simple_scene.h>

Current simple scene serialization format version.

Returns
The current simple scene serialization format version.

◆ serialize_simple_scene()

template<typename Scalar, typename Index, size_t Dimension>
LA_SERIALIZATION2_API std::vector< uint8_t > serialize_simple_scene ( const scene::SimpleScene< Scalar, Index, Dimension > & scene,
const SerializeOptions & options = {} )

#include <lagrange/serialization/serialize_simple_scene.h>

Serialize a SimpleScene to a byte buffer.

Parameters
[in]sceneThe scene to serialize.
[in]optionsSerialization options (compression, etc.).
Template Parameters
ScalarMesh scalar type.
IndexMesh index type.
DimensionScene dimension (2 or 3).
Returns
A byte buffer containing the serialized scene.

◆ deserialize_simple_scene()

template<typename SceneType>
LA_SERIALIZATION2_API SceneType deserialize_simple_scene ( span< const uint8_t > buffer,
const DeserializeOptions & options = {} )

#include <lagrange/serialization/serialize_simple_scene.h>

Deserialize a SimpleScene from a byte buffer.

The function auto-detects whether the buffer is compressed. If the buffer contains a SurfaceMesh or Scene instead of a SimpleScene, it can be automatically converted when DeserializeOptions::allow_scene_conversion is enabled. If the buffer was serialized with different Scalar/Index types, type casting can be enabled via DeserializeOptions::allow_type_cast.

Parameters
[in]bufferA byte buffer containing the serialized data.
[in]optionsDeserialization options.
Template Parameters
SceneTypeSimpleScene type (e.g. scene::SimpleScene<float, uint32_t, 3>).
Returns
The deserialized scene.

◆ save_simple_scene()

template<typename Scalar, typename Index, size_t Dimension>
LA_SERIALIZATION2_API void save_simple_scene ( const fs::path & filename,
const scene::SimpleScene< Scalar, Index, Dimension > & scene,
const SerializeOptions & options = {} )

#include <lagrange/serialization/serialize_simple_scene.h>

Save a SimpleScene to a file.

The suggested file extension is .lgs.

Parameters
[in]filenameOutput file path.
[in]sceneThe scene to save.
[in]optionsSerialization options (compression, etc.).
Template Parameters
ScalarMesh scalar type.
IndexMesh index type.
DimensionScene dimension (2 or 3).

◆ load_simple_scene()

template<typename SceneType>
LA_SERIALIZATION2_API SceneType load_simple_scene ( const fs::path & filename,
const DeserializeOptions & options = {} )

#include <lagrange/serialization/serialize_simple_scene.h>

Load a SimpleScene from a file.

Reads the file into memory and calls deserialize_simple_scene(). The function auto-detects whether the file contents are compressed.

Parameters
[in]filenameInput file path.
[in]optionsDeserialization options.
Template Parameters
SceneTypeSimpleScene type (e.g. scene::SimpleScene<float, uint32_t, 3>).
Returns
The loaded scene.
See also
deserialize_simple_scene() for details on scene conversion and type casting options.