Assimp  v3.1.1 (June 2014)
Assimp::Blender::Structure Class Reference

Represents a data structure in a BLEND file. More...

Public Member Functions

template<typename T >
std::shared_ptr< ElemBaseAllocate () const
 
template<>
void Convert (Object &dest, const FileDatabase &db) const
 
template<>
void Convert (Object &dest, const FileDatabase &db) const
 
template<>
void Convert (Group &dest, const FileDatabase &db) const
 
template<>
void Convert (MTex &dest, const FileDatabase &db) const
 
template<>
void Convert (TFace &dest, const FileDatabase &db) const
 
template<>
void Convert (SubsurfModifierData &dest, const FileDatabase &db) const
 
template<>
void Convert (MFace &dest, const FileDatabase &db) const
 
template<>
void Convert (Group &dest, const FileDatabase &db) const
 
template<>
void Convert (Lamp &dest, const FileDatabase &db) const
 
template<>
void Convert (MDeformWeight &dest, const FileDatabase &db) const
 
template<>
void Convert (MTex &dest, const FileDatabase &db) const
 
template<>
void Convert (PackedFile &dest, const FileDatabase &db) const
 
template<>
void Convert (Base &dest, const FileDatabase &db) const
 
template<>
void Convert (MTFace &dest, const FileDatabase &db) const
 
template<>
void Convert (Material &dest, const FileDatabase &db) const
 
template<>
void Convert (MTexPoly &dest, const FileDatabase &db) const
 
template<>
void Convert (Mesh &dest, const FileDatabase &db) const
 
template<>
void Convert (TFace &dest, const FileDatabase &db) const
 
template<>
void Convert (MDeformVert &dest, const FileDatabase &db) const
 
template<>
void Convert (World &dest, const FileDatabase &db) const
 
template<>
void Convert (MLoopCol &dest, const FileDatabase &db) const
 
template<>
void Convert (SubsurfModifierData &dest, const FileDatabase &db) const
 
template<>
void Convert (MVert &dest, const FileDatabase &db) const
 
template<>
void Convert (MEdge &dest, const FileDatabase &db) const
 
template<>
void Convert (MLoopUV &dest, const FileDatabase &db) const
 
template<>
void Convert (MFace &dest, const FileDatabase &db) const
 
template<>
void Convert (GroupObject &dest, const FileDatabase &db) const
 
template<>
void Convert (ListBase &dest, const FileDatabase &db) const
 
template<>
void Convert (MLoop &dest, const FileDatabase &db) const
 
template<>
void Convert (Lamp &dest, const FileDatabase &db) const
 
template<>
void Convert (ModifierData &dest, const FileDatabase &db) const
 
template<>
void Convert (ID &dest, const FileDatabase &db) const
 
template<>
void Convert (MCol &dest, const FileDatabase &db) const
 
template<>
void Convert (MPoly &dest, const FileDatabase &db) const
 
template<>
void Convert (Scene &dest, const FileDatabase &db) const
 
template<>
void Convert (MDeformWeight &dest, const FileDatabase &db) const
 
template<>
void Convert (Library &dest, const FileDatabase &db) const
 
template<>
void Convert (Tex &dest, const FileDatabase &db) const
 
template<>
void Convert (PackedFile &dest, const FileDatabase &db) const
 
template<>
void Convert (Camera &dest, const FileDatabase &db) const
 
template<>
void Convert (MirrorModifierData &dest, const FileDatabase &db) const
 
template<>
void Convert (Base &dest, const FileDatabase &db) const
 
template<>
void Convert (Image &dest, const FileDatabase &db) const
 
template<typename T >
void Convert (T &dest, const FileDatabase &db) const
 Try to read an instance of the structure from the stream and attempt to convert to T. More...
 
template<typename T >
void Convert (std::shared_ptr< ElemBase > in, const FileDatabase &db) const
 
template<>
void Convert (MTFace &dest, const FileDatabase &db) const
 
template<>
void Convert (Material &dest, const FileDatabase &db) const
 
template<>
void Convert (MTexPoly &dest, const FileDatabase &db) const
 
template<>
void Convert (Mesh &dest, const FileDatabase &db) const
 
template<>
void Convert (MDeformVert &dest, const FileDatabase &db) const
 
template<>
void Convert (World &dest, const FileDatabase &db) const
 
template<>
void Convert (MLoopCol &dest, const FileDatabase &db) const
 
template<>
void Convert (int &dest, const FileDatabase &db) const
 
