Assimp  v4.1. (December 2018)
Assimp::Blender Namespace Reference

Classes

struct  Base
 
class  BlenderModifier
 Dummy base class for all blender modifiers. More...
 
class  BlenderModifier_Mirror
 Mirror modifier. More...
 
class  BlenderModifier_Subdivision
 Subdivision modifier. More...
 
class  BlenderModifierShowcase
 Manage all known modifiers and instance and apply them if necessary. More...
 
struct  Camera
 
struct  ConversionData
 ConversionData acts as intermediate storage location for the various ConvertXXX routines in BlenderImporter. More...
 
struct  CustomData
 
struct  CustomDataLayer
 
struct  CustomDataTypeDescription
 describes the size of data and the read function to be used for single CustomerData.type More...
 
class  DNA
 Represents the full data structure information for a single BLEND file. More...
 
class  DNAParser
 Factory to extract a #DNA from the DNA1 file block in a BLEND file. More...
 
struct  ElemBase
 The only purpose of this structure is to feed a virtual dtor into its descendents. More...
 
struct  Error
 Exception class used by the blender loader to selectively catch exceptions thrown in its own code (DeadlyImportErrors thrown in general utility functions are untouched then). More...
 
struct  Field
 Represents a single member of a data structure in a BLEND file. More...
 
struct  FileBlockHead
 Describes a master file block header. More...
 
class  FileDatabase
 Memory representation of a full BLEND file and all its dependencies. More...
 
struct  FileOffset
 Represents a generic offset within a BLEND file. More...
 
struct  Group
 
struct  GroupObject
 
struct  ID
 
struct  Image
 
struct  Lamp
 
struct  Library
 
struct  ListBase
 
struct  Material
 
struct  MCol
 
struct  MDeformVert
 
struct  MDeformWeight
 
struct  MEdge
 
struct  Mesh
 
struct  MFace
 
struct  MirrorModifierData
 
struct  MLoop
 
struct  MLoopCol
 
struct  MLoopUV
 
struct  ModifierData
 
struct  MPoly
 
struct  MTex
 
struct  MTexPoly
 
struct  MTFace
 
struct  MVert
 
struct  Object
 
class  ObjectCache
 The object cache - all objects addressed by pointers are added here. More...
 
class  ObjectCache< Blender::vector >
 
struct  ObjectCompare
 
struct  PackedFile
 
struct  PlaneP2T
 
struct  Pointer
 Represents a generic pointer to a memory location, which can be either 32 or 64 bits. More...
 
struct  PointP2T
 
struct  Scene
 
class  SectionParser
 Utility to read all master file blocks in turn. More...
 
struct  signless
 
struct  signless< char >
 
struct  signless< int >
 
struct  signless< short >
 
struct  signless< unsigned char >
 
struct  static_cast_silent
 
struct  static_cast_silent< double >
 
struct  static_cast_silent< float >
 
class  Statistics
 Import statistics, i.e. More...
 
class  Structure
 Represents a data structure in a BLEND file. More...
 
struct  SubsurfModifierData
 
struct  TempArray
 Mini smart-array to avoid pulling in even more boost stuff. More...
 
struct  Tex
 
struct  TFace
 
class  vector
 Dummy derivate of std::vector to be able to use it in templates simultaenously with std::shared_ptr, which takes only one template argument while std::vector takes three. More...
 
struct  World
 

Typedefs

typedef std::set< const Object *, ObjectCompareObjectSet
 
typedef ElemBase *(* PCreate) (const size_t cnt)
 
typedef void(* PDestroy) (ElemBase *)
 
typedef bool(* PRead) (ElemBase *pOut, const size_t cnt, const FileDatabase &db)
 pointer to function read memory for n CustomData types More...
 

Enumerations

