Assimp  v4.1. (December 2018)
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 (Base &dest, const FileDatabase &db) const
 
template<>
void Convert (Base &dest, const FileDatabase &db) const
 
template<>
void Convert (Camera &dest, const FileDatabase &db) const
 
template<>
void Convert (Camera &dest, const FileDatabase &db) const
 
template<>
void Convert (char &dest, const FileDatabase &db) const
 
template<>
void Convert (char &dest, const FileDatabase &db) const
 
template<>
void Convert (double &dest, const FileDatabase &db) const
 
template<>
void Convert (double &dest, const FileDatabase &db) const
 
template<>
void Convert (float &dest, const FileDatabase &db) const
 
template<>
void Convert (float &dest, const FileDatabase &db) const
 
template<>
void Convert (Group &dest, const FileDatabase &db) const
 
template<>
void Convert (Group &dest, const FileDatabase &db) const
 
template<>
void Convert (GroupObject &dest, const FileDatabase &db) const
 
template<>
void Convert (GroupObject &dest, const FileDatabase &db) const
 
template<>
void Convert (ID &dest, const FileDatabase &db) const
 
template<>
void Convert (ID &dest, const FileDatabase &db) const
 
template<>
void Convert (Image &dest, const FileDatabase &db) const
 
template<>
void Convert (Image &dest, const FileDatabase &db) const
 
template<>
void Convert (int &dest, const FileDatabase &db) const
 
template<>
void Convert (int &dest, const FileDatabase &db) const
 
template<>
void Convert (Lamp &dest, const FileDatabase &db) const
 
template<>
void Convert (Lamp &dest, const FileDatabase &db) const
 
template<>
void Convert (Library &dest, const FileDatabase &db) const
 
template<>
void Convert (Library &dest, const FileDatabase &db) const
 
template<>
void Convert (ListBase &dest, const FileDatabase &db) const
 
template<>
void Convert (ListBase &dest, const FileDatabase &db) const
 
template<>
void Convert (Material &dest, const FileDatabase &db) const
 
template<>
void Convert (Material &dest, const FileDatabase &db) const
 
template<>
void Convert (MCol &dest, const FileDatabase &db) const
 
template<>
void Convert (MCol &dest, const FileDatabase &db) const
 
template<>
void Convert (MDeformVert &dest, const FileDatabase &db) const
 
template<>
void Convert (MDeformVert &dest, const FileDatabase &db) const
 
template<>
void Convert (MDeformWeight &dest, const FileDatabase &db) const
 
template<>
void Convert (MDeformWeight &dest, const FileDatabase &db) const
 
template<>
void Convert (MEdge &dest, const FileDatabase &db) const
 
template<>
void Convert (MEdge &dest, const FileDatabase &db) const
 
template<>
void Convert (Mesh &dest, const FileDatabase &db) const
 
template<>
void Convert (Mesh &dest, const FileDatabase &db) const
 
template<>
void Convert (MFace &dest, const FileDatabase &db) const
 
template<>
void Convert (MFace &dest, const FileDatabase &db) const
 
template<>
void Convert (MirrorModifierData &dest, const FileDatabase &db) const
 
template<>
void Convert (MirrorModifierData &dest, const FileDatabase &db) const
 
template<>
void Convert (MLoop &dest, const FileDatabase &db) const
 
template<>
void Convert (MLoop &dest, const FileDatabase &db) const
 
template<>
void Convert (MLoopCol &dest, const FileDatabase &db) const
 
template<>
void Convert (MLoopCol &dest, const FileDatabase &db) const
 
template<>
void Convert (MLoopUV &dest, const FileDatabase &db) const
 
template<>
void Convert (MLoopUV &dest, const FileDatabase &db) const
 
template<>
void Convert (ModifierData &dest, const FileDatabase &db) const
 
template<>
void Convert (ModifierData &dest, const FileDatabase &db) const
 
template<>
void Convert (MPoly &dest, const FileDatabase &db) const
 
template<>
void Convert (MPoly &dest, const FileDatabase &db) const
 
template<>
void Convert (MTex &dest, const FileDatabase &db) const
 
template<>
void Convert (MTex &dest, const FileDatabase &db) const
 
template<>
void Convert (MTexPoly &dest, const FileDatabase &db) const
 
template<>
void Convert (MTexPoly &dest, const FileDatabase &db) const
 
template<>
void Convert (MTFace &dest, const FileDatabase &db) const
 
template<>
void Convert (MTFace &dest, const FileDatabase &db) const
 
template<>
void Convert (MVert &dest, const FileDatabase &db) const
 
template<>
void Convert (MVert &dest, const FileDatabase &db) const
 