template<>
void Convert (short &dest, const FileDatabase &db) const
 
template<>
void Convert (char &dest, const FileDatabase &db) const
 
template<>
void Convert (float &dest, const FileDatabase &db) const
 
template<>
void Convert (double &dest, const FileDatabase &db) const
 
template<>
void Convert (Pointer &dest, const FileDatabase &db) const
 
template<>
void Convert (MVert &dest, const FileDatabase &db) const
 
template<>
void Convert (MEdge &dest, const FileDatabase &db) const
 
template<>
void Convert (MLoopUV &dest, const FileDatabase &db) const
 
template<>
void Convert (GroupObject &dest, const FileDatabase &db) const
 
template<>
void Convert (ListBase &dest, const FileDatabase &db) const
 
template<>
void Convert (int &dest, const FileDatabase &db) const
 
template<>
void Convert (short &dest, const FileDatabase &db) const
 
template<>
void Convert (MLoop &dest, const FileDatabase &db) const
 
template<>
void Convert (ModifierData &dest, const FileDatabase &db) const
 
template<>
void Convert (char &dest, const FileDatabase &db) const
 
template<>
void Convert (ID &dest, const FileDatabase &db) const
 
template<>
void Convert (float &dest, const FileDatabase &db) const
 
template<>
void Convert (MCol &dest, const FileDatabase &db) const
 
template<>
void Convert (double &dest, const FileDatabase &db) const
 
template<>
void Convert (MPoly &dest, const FileDatabase &db) const
 
template<>
void Convert (Pointer &dest, const FileDatabase &db) const
 
template<>
void Convert (Scene &dest, const FileDatabase &db) const
 
template<>
void Convert (Library &dest, const FileDatabase &db) const
 
template<>
void Convert (Tex &dest, const FileDatabase &db) const
 
template<>
void Convert (Camera &dest, const FileDatabase &db) const
 
template<>
void Convert (MirrorModifierData &dest, const FileDatabase &db) const
 
template<>
void Convert (Image &dest, const FileDatabase &db) const
 
const FieldGet (const std::string &ss) const
 
bool operator!= (const Structure &other) const
 
bool operator== (const Structure &other) const
 
const Fieldoperator[] (const std::string &ss) const
 Access a field of the structure by its canonical name. More...
 
const Fieldoperator[] (const size_t i) const
 Access a field of the structure by its index. More...
 
template<int error_policy, typename T >
void ReadField (T &out, const char *name, const FileDatabase &db) const
 
template<int error_policy, typename T , size_t M>
void ReadFieldArray (T(&out)[M], const char *name, const FileDatabase &db) const
 
template<int error_policy, typename T , size_t M, size_t N>
void ReadFieldArray2 (T(&out)[M][N], const char *name, const FileDatabase &db) const
 
template<int error_policy, template< typename > class TOUT, typename T >
bool ReadFieldPtr (TOUT< T > &out, const char *name, const FileDatabase &db, bool non_recursive=false) const
 
template<int error_policy, template< typename > class TOUT, typename T , size_t N>
bool ReadFieldPtr (TOUT< T >(&out)[N], const char *name, const FileDatabase &db) const
 
 Structure ()
 

Public Attributes

vector< Fieldfields
 
std::map< std::string, size_t > indices
 
std::string name
 
size_t size
 

Friends

template<template< typename > class>
class ObjectCache
 

Detailed Description

Represents a data structure in a BLEND file.

A Structure defines n fields and their locatios and encodings the input stream. Usually, every Structure instance pertains to one equally-named data structure in the BlenderScene.h header. This class defines various utilities to map a binary blob read from the file to such a structure instance with meaningful contents.

Constructor & Destructor Documentation

§ Structure()

Assimp::Blender::Structure::Structure ( )
inline

Member Function Documentation

§ Allocate()

template<typename T >
std::shared_ptr< ElemBase > Assimp::Blender::Structure::Allocate ( ) const

§ Convert() [1/80]

template<>
void Assimp::Blender::Structure::Convert ( Object dest,
const FileDatabase db 
) const

§ Convert() [2/80]

template<>
void Assimp::Blender::Structure::Convert ( Object dest,
const FileDatabase db 
) const

§ Convert() [3/80]

template<>
void Assimp::Blender::Structure::Convert ( Group dest,
const FileDatabase db 
) const

§ Convert() [4/80]

template<>
void Assimp::Blender::Structure::Convert ( MTex dest,
const FileDatabase db 
) const

§ Convert() [5/80]

template<>
void Assimp::Blender::Structure::Convert ( TFace dest,
const FileDatabase db 
) const

§ Convert() [6/80]

template<>
void Assimp::Blender::Structure::Convert ( SubsurfModifierData dest,
const FileDatabase db 
) const

§ Convert() [7/80]

template<>
void Assimp::Blender::Structure::Convert ( MFace dest,
const FileDatabase db 
) const

§ Convert() [8/80]

template<>
void Assimp::Blender::Structure::Convert ( Group dest,
const FileDatabase db 
) const

§ Convert() [9/80]

template<>
void Assimp::Blender::Structure::Convert ( Lamp dest,
const FileDatabase db 
) const

§ Convert() [10/80]

template<>
void Assimp::Blender::Structure::Convert ( MDeformWeight dest,
const FileDatabase db 
) const

§ Convert() [11/80]

template<>
void Assimp::Blender::Structure::Convert ( MTex dest,
const FileDatabase db 
) const

§ Convert() [12/80]

template<>
void Assimp::Blender::Structure::Convert ( PackedFile dest,
const FileDatabase db 
) const

§ Convert() [13/80]

template<>
void Assimp::Blender::Structure::Convert ( Base dest,
const FileDatabase db 
) const

§ Convert() [14/80]

template<>
void Assimp::Blender::Structure::Convert ( MTFace dest,
const FileDatabase db 
) const

§ Convert() [15/80]

template<>
void Assimp::Blender::Structure::Convert ( Material dest,
const FileDatabase db 
) const

§ Convert() [16/80]

template<>
void Assimp::Blender::Structure::Convert ( MTexPoly dest,
const FileDatabase db 
) const

§ Convert() [17/80]

template<>
void Assimp::Blender::Structure::Convert ( Mesh dest,
const FileDatabase db 
) const

§ Convert() [18/80]

template<>
void Assimp::Blender::Structure::Convert ( TFace dest,
const FileDatabase db 
) const

§ Convert() [19/80]

template<>
void Assimp::Blender::Structure::Convert ( MDeformVert dest,
const FileDatabase db 
) const

§ Convert() [20/80]

template<>
void Assimp::Blender::Structure::Convert ( World dest,
const FileDatabase db 
) const

§ Convert() [21/80]

template<>
void Assimp::Blender::Structure::Convert ( MLoopCol dest,
const FileDatabase db 
) const

§ Convert() [22/80]

template<>
void Assimp::Blender::Structure::Convert ( SubsurfModifierData dest,
const FileDatabase db 
) const

§ Convert() [23/80]

template<>
void Assimp::Blender::Structure::Convert ( MVert dest,
const FileDatabase db 
) const

§ Convert() [24/80]

template<>
void Assimp::Blender::Structure::Convert ( MEdge dest,
const FileDatabase db 
) const

§ Convert() [25/80]

template<>
void Assimp::Blender::Structure::Convert ( MLoopUV dest,
const FileDatabase db 
) const

§ Convert() [26/80]

template<>
void Assimp::Blender::Structure::Convert ( MFace dest,
const FileDatabase db 
) const

§ Convert() [27/80]

template<>
void Assimp::Blender::Structure::Convert ( GroupObject dest,
const FileDatabase db 
) const

§ Convert() [28/80]

template<>
void Assimp::Blender::Structure::Convert ( ListBase dest,
const FileDatabase db 
) const

§ Convert() [29/80]

template<>
void Assimp::Blender::Structure::Convert ( MLoop dest,
const FileDatabase db 
) const

§ Convert() [30/80]

template<>
void Assimp::Blender::Structure::Convert ( Lamp dest,
const FileDatabase db 
) const

§ Convert() [31/80]

template<>
void Assimp::Blender::Structure::Convert ( ModifierData dest,
const FileDatabase db 
) const

§ Convert() [32/80]

template<>
void Assimp::Blender::Structure::Convert ( ID dest,
const FileDatabase db 
) const

§ Convert() [33/80]

template<>
void Assimp::Blender::Structure::Convert ( MCol dest,
const FileDatabase db 
) const

§ Convert() [34/80]

template<>
void Assimp::Blender::Structure::Convert ( MPoly dest,
const FileDatabase db 
) const

§ Convert() [35/80]

template<>
void Assimp::Blender::Structure::Convert ( Scene dest,
const FileDatabase db 
) const

§ Convert() [36/80]

