Om
1.0.0
A universal framework for multimedia simulation
|
A class that specifies functions that determine how an resource type should be encoded/decoded. More...
#include <omResourceSetTypeTranscoder.h>
Public Member Functions | |
virtual | ~ResourceSetTypeTranscoder () |
Destroy the resource type transcoder, releasing internal resources. More... | |
const ResourceType & | getResourceType () const |
Return the resource type for the data type that this resource type handles. More... | |
virtual Bool | encode (const ResourceID &resourceID, const DataType &data, const ResourceSet &resources, ResourceEncoder &encoder, ResourceManager *resourceManager=((void *) 0))=0 |
Encode an object of this resource type into a binary format. More... | |
virtual DataType * | decode (ResourceID &resourceID, ResourceDecoder &decoder, ResourceReferencePatcher &references, ResourceManager *resourceManager=((void *) 0))=0 |
Decode an object of the resource type, constructing and returning a pointer to the final object. More... | |
virtual void | patchReferences (const ResourceReference *references, Size numReferences, const ResourceSet &resources, DataType &data) |
Patch the specified array of references for a previously-decoded object from the given set of resources. More... | |
virtual void | finalize (DataType &data) |
Finish loading an object and perform final initialization after all references have been patched. More... | |
virtual DataType * | instance (const DataType &data, const ResourceSetTranscoder &transcoder, ResourceSet &resources) const |
Duplicate an object from a prototype and return a pointer to the new object. More... | |
virtual void | replaceInstances (DataType &data, const Prototype &prototype, const Prototype &instance, const ResourceSetTranscoder &transcoder, ResourceSet &resources) const |
Replace child object instances on a new prototype component. More... | |
virtual Bool | findInstances (const DataType &data, const Prototype &prototype, const Prototype &instance, const ResourceSetTranscoder &transcoder) const |
Return whether or not any child objects were instanced by a prototype. More... | |
Static Protected Member Functions | |
template<typename InstanceType > | |
static InstanceType * | replaceInstance (InstanceType *data, const Prototype &prototype, const Prototype &instance, const ResourceSetTranscoder &transcoder, ResourceSet &resources) |
static OpaqueResource | replaceInstance (const OpaqueResource &data, const Prototype &prototype, const Prototype &instance, const ResourceSetTranscoder &transcoder, ResourceSet &resources) |
static void * | replaceInstance (void *data, const ResourceType &dataType, const Prototype &prototype, const Prototype &instance, const ResourceSetTranscoder &transcoder, ResourceSet &resources) |
template<typename InstanceType > | |
static Bool | findInstance (InstanceType *data, const Prototype &prototype, const Prototype &instance, const ResourceSetTranscoder &transcoder) |
static Bool | findInstance (const OpaqueResource &data, const Prototype &prototype, const Prototype &instance, const ResourceSetTranscoder &transcoder) |
static Bool | findInstance (void *data, const ResourceType &dataType, const Prototype &prototype, const Prototype &instance, const ResourceSetTranscoder &transcoder) |
A class that specifies functions that determine how an resource type should be encoded/decoded.
|
inlinevirtual |
Destroy the resource type transcoder, releasing internal resources.
|
inline |
Return the resource type for the data type that this resource type handles.
|
pure virtual |
Encode an object of this resource type into a binary format.
Implemented in om::resources::ResourceSetTranscoderTemplate< DataType >, om::resources::ResourceGroupTranscoder, om::resources::PrototypeResourceTranscoder, and om::resources::ResourceTagTranscoder.
|
pure virtual |
Decode an object of the resource type, constructing and returning a pointer to the final object.
Implemented in om::resources::ResourceSetTranscoderTemplate< DataType >, om::resources::ResourceSetTranscoderTemplate< DataType >, om::resources::ResourceSetTranscoderTemplate< DataType >, om::resources::ResourceSetTranscoderTemplate< DataType >, om::resources::ResourceSetTranscoderTemplate< DataType >, om::graphics::resources::IndexBufferResourceTranscoder, om::sound::resources::SoundPluginResourceTranscoder, om::resources::ResourceSetTranscoderTemplate< DataType >, om::resources::ResourceGroupTranscoder, om::resources::PrototypeResourceTranscoder, om::resources::ResourceTagTranscoder, om::graphics::resources::VertexBufferResourceTranscoder, om::graphics::resources::CameraResourceTranscoder, om::graphics::resources::ConstantSetResourceTranscoder, om::graphics::resources::MaterialResourceTranscoder, om::graphics::resources::MeshGroupResourceTranscoder, om::graphics::resources::GraphicsObjectResourceTranscoder, om::graphics::resources::GraphicsSceneResourceTranscoder, om::graphics::resources::ShaderProgramResourceTranscoder, om::graphics::resources::ShaderProgramSourceResourceTranscoder, om::graphics::resources::ShaderSourceResourceTranscoder, om::graphics::resources::GraphicsShapeResourceTranscoder, om::graphics::resources::SkeletonResourceTranscoder, om::graphics::resources::TechniqueResourceTranscoder, om::graphics::resources::TextureResourceTranscoder, om::graphics::resources::TextureSetResourceTranscoder, om::graphics::resources::VertexBufferSetResourceTranscoder, om::graphics::gui::resources::FontResourceTranscoder, om::images::resources::ImageResourceTranscoder, om::physics::resources::ConstraintResourceTranscoder, om::physics::resources::ForceFieldResourceTranscoder, om::physics::resources::ForceResourceTranscoder, om::physics::resources::PhysicsMaterialResourceTranscoder, om::physics::resources::PhysicsObjectResourceTranscoder, om::physics::resources::PhysicsSceneResourceTranscoder, om::physics::resources::PhysicsShapeResourceTranscoder, om::sound::resources::SoundBufferResourceTranscoder, om::sound::resources::DirectionalIRResourceTranscoder, om::sound::resources::MIDIResourceTranscoder, om::sound::resources::SoundResourceTranscoder, om::sound::resources::SoundTrackResourceTranscoder, om::sound::acoustics::resources::SoundListenerResourceTranscoder, om::sound::acoustics::resources::SoundMaterialResourceTranscoder, om::sound::acoustics::resources::MeshGroupResourceTranscoder, om::sound::acoustics::resources::SoundObjectResourceTranscoder, om::sound::acoustics::resources::SoundSceneResourceTranscoder, om::sound::acoustics::resources::SoundShapeResourceTranscoder, and om::sound::acoustics::resources::SoundSourceResourceTranscoder.
|
inlinevirtual |
Patch the specified array of references for a previously-decoded object from the given set of resources.
The default implementation has no effect.
Reimplemented in om::resources::ResourceGroupTranscoder, om::resources::PrototypeResourceTranscoder, and om::resources::ResourceTagTranscoder.
|
inlinevirtual |
Finish loading an object and perform final initialization after all references have been patched.
The default implementation has no effect.
|
inlinevirtual |
Duplicate an object from a prototype and return a pointer to the new object.
The default implementation calls the object's copy constructor.
Reimplemented in om::resources::PrototypeResourceTranscoder.
|
inlinevirtual |
Replace child object instances on a new prototype component.
The default implementation has no effect.
Reimplemented in om::resources::PrototypeResourceTranscoder, om::resources::ResourceGroupTranscoder, and om::resources::ResourceTagTranscoder.
|
inlinevirtual |
Return whether or not any child objects were instanced by a prototype.
The default implementation has no effect and returns FALSE.
Reimplemented in om::resources::PrototypeResourceTranscoder, om::resources::ResourceGroupTranscoder, and om::resources::ResourceTagTranscoder.
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |