class RED::IChunkSaver
Interface that exposes chunk saving method. More...
#include <REDIChunkSaver.h>
Inherits: IREDObject.
Inherited by: LayerSet, RenderCode, RenderShaderParameter, Shader, UserDataRaw and VolumetricEffect.
Public functions:
virtual RED_RC | Save ( RED::IStream * iStream, RED::StreamingPolicy & iPolicy, int iState = -1 ) const = 0 |
Public static functions:
static RED::CID | GetClassID ( ) |
Detailed description:
Interface that exposes chunk saving method.
When saving a file, objects implementing this interface will automatically be called by the RED::IStream::SaveChunk method to save ourselves to the stream. A corresponding RED::IChunkInterpreterProto implementation should exist in order to reload data saved using this interface.
Functions documentation
public static RED::CID RED::IChunkSaver::GetClassID | ( | ) |
Reimplemented by: RED::LayerSet::GetClassID, RED::RayCutoffShader::GetClassID, RED::RayGIDiffuseShader::GetClassID, RED::RayGIReflectionColorShader::GetClassID, RED::RayGIRefractionColorShader::GetClassID, RED::RayReflectionShader::GetClassID, RED::RayRefractionShader::GetClassID, RED::ReflectionShader::GetClassID, RED::RenderCode::GetClassID, RED::RenderShader::GetClassID, RED::RenderShaderAAFilter::GetClassID, RED::RenderShaderAmbient::GetClassID, RED::RenderShaderAnisotropic::GetClassID, RED::RenderShaderEdges::GetClassID, RED::RenderShaderEnvironmental::GetClassID, RED::RenderShaderLambert::GetClassID, RED::RenderShaderLogo::GetClassID, RED::RenderShaderParameter::GetClassID, RED::RenderShaderPhong::GetClassID, RED::RenderShaderRefractionEffect::GetClassID, RED::RenderShaderSectionCut::GetClassID, RED::RenderShaderSolid::GetClassID, RED::RenderShaderText::GetClassID, RED::RenderShaderVertexColor::GetClassID, RED::RenderShaderViewport::GetClassID, RED::Shader::GetClassID, RED::StateShader::GetClassID, RED::UserDataRaw::GetClassID, RED::VolumetricEffect::GetClassID, RED::VolumetricEffectBoxVolume::GetClassID, RED::VolumetricEffectClouds::GetClassID and RED::VolumetricEffectLightVolume::GetClassID.
public virtual RED_RC RED::IChunkSaver::Save | ( | RED::IStream * | iStream, |
RED::StreamingPolicy & | iPolicy, | ||
int | iState = -1 | ||
) | const = 0 |
Saves the object content as one or more chunks in the given stream.
Parameters:
iStream: | Pointer to the stream where the data must be saved. |
iPolicy: | Reference to the streaming policy to be used. |
iState: | Optional state number parameter at which the data to be saved must be retrieved. Default is set to 0 (for current state). |
Returns:
RED_FILE_WRITE_ERROR on a file write error (if iStream is a file stream),
RED_ALLOC_FAILURE on a memory allocation error,
RED_FAIL otherwise.
Implemented by: RED::LayerSet::Save, RED::RenderCode::Save, RED::RenderShader::Save, RED::RenderShaderParameter::Save, RED::StateShader::Save, RED::UserDataRaw::Save, RED::VolumetricEffectBoxVolume::Save, RED::VolumetricEffectClouds::Save and RED::VolumetricEffectLightVolume::Save.