template<>
void Assimp::Blender::Structure::Convert ( MDeformWeight dest,
const FileDatabase db 
) const

§ Convert() [37/80]

template<>
void Assimp::Blender::Structure::Convert ( Library dest,
const FileDatabase db 
) const

§ Convert() [38/80]

template<>
void Assimp::Blender::Structure::Convert ( Tex dest,
const FileDatabase db 
) const

§ Convert() [39/80]

template<>
void Assimp::Blender::Structure::Convert ( PackedFile dest,
const FileDatabase db 
) const

§ Convert() [40/80]

template<>
void Assimp::Blender::Structure::Convert ( Camera dest,
const FileDatabase db 
) const

§ Convert() [41/80]

template<>
void Assimp::Blender::Structure::Convert ( MirrorModifierData dest,
const FileDatabase db 
) const

§ Convert() [42/80]

template<>
void Assimp::Blender::Structure::Convert ( Base dest,
const FileDatabase db 
) const

§ Convert() [43/80]

template<>
void Assimp::Blender::Structure::Convert ( Image dest,
const FileDatabase db 
) const

§ Convert() [44/80]

template<typename T >
void Assimp::Blender::Structure::Convert ( T &  dest,
const FileDatabase db 
) const
inline

Try to read an instance of the structure from the stream and attempt to convert to T.

This is done by an appropriate specialization. If none is available, a compiler complain is the result.

Parameters
destDestination value to be written
dbFile database, including input stream.

§ Convert() [45/80]

template<typename T >
void Assimp::Blender::Structure::Convert ( std::shared_ptr< ElemBase in,
const FileDatabase db 
) const

§ Convert() [46/80]

template<>
void Assimp::Blender::Structure::Convert ( MTFace dest,
const FileDatabase db 
) const

§ Convert() [47/80]

template<>
void Assimp::Blender::Structure::Convert ( Material dest,
const FileDatabase db 
) const

§ Convert() [48/80]

template<>
void Assimp::Blender::Structure::Convert ( MTexPoly dest,
const FileDatabase db 
) const

§ Convert() [49/80]

template<>
void Assimp::Blender::Structure::Convert ( Mesh dest,
const FileDatabase db 
) const

§ Convert() [50/80]

template<>
void Assimp::Blender::Structure::Convert ( MDeformVert dest,
const FileDatabase db 
) const

§ Convert() [51/80]

template<>
void Assimp::Blender::Structure::Convert ( World dest,
const FileDatabase db 
) const

§ Convert() [52/80]

template<>
void Assimp::Blender::Structure::Convert ( MLoopCol dest,
const FileDatabase db 
) const

§ Convert() [53/80]

template<>
void Assimp::Blender::Structure::Convert ( int &  dest,
const FileDatabase db 
) const
inline

§ Convert() [54/80]

template<>
void Assimp::Blender::Structure::Convert ( short &  dest,
const FileDatabase db 
) const
inline

§ Convert() [55/80]

template<>
void Assimp::Blender::Structure::Convert ( char &  dest,
const FileDatabase db 
) const
inline

§ Convert() [56/80]

template<>
void Assimp::Blender::Structure::Convert ( float &  dest,
const FileDatabase db 
) const
inline

§ Convert() [57/80]

template<>
void Assimp::Blender::Structure::Convert ( double &  dest,
const FileDatabase db 
) const
inline

§ Convert() [58/80]

template<>
void Assimp::Blender::Structure::Convert ( Pointer dest,
const FileDatabase db 
) const
inline

§ Convert() [59/80]

template<>
void Assimp::Blender::Structure::Convert ( MVert dest,
const FileDatabase db 
) const

§ Convert() [60/80]

template<>
void Assimp::Blender::Structure::Convert ( MEdge dest,
const FileDatabase db 
) const

§ Convert() [61/80]

template<>
void Assimp::Blender::Structure::Convert ( MLoopUV dest,
const FileDatabase db 
) const

§ Convert() [62/80]

template<>
void Assimp::Blender::Structure::Convert ( GroupObject dest,
const FileDatabase db 
) const

§ Convert() [63/80]

template<>
void Assimp::Blender::Structure::Convert ( ListBase dest,
const FileDatabase db 
) const

§ Convert() [64/80]

template<>
void Assimp::Blender::Structure::Convert ( int &  dest,
const FileDatabase db 
) const
inline

§ Convert() [65/80]

template<>
void Assimp::Blender::Structure::Convert ( short &  dest,
const FileDatabase db 
) const
inline

