Murl Engine API  Version 2018.3
Murl::Util::IffChunk Class Reference

The Interchange File Format chunk format structure. More...

#include <murl_util_iff.h>

Detailed Description

The Interchange File Format chunk format structure.

Inheritance diagram for Murl::Util::IffChunk:
Murl::Resource::IAnimation::Iff::ClipChunk Murl::Resource::IAnimation::Iff::CubicBezierParameterSetsChunk Murl::Resource::IAnimation::Iff::EulerRotationOrderChunk Murl::Resource::IAnimation::Iff::HeaderChunk Murl::Resource::IAnimation::Iff::IndexedKeysChunk Murl::Resource::IAnimation::Iff::SingleKeysChunk Murl::Resource::IArchive::Iff::HeaderChunk Murl::Resource::IAtlas::Iff::HeaderChunk Murl::Resource::IAtlas::Iff::RectanglesChunk Murl::Resource::IAudio::Iff::DataChunk Murl::Resource::IAudio::Iff::HeaderChunk Murl::Resource::IDictionary::Iff::HeaderChunk Murl::Resource::IDictionary::Iff::TextChunk Murl::Resource::IFont::Iff::GlyphsChunk Murl::Resource::IFont::Iff::HeaderChunk Murl::Resource::IFont::Iff::KerningChunk Murl::Resource::IFont::Iff::OutlineChunk Murl::Resource::IGraph::Iff::AttributesChunk Murl::Resource::IGraph::Iff::HeaderChunk Murl::Resource::IGraph::Iff::NodesChunk Murl::Resource::IGraph::Iff::StringsChunk Murl::Resource::IImage::Iff::HeaderChunk Murl::Resource::IImage::Iff::MipLevelChunk Murl::Resource::IImage::Iff::StreamChunk Murl::Resource::IMesh::Iff::AdjacentIndicesChunk Murl::Resource::IMesh::Iff::AdjacentVerticesChunk Murl::Resource::IMesh::Iff::BoundingLeavesChunk Murl::Resource::IMesh::Iff::BoundingNodesChunk Murl::Resource::IMesh::Iff::BoundingVerticesChunk Murl::Resource::IMesh::Iff::BspFacesChunk Murl::Resource::IMesh::Iff::BspLeavesChunk Murl::Resource::IMesh::Iff::BspNodesChunk Murl::Resource::IMesh::Iff::BspPlanesChunk Murl::Resource::IMesh::Iff::BspPvsChunk Murl::Resource::IMesh::Iff::BspSegmentsChunk Murl::Resource::IMesh::Iff::CollisionSurfaceChunk Murl::Resource::IMesh::Iff::HeaderChunk Murl::Resource::IMesh::Iff::IndexBufferChunk Murl::Resource::IMesh::Iff::IndexSegmentsChunk Murl::Resource::IMesh::Iff::MorphAttributeChunk Murl::Resource::IMesh::Iff::MorphBufferChunk Murl::Resource::IMesh::Iff::VertexAttributeChunk Murl::Resource::IMesh::Iff::VertexBufferChunk Murl::Resource::IPackage::Iff::HeaderChunk Murl::Resource::IPackage::Iff::ObjectChunk Murl::Resource::IPackage::Iff::ObjectReferenceChunk Murl::Resource::IPackage::Iff::PackageChunk Murl::Resource::IPackage::Iff::PackageReferenceChunk Murl::Resource::IPackage::Iff::StringChunk Murl::Resource::IPackage::Iff::TextChunk Murl::Resource::IScript::Iff::HeaderChunk Murl::Resource::IShader::Iff::AttributeChunk Murl::Resource::IShader::Iff::CodeChunk Murl::Resource::IShader::Iff::ConstantBufferChunk Murl::Resource::IShader::Iff::ConstantChunk Murl::Resource::IShader::Iff::DataChunk Murl::Resource::IShader::Iff::HeaderChunk Murl::Resource::IShader::Iff::PrefixChunk Murl::Resource::IShader::Iff::TextureChunk Murl::Resource::IShader::Iff::UniformChunk Murl::Resource::IShader::Iff::VaryingChunk Murl::Resource::IVideo::Iff::DataChunk Murl::Resource::IVideo::Iff::HeaderChunk

Public Member Functions

template<class DataType >
DataType * IffOffset (UInt32 byteOffset) const
 Get a typed pointer from an offset relative to the chunk. More...
 
void SetFourCC (UInt32 fourCC)
 Set the chunk identifier. More...
 
UInt32 GetFourCC () const
 Get the chunk identifier. More...
 
void SetChunkSize (UInt32 size)
 Set the chunk size. More...
 
UInt32 GetChunkSize () const
 Get the chunk size. More...
 
UInt32 GetRawSize () const
 Get the chunk size minus sizeof(IffChunk). More...
 

Protected Attributes

UInt32 mFourCC
 The FourCC chunk identifier. More...
 
UInt32 mSize
 The size of this chunk minus sizeof(IffChunk). More...
 

Member Function Documentation

◆ IffOffset()

template<class DataType >
DataType* Murl::Util::IffChunk::IffOffset ( UInt32  byteOffset) const
inline

Get a typed pointer from an offset relative to the chunk.

Returns the address of the chunk + offset + sizeof(IffChunk).

Parameters
byteOffsetThe byte offset.
Returns
The typed pointer or null if the offset is greater than the chunk size.

◆ SetFourCC()

void Murl::Util::IffChunk::SetFourCC ( UInt32  fourCC)
inline

Set the chunk identifier.

This method takes care of the system's byte ordering.

Parameters
fourCCThe FourCC chunk identifier.

◆ GetFourCC()

UInt32 Murl::Util::IffChunk::GetFourCC ( ) const
inline

Get the chunk identifier.

This method takes care of the system's byte ordering.

Returns
The FourCC chunk identifier.

◆ SetChunkSize()

void Murl::Util::IffChunk::SetChunkSize ( UInt32  size)
inline

Set the chunk size.

This method takes care of the iff size format.

Parameters
sizeThe byte size of the chunk.

◆ GetChunkSize()

UInt32 Murl::Util::IffChunk::GetChunkSize ( ) const
inline

Get the chunk size.

This method takes care of the iff size format.

Returns
The byte size of the chunk.

◆ GetRawSize()

UInt32 Murl::Util::IffChunk::GetRawSize ( ) const
inline

Get the chunk size minus sizeof(IffChunk).

Returns
The byte size of the chunk minus sizeof(IffChunk).

Member Data Documentation

◆ mFourCC

UInt32 Murl::Util::IffChunk::mFourCC
protected

The FourCC chunk identifier.

◆ mSize

UInt32 Murl::Util::IffChunk::mSize
protected

The size of this chunk minus sizeof(IffChunk).


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