enum  CustomDataType {
  CD_AUTO_FROM_NAME = -1 , CD_MVERT = 0 , CD_MDEFORMVERT = 2 , CD_MEDGE = 3 ,
  CD_MFACE = 4 , CD_MTFACE = 5 , CD_MCOL = 6 , CD_ORIGINDEX = 7 ,
  CD_NORMAL = 8 , CD_PROP_FLT = 10 , CD_PROP_INT = 11 , CD_PROP_STR = 12 ,
  CD_ORIGSPACE = 13 , CD_ORCO = 14 , CD_MTEXPOLY = 15 , CD_MLOOPUV = 16 ,
  CD_MLOOPCOL = 17 , CD_TANGENT = 18 , CD_MDISPS = 19 , CD_PREVIEW_MCOL = 20 ,
  CD_TEXTURE_MLOOPCOL = 22 , CD_CLOTH_ORCO = 23 , CD_RECAST = 24 , CD_MPOLY = 25 ,
  CD_MLOOP = 26 , CD_SHAPE_KEYINDEX = 27 , CD_SHAPEKEY = 28 , CD_BWEIGHT = 29 ,
  CD_CREASE = 30 , CD_ORIGSPACE_MLOOP = 31 , CD_PREVIEW_MLOOPCOL = 32 , CD_BM_ELEM_PYPTR = 33 ,
  CD_PAINT_MASK = 34 , CD_GRID_PAINT_MASK = 35 , CD_MVERT_SKIN = 36 , CD_FREESTYLE_EDGE = 37 ,
  CD_FREESTYLE_FACE = 38 , CD_MLOOPTANGENT = 39 , CD_TESSLOOPNORMAL = 40 , CD_CUSTOMLOOPNORMAL = 41 ,
  CD_NUMTYPES = 42
}
 
enum  ErrorPolicy { ErrorPolicy_Igno , ErrorPolicy_Warn , ErrorPolicy_Fail }
 Range of possible behaviours for fields absend in the input file. More...
 
enum  FieldFlags { FieldFlag_Pointer = 0x1 , FieldFlag_Array = 0x2 }
 Mixed flags for use in #Field. More...
 

Functions

template<typename T >
void ConvertDispatcher (T &out, const Structure &in, const FileDatabase &db)
 
std::shared_ptr< CustomDataLayergetCustomDataLayer (const CustomData &customdata, CustomDataType cdtype, const std::string &name)
 returns CustomDataLayer ptr for given cdtype and name More...
 
const ElemBasegetCustomDataLayerData (const CustomData &customdata, CustomDataType cdtype, const std::string &name)
 returns CustomDataLayer data ptr for given cdtype and name More...
 
const char * GetTextureTypeDisplayString (Tex::Type t)
 
bool isValidCustomDataType (const int cdtype)
 check if given cdtype is valid (ie >= 0 and < CD_NUMTYPES) More...
 
bool operator< (const Pointer &a, const Pointer &b)
 
template<typename T >
bool read (const Structure &s, T *p, const size_t cnt, const FileDatabase &db)
 read/convert of Structure array to memory More...
 
bool readCustomData (std::shared_ptr< ElemBase > &out, int cdtype, size_t cnt, const FileDatabase &db)
 read CustomData's data to ptr to mem More...
 
template<>
bool Structure ::ResolvePointer< std::shared_ptr, ElemBase > (std::shared_ptr< ElemBase > &out, const Pointer &ptrval, const FileDatabase &db, const Field &f, bool) const
 

Variables

std::array< CustomDataTypeDescription, CD_NUMTYPEScustomDataTypeDescriptions
 descriptors for data pointed to from CustomDataLayer.data More...
 
static const size_t MaxNameLen = 1024
 

Typedef Documentation

◆ ObjectSet

typedef std::set<const Object*, ObjectCompare> Assimp::Blender::ObjectSet

◆ PCreate

typedef ElemBase*(* Assimp::Blender::PCreate) (const size_t cnt)

◆ PDestroy

typedef void(* Assimp::Blender::PDestroy) (ElemBase *)

◆ PRead

typedef bool(* Assimp::Blender::PRead) (ElemBase *pOut, const size_t cnt, const FileDatabase &db)

pointer to function read memory for n CustomData types

Enumeration Type Documentation

◆ CustomDataType