§ Convert() [66/80]

template<>
void Assimp::Blender::Structure::Convert ( MLoop dest,
const FileDatabase db 
) const

§ Convert() [67/80]

template<>
void Assimp::Blender::Structure::Convert ( ModifierData dest,
const FileDatabase db 
) const

§ Convert() [68/80]

template<>
void Assimp::Blender::Structure::Convert ( char &  dest,
const FileDatabase db 
) const
inline

§ Convert() [69/80]

template<>
void Assimp::Blender::Structure::Convert ( ID dest,
const FileDatabase db 
) const

§ Convert() [70/80]

template<>
void Assimp::Blender::Structure::Convert ( float &  dest,
const FileDatabase db 
) const
inline

§ Convert() [71/80]

template<>
void Assimp::Blender::Structure::Convert ( MCol dest,
const FileDatabase db 
) const

§ Convert() [72/80]

template<>
void Assimp::Blender::Structure::Convert ( double &  dest,
const FileDatabase db 
) const
inline

§ Convert() [73/80]

template<>
void Assimp::Blender::Structure::Convert ( MPoly dest,
const FileDatabase db 
) const

§ Convert() [74/80]

template<>
void Assimp::Blender::Structure::Convert ( Pointer dest,
const FileDatabase db 
) const
inline

§ Convert() [75/80]

template<>
void Assimp::Blender::Structure::Convert ( Scene dest,
const FileDatabase db 
) const

§ Convert() [76/80]

template<>
void Assimp::Blender::Structure::Convert ( Library dest,
const FileDatabase db 
) const

§ Convert() [77/80]

template<>
void Assimp::Blender::Structure::Convert ( Tex dest,
const FileDatabase db 
) const

§ Convert() [78/80]

template<>
void Assimp::Blender::Structure::Convert ( Camera dest,
const FileDatabase db 
) const

§ Convert() [79/80]

template<>
void Assimp::Blender::Structure::Convert ( MirrorModifierData dest,
const FileDatabase db 
) const

§ Convert() [80/80]

template<>
void Assimp::Blender::Structure::Convert ( Image dest,
const FileDatabase db 
) const

§ Get()

const Field * Assimp::Blender::Structure::Get ( const std::string &  ss) const
inline

§ operator!=()

bool Assimp::Blender::Structure::operator!= ( const Structure other) const
inline

§ operator==()

bool Assimp::Blender::Structure::operator== ( const Structure other) const
inline

§ operator[]() [1/2]

const Field & Assimp::Blender::Structure::operator[] ( const std::string &  ss) const
inline

Access a field of the structure by its canonical name.

The pointer version returns NULL on failure while the reference version raises an import error.

§ operator[]() [2/2]

const Field & Assimp::Blender::Structure::operator[] ( const size_t  i) const
inline

Access a field of the structure by its index.

§ ReadField()

template<int error_policy, typename T >
void Assimp::Blender::Structure::ReadField ( T &  out,
const char *  name,
const FileDatabase db 
) const

§ ReadFieldArray()

template<int error_policy, typename T , size_t M>
void Assimp::Blender::Structure::ReadFieldArray ( T(&)  out[M],
const char *  name,
const FileDatabase db 
) const

§ ReadFieldArray2()

template<int error_policy, typename T , size_t M, size_t N>
void Assimp::Blender::Structure::ReadFieldArray2 ( T(&)  out[M][N],
const char *  name,
const FileDatabase db 
) const

§ ReadFieldPtr() [1/2]

template<int error_policy, template< typename > class TOUT, typename T >
bool Assimp::Blender::Structure::ReadFieldPtr ( TOUT< T > &  out,
const char *  name,
const FileDatabase db,
bool  non_recursive = false 
) const

§ ReadFieldPtr() [2/2]

template<int error_policy, template< typename > class TOUT, typename T , size_t N>
bool Assimp::Blender::Structure::ReadFieldPtr ( TOUT< T >(&)  out[N],
const char *  name,
const FileDatabase db 
) const

Friends And Related Function Documentation

§ ObjectCache

template<template< typename > class>
friend class ObjectCache
friend

Member Data Documentation

§ fields

vector< Field > Assimp::Blender::Structure::fields

§ indices

std::map<std::string, size_t> Assimp::Blender::Structure::indices

§ name

std::string Assimp::Blender::Structure::name

§ size

size_t Assimp::Blender::Structure::size

The documentation for this class was generated from the following files: