Castor3D  ..
Classes | Espaces de nommage | Macros | Énumérations | Fonctions | Variables
Référence du fichier BinaryChunk.hpp
+ Graphe des dépendances par inclusion de BinaryChunk.hpp:
+ Ce graphe montre quels fichiers incluent directement ou indirectement ce fichier :

Classes

struct  castor3d::ChunkTyper< Type >
 Classe d'aide pour récupéer un ChunkType depuis un type. Plus de détails...
 
class  castor3d::BinaryChunk
 Classe de base d'un chunk de données binaires. Plus de détails...
 

Espaces de nommage

 castor3d
 

Macros

#define MAKE_CMSH_VERSION(maj, min, rev)
 
#define CMSH_VERSION_MAJOR(version)   ( uint32_t( version ) >> 24 )
 
#define CMSH_VERSION_MINOR(version)   ( ( uint32_t( version ) >> 16 ) & uint32_t( 0xFF ) )
 
#define CMSH_VERSION_REVISION(version)   ( ( uint32_t( version ) >> 0 ) & uint32_t( 0xFF ) )
 
#define MAKE_CHUNK_ID(a, b, c, d, e, f, g, h)
 

Énumérations

enum  castor3d::ChunkType : uint64_t {
  castor3d::ChunkType::eUnknown = MAKE_CHUNK_ID( ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' ), castor3d::ChunkType::eCmshFile = MAKE_CHUNK_ID( 'C', 'M', 'S', 'H', 'F', 'I', 'L', 'E' ), castor3d::ChunkType::eCmshHeader = MAKE_CHUNK_ID( 'C', 'M', 'S', 'H', 'H', 'D', 'E', 'R' ), castor3d::ChunkType::eCmshVersion = MAKE_CHUNK_ID( 'C', 'M', 'S', 'H', 'V', 'R', 'S', 'N' ),
  castor3d::ChunkType::eName = MAKE_CHUNK_ID( 'N', 'A', 'M', 'E', ' ', ' ', ' ', ' ' ), castor3d::ChunkType::eMesh = MAKE_CHUNK_ID( 'M', 'E', 'S', 'H', ' ', ' ', ' ', ' ' ), castor3d::ChunkType::eSkeleton = MAKE_CHUNK_ID( 'S', 'K', 'E', 'L', 'E', 'T', 'O', 'N' ), castor3d::ChunkType::eSkeletonGlobalInverse = MAKE_CHUNK_ID( 'S', 'K', 'E', 'L', 'G', 'I', 'M', 'X' ),
  castor3d::ChunkType::eSkeletonBone = MAKE_CHUNK_ID( 'S', 'K', 'E', 'L', 'B', 'O', 'N', 'E' ), castor3d::ChunkType::eBoneParentName = MAKE_CHUNK_ID( 'B', 'O', 'N', 'E', 'P', 'A', 'R', 'T' ), castor3d::ChunkType::eBoneOffsetMatrix = MAKE_CHUNK_ID( 'B', 'O', 'N', 'E', 'O', 'M', 'T', 'X' ), castor3d::ChunkType::eSubmesh = MAKE_CHUNK_ID( 'S', 'U', 'B', 'M', 'E', 'S', 'H', ' ' ),
  castor3d::ChunkType::eSubmeshTopology = MAKE_CHUNK_ID( 'S', 'M', 'S', 'H', 'T', 'O', 'P', 'O' ), castor3d::ChunkType::eSubmeshVertexCount = MAKE_CHUNK_ID( 'S', 'M', 'S', 'H', 'V', 'X', 'C', 'T' ), castor3d::ChunkType::eSubmeshVertex = MAKE_CHUNK_ID( 'S', 'M', 'S', 'H', 'V', 'R', 'T', 'X' ), castor3d::ChunkType::eSubmeshBoneCount = MAKE_CHUNK_ID( 'S', 'M', 'S', 'H', 'B', 'N', 'C', 'T' ),
  castor3d::ChunkType::eSubmeshBones = MAKE_CHUNK_ID( 'S', 'M', 'S', 'H', 'B', 'O', 'N', 'E' ), castor3d::ChunkType::eSubmeshMatrixCount = MAKE_CHUNK_ID( 'S', 'M', 'S', 'H', 'M', 'X', 'C', 'T' ), castor3d::ChunkType::eSubmeshMatrices = MAKE_CHUNK_ID( 'S', 'M', 'S', 'H', 'M', 'T', 'R', 'X' ), castor3d::ChunkType::eSubmeshFaceCount = MAKE_CHUNK_ID( 'S', 'M', 'S', 'H', 'F', 'C', 'C', 'T' ),
  castor3d::ChunkType::eSubmeshFaces = MAKE_CHUNK_ID( 'S', 'M', 'S', 'H', 'F', 'A', 'C', 'E' ), castor3d::ChunkType::eAnimable = MAKE_CHUNK_ID( 'A', 'N', 'I', 'M', 'A', 'B', 'L', 'E' ), castor3d::ChunkType::eAnimation = MAKE_CHUNK_ID( 'A', 'N', 'M', 'A', 'T', 'I', 'O', 'N' ), castor3d::ChunkType::eAnimLength = MAKE_CHUNK_ID( 'A', 'N', 'M', 'L', 'E', 'N', 'G', 'T' ),
  castor3d::ChunkType::eSkeletonAnimation = MAKE_CHUNK_ID( 'S', 'K', 'E', 'L', 'A', 'N', 'I', 'M' ), castor3d::ChunkType::eMeshAnimation = MAKE_CHUNK_ID( 'M', 'E', 'S', 'H', 'A', 'N', 'I', 'M' ), castor3d::ChunkType::eAnimInterpolator = MAKE_CHUNK_ID( 'A', 'N', 'M', 'I', 'N', 'T', 'E', 'R' ), castor3d::ChunkType::eAnimationObject = MAKE_CHUNK_ID( 'A', 'N', 'S', 'K', 'O', 'B', 'J', 'T' ),
  castor3d::ChunkType::eSkeletonAnimationNode = MAKE_CHUNK_ID( 'A', 'N', 'S', 'K', 'N', 'O', 'D', 'E' ), castor3d::ChunkType::eSkeletonAnimationBone = MAKE_CHUNK_ID( 'A', 'N', 'S', 'K', 'B', 'O', 'N', 'E' ), castor3d::ChunkType::eMovingTransform = MAKE_CHUNK_ID( 'M', 'V', 'N', 'G', 'T', 'S', 'F', 'M' ), castor3d::ChunkType::eKeyframeCount = MAKE_CHUNK_ID( 'K', 'F', 'R', 'M', 'C', 'O', 'N', 'T' ),
  castor3d::ChunkType::eKeyframes = MAKE_CHUNK_ID( 'K', 'E', 'Y', 'F', 'R', 'M', 'E', 'S' ), castor3d::ChunkType::eBonesComponent = MAKE_CHUNK_ID( 'B', 'O', 'N', 'E', 'C', 'O', 'M', 'P' ), castor3d::ChunkType::eMeshAnimationKeyFrame = MAKE_CHUNK_ID( 'M', 'S', 'A', 'N', 'K', 'F', 'R', 'M' ), castor3d::ChunkType::eMeshAnimationKeyFrameTime = MAKE_CHUNK_ID( 'M', 'S', 'A', 'N', 'K', 'F', 'T', 'M' ),
  castor3d::ChunkType::eMeshAnimationKeyFrameSubmeshID = MAKE_CHUNK_ID( 'M', 'S', 'A', 'N', 'K', 'F', 'I', 'D' ), castor3d::ChunkType::eMeshAnimationKeyFrameBufferSize = MAKE_CHUNK_ID( 'M', 'H', 'A', 'N', 'K', 'F', 'S', 'Z' ), castor3d::ChunkType::eMeshAnimationKeyFrameBufferData = MAKE_CHUNK_ID( 'M', 'H', 'A', 'N', 'K', 'F', 'D', 'T' ), castor3d::ChunkType::eSkeletonAnimationKeyFrame = MAKE_CHUNK_ID( 'S', 'K', 'A', 'N', 'K', 'F', 'R', 'M' ),
  castor3d::ChunkType::eSkeletonAnimationKeyFrameTime = MAKE_CHUNK_ID( 'S', 'K', 'A', 'N', 'K', 'F', 'T', 'M' ), castor3d::ChunkType::eSkeletonAnimationKeyFrameObjectType = MAKE_CHUNK_ID( 'S', 'K', 'A', 'N', 'K', 'F', 'O', 'Y' ), castor3d::ChunkType::eSkeletonAnimationKeyFrameObjectName = MAKE_CHUNK_ID( 'S', 'K', 'A', 'N', 'K', 'F', 'O', 'N' ), castor3d::ChunkType::eSkeletonAnimationKeyFrameObjectTransform = MAKE_CHUNK_ID( 'S', 'K', 'A', 'N', 'K', 'F', 'O', 'T' )
}
 Enumération des types de chunks de données binaires. Plus de détails...
 

Fonctions

static void castor3d::prepareChunkData (ChunkType &p_value)
 Met la valeur donnée en big endian. Plus de détails...
 

Variables

uint32_t const castor3d::CMSH_VERSION = MAKE_CMSH_VERSION( 0x01, 0x03, 0x0000 )
 

Documentation des macros

◆ CMSH_VERSION_MAJOR

#define CMSH_VERSION_MAJOR (   version)    ( uint32_t( version ) >> 24 )

Macro pour créer le numéro majeur depuis un numéro de version.

Référencé par castor3d::BinaryParserBase< Skeleton >::doParseHeader().

◆ CMSH_VERSION_MINOR

#define CMSH_VERSION_MINOR (   version)    ( ( uint32_t( version ) >> 16 ) & uint32_t( 0xFF ) )

Macro pour créer le numéro mineur depuis un numéro de version.

Référencé par castor3d::BinaryParserBase< Skeleton >::doParseHeader().

◆ CMSH_VERSION_REVISION

#define CMSH_VERSION_REVISION (   version)    ( ( uint32_t( version ) >> 0 ) & uint32_t( 0xFF ) )

Macro pour créer le numéro de révision depuis un numéro de version.

Référencé par castor3d::BinaryParserBase< Skeleton >::doParseHeader().

◆ MAKE_CHUNK_ID

#define MAKE_CHUNK_ID (   a,
  b,
  c,
  d,
  e,
  f,
  g,
 
)
Valeur :
((uint64_t( a ) << 56)\
| (uint64_t( b ) << 48)\
| (uint64_t( c ) << 40)\
| (uint64_t( d ) << 32)\
| (uint64_t( e ) << 24)\
| (uint64_t( f ) << 16)\
| (uint64_t( g ) << 8)\
| (uint64_t( h ) << 0))

Un define pour faciliter la déclaration d'un id de chunk.

◆ MAKE_CMSH_VERSION

#define MAKE_CMSH_VERSION (   maj,
  min,
  rev 
)
Valeur :
( ( uint32_t( maj ) << 24 ) \
| ( uint32_t( min ) << 16 ) \
| ( uint32_t( rev ) << 0 ) )

Macro pour créer un numéro de version.