Enumerator
CD_AUTO_FROM_NAME 
CD_MVERT 
CD_MDEFORMVERT 
CD_MEDGE 
CD_MFACE 
CD_MTFACE 
CD_MCOL 
CD_ORIGINDEX 
CD_NORMAL 
CD_PROP_FLT 
CD_PROP_INT 
CD_PROP_STR 
CD_ORIGSPACE 
CD_ORCO 
CD_MTEXPOLY 
CD_MLOOPUV 
CD_MLOOPCOL 
CD_TANGENT 
CD_MDISPS 
CD_PREVIEW_MCOL 
CD_TEXTURE_MLOOPCOL 
CD_CLOTH_ORCO 
CD_RECAST 
CD_MPOLY 
CD_MLOOP 
CD_SHAPE_KEYINDEX 
CD_SHAPEKEY 
CD_BWEIGHT 
CD_CREASE 
CD_ORIGSPACE_MLOOP 
CD_PREVIEW_MLOOPCOL 
CD_BM_ELEM_PYPTR 
CD_PAINT_MASK 
CD_GRID_PAINT_MASK 
CD_MVERT_SKIN 
CD_FREESTYLE_EDGE 
CD_FREESTYLE_FACE 
CD_MLOOPTANGENT 
CD_TESSLOOPNORMAL 
CD_CUSTOMLOOPNORMAL 
CD_NUMTYPES 

◆ ErrorPolicy

Range of possible behaviours for fields absend in the input file.

Some are mission critical so we need them, while others can silently be default initialized and no animations are harmed.

Enumerator
ErrorPolicy_Igno 

Substitute default value and ignore.

ErrorPolicy_Warn 

Substitute default value and write to log.

ErrorPolicy_Fail 

Substitute a massive error message and crash the whole matrix.

Its time for another zion

◆ FieldFlags

Mixed flags for use in #Field.

Enumerator
FieldFlag_Pointer 
FieldFlag_Array 

Function Documentation

◆ ConvertDispatcher()

template<typename T >
void Assimp::Blender::ConvertDispatcher ( T &  out,
const Structure in,
const FileDatabase db 
)
inline

◆ getCustomDataLayer()

std::shared_ptr< CustomDataLayer > Assimp::Blender::getCustomDataLayer ( const CustomData customdata,
CustomDataType  cdtype,
const std::string &  name 
)

returns CustomDataLayer ptr for given cdtype and name

Parameters
[in]customdataCustomData to search for wanted layer
[in]cdtypeto search for
[in]nameto search for
Returns
CustomDataLayer * or nullptr if not found

◆ getCustomDataLayerData()

const ElemBase * Assimp::Blender::getCustomDataLayerData ( const CustomData customdata,
CustomDataType  cdtype,
const std::string &  name 
)

returns CustomDataLayer data ptr for given cdtype and name

Parameters
[in]customdataCustomData to search for wanted layer
[in]cdtypeto search for
[in]nameto search for
Returns
* to struct data or nullptr if not found

◆ GetTextureTypeDisplayString()

const char* Assimp::Blender::GetTextureTypeDisplayString ( Tex::Type  t)
inline

◆ isValidCustomDataType()

bool Assimp::Blender::isValidCustomDataType ( const int  cdtype)

check if given cdtype is valid (ie >= 0 and < CD_NUMTYPES)

Parameters
[in]cdtypeto check
Returns
true when valid

◆ operator<()

bool Assimp::Blender::operator< ( const Pointer a,
const Pointer b 
)
inline

◆ read()

template<typename T >
bool Assimp::Blender::read ( const Structure s,
T *  p,
const size_t  cnt,
const FileDatabase db 
)

read/convert of Structure array to memory

◆ readCustomData()

bool Assimp::Blender::readCustomData ( std::shared_ptr< ElemBase > &  out,
int  cdtype,
size_t  cnt,
const FileDatabase db 
)

read CustomData's data to ptr to mem

Parameters
[out]outmemory ptr to set
[in]cdtypeto read
[in]cntcnt of elements to read
[in]dbto read elements from
Returns
true when ok

◆ Structure ::ResolvePointer< std::shared_ptr, ElemBase >()

template<>
bool Assimp::Blender::Structure ::ResolvePointer< std::shared_ptr, ElemBase > ( std::shared_ptr< ElemBase > &  out,
const Pointer ptrval,
const FileDatabase db,
const Field f,
bool   
) const
inline

Variable Documentation

◆ customDataTypeDescriptions

std::array<CustomDataTypeDescription, CD_NUMTYPES> Assimp::Blender::customDataTypeDescriptions

descriptors for data pointed to from CustomDataLayer.data

Note
some of the CustomData uses already well defined Structures other (like CD_ORCO, ...) uses arrays of rawtypes or even arrays of Structures use a special readfunction for that cases

◆ MaxNameLen

const size_t Assimp::Blender::MaxNameLen = 1024
static