template<>
void Convert (Object &dest, const FileDatabase &db) const
 
template<>
void Convert (Object &dest, const FileDatabase &db) const
 
template<>
void Convert (PackedFile &dest, const FileDatabase &db) const
 
template<>
void Convert (PackedFile &dest, const FileDatabase &db) const
 
template<>
void Convert (Pointer &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 (Scene &dest, const FileDatabase &db) const
 
template<>
void Convert (short &dest, const FileDatabase &db) const
 
template<>
void Convert (short &dest, const FileDatabase &db) const
 
template<typename T >
void Convert (std::shared_ptr< ElemBase > in, const FileDatabase &db) const
 
template<>
void Convert (SubsurfModifierData &dest, const FileDatabase &db) const
 
template<>
void Convert (SubsurfModifierData &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<>
void Convert (Tex &dest, const FileDatabase &db) const
 
template<>
void Convert (Tex &dest, const FileDatabase &db) const
 
template<>
void Convert (TFace &dest, const FileDatabase &db) const
 
template<>
void Convert (TFace &dest, const FileDatabase &db) const
 
template<>
void Convert (unsigned char &dest, const FileDatabase &db) const
 
template<>
void Convert (World &dest, const FileDatabase &db) const
 
template<>
void Convert (World &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 size_t i) const
 Access a field of the structure by its index. More...
 
const Fieldoperator[] (const std::string &ss) const
 Access a field of the structure by its canonical name. 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

◆ Convert() [1/81]

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

◆ Convert() [2/81]

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

◆ Convert() [3/81]

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

◆ Convert() [4/81]

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

◆ Convert() [5/81]

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

◆ Convert() [6/81]

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

◆ Convert() [7/81]

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

◆ Convert() [8/81]

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

◆ Convert() [9/81]

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

◆ Convert() [10/81]

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

◆ Convert() [11/81]

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

◆ Convert() [12/81]

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

◆ Convert() [13/81]

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

◆ Convert() [14/81]

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

◆ Convert() [15/81]

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

◆ Convert() [16/81]

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

◆ Convert() [17/81]

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

◆ Convert() [18/81]

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

◆ Convert() [19/81]

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

◆ Convert() [20/81]

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

◆ Convert() [21/81]

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

◆ Convert() [22/81]

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

◆ Convert() [23/81]

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

◆ Convert() [24/81]

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

◆ Convert() [25/81]

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

◆ Convert() [26/81]

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

◆ Convert() [27/81]

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

◆ Convert() [28/81]

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

◆ Convert() [29/81]

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

◆ Convert() [30/81]

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

◆ Convert() [31/81]

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

◆ Convert() [32/81]

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

◆ Convert() [33/81]

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

◆ Convert() [34/81]

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

◆ Convert() [35/81]

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

◆ Convert() [36/81]

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

◆ Convert() [37/81]

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

◆ Convert() [38/81]

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

◆ Convert() [39/81]

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

◆ Convert() [40/81]

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

◆ Convert() [41/81]

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

◆ Convert() [42/81]

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

◆ Convert() [43/81]

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

◆ Convert() [44/81]

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

◆ Convert() [45/81]

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

◆ Convert() [46/81]

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

◆ Convert() [47/81]

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

◆ Convert() [48/81]

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

◆ Convert() [49/81]

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

◆ Convert() [50/81]

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

◆ Convert() [51/81]

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

◆ Convert() [52/81]

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

◆ Convert() [53/81]

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

◆ Convert() [54/81]

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

◆ Convert() [55/81]

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

◆ Convert() [56/81]

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

◆ Convert() [57/81]

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

◆ Convert() [58/81]

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

◆ Convert() [59/81]

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

◆ Convert() [60/81]

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

◆ Convert() [61/81]

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

◆ Convert() [62/81]

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

◆ Convert() [63/81]

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

◆ Convert() [64/81]

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

◆ Convert() [65/81]

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

◆ Convert() [66/81]

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

◆ Convert() [67/81]

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

◆ Convert() [68/81]

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

◆ Convert() [69/81]

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

◆ Convert() [70/81]

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

◆ Convert() [71/81]

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

◆ Convert() [72/81]

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

◆ Convert() [73/81]

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

◆ Convert() [74/81]

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

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() [75/81]

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

◆ Convert() [76/81]

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

◆ Convert() [77/81]

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

◆ Convert() [78/81]

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

◆ Convert() [79/81]

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

◆ Convert() [80/81]

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

◆ Convert() [81/81]

template<>
void Assimp::Blender::Structure::Convert ( World 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 size_t  i) const
inline

Access a field of the structure by its index.

◆ operator[]() [2/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.

◆ 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: