Description
Serialization functions for objects (meshes, textures etc.)
Conversion between objects and streams. There are static functions for
-
loading a single mesh from a stream,
-
saving a single mesh to a stream,
-
loading a single texture from a stream,
-
saving a single texture to a stream,
-
loading a generic description from a stream and
-
saving a generic description to a stream.
Author: Benjamin Eikel
Date: 2011-02-03
Classes
Typedefs
typedef Util::ReferenceAttribute < Mesh > | MeshAttribute_t |
typedef Util::ReferenceAttribute < Mesh > | MeshWrapper_t |
Variables
Functions
bool | initGenericAttributeSerialization() |
const std::string | GATypeNameMesh(“Mesh” void) |
const std::string | embeddedMeshPrefix(“$” void) |
std::pair< std::string, std::string > | serializeGAMesh(const std::pair< const Util::GenericAttribute *, const Util::GenericAttributeMap * > & attributeAndContext) |
MeshAttribute_t * | unserializeGAMesh(const std::pair< std::string, const Util::GenericAttributeMap * > & contentAndContext) |
Mesh * | loadMesh(const Util::FileName & url) |
Mesh * | loadMesh(const std::string & extension, const std::string & data) |
bool | saveMesh( Mesh * mesh, const Util::FileName & url) |
bool | saveMesh( Mesh * mesh, const std::string & extension, std::ostream & output) |
Util::Reference < Texture > | loadTexture(const Util::FileName & url, TextureType tType, uint32_t numLayers) |
Util::Reference < Texture > | loadTexture(const std::string & extension, const std::string & data, TextureType tType, uint32_t numLayers) |
bool | saveTexture( RenderingContext & context, Texture * texture, const Util::FileName & url) |
bool | saveTexture( RenderingContext & context, Texture * texture, const std::string & extension, std::ostream & output) |
Util::GenericAttributeList * | loadGeneric(const Util::FileName & url) |
Util::GenericAttributeList * | loadGeneric(const std::string & extension, const std::string & data) |
Util::GenericAttributeMap * | createMeshDescription( Mesh * m) |
Documentation
typedef
Rendering::Serialization::MeshAttribute_t
public |
typedef Util::ReferenceAttribute < Mesh > MeshAttribute_t |
Defined in Rendering/Serialization/GenericAttributeSerialization.h:31
typedef
Rendering::Serialization::MeshWrapper_t
public |
typedef Util::ReferenceAttribute < Mesh > MeshWrapper_t |
Defined in Rendering/Serialization/Serialization.h:48
variable
Rendering::Serialization::DESCRIPTION_TYPE
public |
const Util::StringIdentifier DESCRIPTION_TYPE |
Defined in Rendering/Serialization/Serialization.h:50
variable
Rendering::Serialization::DESCRIPTION_TYPE_MESH
public |
const char *const DESCRIPTION_TYPE_MESH |
Defined in Rendering/Serialization/Serialization.h:51
variable
Rendering::Serialization::DESCRIPTION_TYPE_MATERIAL
public |
const char *const DESCRIPTION_TYPE_MATERIAL |
Defined in Rendering/Serialization/Serialization.h:52
variable
Rendering::Serialization::DESCRIPTION_FILE
public |
const Util::StringIdentifier DESCRIPTION_FILE |
Defined in Rendering/Serialization/Serialization.h:53
variable
Rendering::Serialization::DESCRIPTION_DATA
public |
const Util::StringIdentifier DESCRIPTION_DATA |
Defined in Rendering/Serialization/Serialization.h:54
variable
Rendering::Serialization::DESCRIPTION_TEXTURE_FILE
public |
const Util::StringIdentifier DESCRIPTION_TEXTURE_FILE |
Defined in Rendering/Serialization/Serialization.h:55
variable
Rendering::Serialization::DESCRIPTION_MATERIAL_NAME
public |
const Util::StringIdentifier DESCRIPTION_MATERIAL_NAME |
Defined in Rendering/Serialization/Serialization.h:56
variable
Rendering::Serialization::DESCRIPTION_MATERIAL_AMBIENT
public |
const Util::StringIdentifier DESCRIPTION_MATERIAL_AMBIENT |
Defined in Rendering/Serialization/Serialization.h:57
variable
Rendering::Serialization::DESCRIPTION_MATERIAL_DIFFUSE
public |
const Util::StringIdentifier DESCRIPTION_MATERIAL_DIFFUSE |
Defined in Rendering/Serialization/Serialization.h:58
variable
Rendering::Serialization::DESCRIPTION_MATERIAL_SPECULAR
public |
const Util::StringIdentifier DESCRIPTION_MATERIAL_SPECULAR |
Defined in Rendering/Serialization/Serialization.h:59
variable
Rendering::Serialization::DESCRIPTION_MATERIAL_SHININESS
public |
const Util::StringIdentifier DESCRIPTION_MATERIAL_SHININESS |
Defined in Rendering/Serialization/Serialization.h:60
function
Rendering::Serialization::initGenericAttributeSerialization
public |
bool initGenericAttributeSerialization( | ) |
Adds a handler for Util::_CounterAttribute
Note: Texture-Serialization may be added here when needed.
Note: The return value is always true and can be used for static initialization.
Defined in Rendering/Serialization/GenericAttributeSerialization.h:29
function
Rendering::Serialization::GATypeNameMesh
public |
const std::string GATypeNameMesh( | “Mesh” | void ) |
Defined in Rendering/Serialization/GenericAttributeSerialization.h:32
function
Rendering::Serialization::embeddedMeshPrefix
public |
const std::string embeddedMeshPrefix( | ”$” | void ) |
Defined in Rendering/Serialization/GenericAttributeSerialization.h:33
function
Rendering::Serialization::serializeGAMesh
public |
std::pair< std::string, std::string > serializeGAMesh( | const std::pair< const Util::GenericAttribute *, const Util::GenericAttributeMap * > & | attributeAndContext ) |
Defined in Rendering/Serialization/GenericAttributeSerialization.h:34
function
Rendering::Serialization::unserializeGAMesh
public |
MeshAttribute_t * unserializeGAMesh( | const std::pair< std::string, const Util::GenericAttributeMap * > & | contentAndContext ) |
Defined in Rendering/Serialization/GenericAttributeSerialization.h:36
function
Rendering::Serialization::loadMesh
public |
Mesh * loadMesh( | const Util::FileName & | url ) |
Load a single mesh from the given address. The type of the mesh is determined by the file extension.
Parameters
- file
- Address to the file containing the mesh data
Returns
A single mesh
Defined in Rendering/Serialization/Serialization.h:69
function
Rendering::Serialization::loadMesh
public |
Mesh * loadMesh( | const std::string & | extension, |
const std::string & | data | |
) |
Create a single mesh from the given data. The type of the mesh has to be given as parameter.
Parameters
- extension
- File extension specifying the type of the mesh
- data
- Mesh data
Returns
A single mesh
Defined in Rendering/Serialization/Serialization.h:79
function
Rendering::Serialization::saveMesh
public |
bool saveMesh( | Mesh * | mesh, |
const Util::FileName & | url | |
) |
Write a single mesh to the given address. The type of the mesh is determined by the file extension.
Parameters
- mesh
- Mesh object to save
- file
- Address to the file that shall be written
Returns
true
if successful,false
otherwise
Defined in Rendering/Serialization/Serialization.h:89
function
Rendering::Serialization::saveMesh
public |
bool saveMesh( | Mesh * | mesh, |
const std::string & | extension, | |
std::ostream & | output | |
) |
Write a single mesh to the given stream. The type of the mesh has to be given as parameter.
Parameters
- mesh
- Mesh object to save
- extension
- File extension specifying the type of the mesh
- output
- Stream to which the data shall be written
Returns
true
if successful,false
otherwise
Defined in Rendering/Serialization/Serialization.h:100
function
Rendering::Serialization::loadTexture
public |
Util::Reference < Texture > loadTexture( | const Util::FileName & | url, |
TextureType | tType, | |
uint32_t | numLayers | |
) |
Load a single texture from the given address. The type of the texture is determined by the file extension.
Parameters
- file
- Address to the file containing the texture data
Returns
A single texture
Defined in Rendering/Serialization/Serialization.h:109
function
Rendering::Serialization::loadTexture
public |
Util::Reference < Texture > loadTexture( | const std::string & | extension, |
const std::string & | data, | |
TextureType | tType, | |
uint32_t | numLayers | |
) |
Create a single texture from the given data. The type of the texture has to be given as parameter.
Parameters
- extension
- File extension specifying the type of the texture
- data
- Texture data
Returns
A single texture
Defined in Rendering/Serialization/Serialization.h:119
function
Rendering::Serialization::saveTexture
public |
bool saveTexture( | RenderingContext & | context, |
Texture * | texture, | |
const Util::FileName & | url | |
) |
Write a single texture to the given address. The type of the texture is determined by the file extension.
Parameters
- texture
- Texture object to save
- file
- Address to the file that shall be written
Returns
true
if successful,false
otherwise
Defined in Rendering/Serialization/Serialization.h:129
function
Rendering::Serialization::saveTexture
public |
bool saveTexture( | RenderingContext & | context, |
Texture * | texture, | |
const std::string & | extension, | |
std::ostream & | output | |
) |
Write a single texture to the given stream. The type of the texture has to be given as parameter.
Parameters
- texture
- Texture object to save
- extension
- File extension specifying the type of the texture
- output
- Stream to which the data shall be written
Returns
true
if successful,false
otherwise
Defined in Rendering/Serialization/Serialization.h:140
function
Rendering::Serialization::loadGeneric
public |
Util::GenericAttributeList * loadGeneric( | const Util::FileName & | url ) |
Load mesh descriptions from the given address. The type of the mesh is determined by the file extension.
Parameters
- file
- Address to the file containing the mesh data
Returns
A list of mesh descriptions
Note: A description list could look like this:
[
{ // begin first entry
DESCRIPTION_TYPE : "mesh", // type of entry (e.g. "mesh", "material", "keyFrameAnimation")
DESCRIPTION_FILE : "dings.obj", // the path to the file the mesh originates from
DESCRIPTION_DATA : MeshWrapper_t *, // capsule for the mesh itself
DESCRIPTION_TEXTURE_FILE : "dings.png" // (optional) path to a texture file that is used by the mesh
} // end first entry
// additional descriptions may follow here if more than one object was loaded
]
Defined in Rendering/Serialization/Serialization.h:161
function
Rendering::Serialization::loadGeneric
public |
Util::GenericAttributeList * loadGeneric( | const std::string & | extension, |
const std::string & | data | |
) |
Create mesh descriptions from the given data. The type of the mesh has to be given as parameter.
Parameters
- extension
- File extension specifying the type of the mesh
- data
- Mesh data
Returns
A list of mesh descriptions
Defined in Rendering/Serialization/Serialization.h:171
function
Rendering::Serialization::createMeshDescription
public |
Util::GenericAttributeMap * createMeshDescription( | Mesh * | m ) |
Helper function which creates a description map for a single mesh.
Parameters
- mesh
- The mesh that will be wrapped into the description
Defined in Rendering/Serialization/Serialization.h:178