Assimp  v3.1.1 (June 2014)
SIBImporter.cpp File Reference

Implementation of the SIB importer class. More...

Classes

struct  SIB
 
struct  SIBChunk
 
struct  SIBEdge
 
struct  SIBMesh
 
struct  SIBObject
 
struct  TempMesh
 

Macros

#define TAG(A, B, C, D)   ((A << 24) | (B << 16) | (C << 8) | D)
 

Typedefs

typedef std::pair< uint32_t, uint32_t > SIBPair
 

Enumerations

Functions

static void CalculateNormals (SIBMesh *mesh)
 
static aiVector3D CalculateVertexNormal (SIBMesh *mesh, uint32_t faceIdx, uint32_t pos, const std::vector< aiVector3D > &faceNormals)
 
static void CheckVersion (StreamReaderLE *stream)
 
static void ConnectFaces (SIBMesh *mesh)
 
static SIBEdge & GetEdge (SIBMesh *mesh, uint32_t posA, uint32_t posB)
 
static SIBPair makePair (uint32_t a, uint32_t b)
 
static void ReadAxis (aiMatrix4x4 &axis, StreamReaderLE *stream)
 
static SIBChunk ReadChunk (StreamReaderLE *stream)
 
static aiColor3D ReadColor (StreamReaderLE *stream)
 
static void ReadCreases (SIBMesh *mesh, StreamReaderLE *stream)
 
static void ReadEdges (SIBMesh *mesh, StreamReaderLE *stream)
 
static void ReadFaces (SIBMesh *mesh, StreamReaderLE *stream)
 
static void ReadInstance (SIB *sib, StreamReaderLE *stream)
 
static void ReadLight (SIB *sib, StreamReaderLE *stream)
 
static void ReadLightInfo (aiLight *light, StreamReaderLE *stream)
 
static void ReadMaterial (SIB *sib, StreamReaderLE *stream)
 
static void ReadMtls (SIBMesh *mesh, StreamReaderLE *stream)
 
static void ReadScale (aiMatrix4x4 &axis, StreamReaderLE *stream)
 
static void ReadScene (SIB *sib, StreamReaderLE *stream)
 
static void ReadShape (SIB *sib, StreamReaderLE *stream)
 
static aiString ReadString (StreamReaderLE *stream, uint32_t numWChars)
 
static void ReadUVs (SIBMesh *mesh, StreamReaderLE *stream)
 
static void ReadVerts (SIBMesh *mesh, StreamReaderLE *stream, uint32_t count)
 
static void UnknownChunk (StreamReaderLE *stream, const SIBChunk &chunk)
 

Variables

static const aiImporterDesc desc
 
struct SIBChunk PACK_STRUCT
 

Detailed Description

Implementation of the SIB importer class.

The Nevercenter Silo SIB format is undocumented. All details here have been reverse engineered from studying the binary files output by Silo.

Nevertheless, this implementation is reasonably complete.

Macro Definition Documentation

#define TAG (   A,
  B,
  C,
  D 
)    ((A << 24) | (B << 16) | (C << 8) | D)

Typedef Documentation

typedef std::pair<uint32_t, uint32_t> SIBPair

Enumeration Type Documentation

anonymous enum
Enumerator
POS 
NRM 
UV 
N 

Function Documentation

static void CalculateNormals ( SIBMesh *  mesh)
static
static aiVector3D CalculateVertexNormal ( SIBMesh *  mesh,
uint32_t  faceIdx,
uint32_t  pos,
const std::vector< aiVector3D > &  faceNormals 
)
static
static void CheckVersion ( StreamReaderLE *  stream)
static
static void ConnectFaces ( SIBMesh *  mesh)
static
static SIBEdge& GetEdge ( SIBMesh *  mesh,
uint32_t  posA,
uint32_t  posB 
)
static
static SIBPair makePair ( uint32_t  a,
uint32_t  b 
)
static
static void ReadAxis ( aiMatrix4x4 &  axis,
StreamReaderLE *  stream 
)
static
static SIBChunk ReadChunk ( StreamReaderLE *  stream)
static
static aiColor3D ReadColor ( StreamReaderLE *  stream)
static
static void ReadCreases ( SIBMesh *  mesh,
StreamReaderLE *  stream 
)
static
static void ReadEdges ( SIBMesh *  mesh,
StreamReaderLE *  stream 
)
static
static void ReadFaces ( SIBMesh *  mesh,
StreamReaderLE *  stream 
)
static
static void ReadInstance ( SIB *  sib,
StreamReaderLE *  stream 
)
static
static void ReadLight ( SIB *  sib,
StreamReaderLE *  stream 
)
static
static void ReadLightInfo ( aiLight *  light,
StreamReaderLE *  stream 
)
static
static void ReadMaterial ( SIB *  sib,
StreamReaderLE *  stream 
)
static
static void ReadMtls ( SIBMesh *  mesh,
StreamReaderLE *  stream 
)
static
static void ReadScale ( aiMatrix4x4 &  axis,
StreamReaderLE *  stream 
)
static
static void ReadScene ( SIB *  sib,
StreamReaderLE *  stream 
)
static
static void ReadShape ( SIB *  sib,
StreamReaderLE *  stream 
)
static
static aiString ReadString ( StreamReaderLE *  stream,
uint32_t  numWChars 
)
static
static void ReadUVs ( SIBMesh *  mesh,
StreamReaderLE *  stream 
)
static
static void ReadVerts ( SIBMesh *  mesh,
StreamReaderLE *  stream,
uint32_t  count 
)
static
static void UnknownChunk ( StreamReaderLE *  stream,
const SIBChunk &  chunk 
)
static

Variable Documentation

const aiImporterDesc desc
static
Initial value:
= {
"Silo SIB Importer",
"Richard Mitton (http://www.codersnotes.com/about)",
"",
"Does not apply subdivision.",
0, 0,
0, 0,
"sib"
}
Indicates that there is a binary encoding of the file format; and that it is supported.
Definition: importerdesc.h:59
struct TGA_HEADER PACK_STRUCT