/*************************************************************************/ /* File : CKModelReader.h */ /* Author : Romain Sididris */ /* */ /* Virtools SDK */ /* Copyright (c) Virtools 2001, All Rights Reserved. */ /*************************************************************************/ #ifndef _CKMODELREADER_H_ #define _CKMODELREADER_H_ #include "CKDataReader.h" /*********************************************** Summary: Base class for model readers Remarks: + Only the Load and Save method are used for a model reader See Also:Creation of Model Media Plugins,Creation of Media Plugins,CKDataReader,CKPluginManager::GetModelReader ***********************************************/ class CKModelReader : public CKDataReader { public: void Release() = 0; virtual CK_DATAREADER_FLAGS GetFlags() {return (CK_DATAREADER_FLAGS) (CK_DATAREADER_FILELOAD);} /************************************************ Summary: Loads a model file. Return Value: CK_OK if successful, an error code otherwise Arguments: context: A pointer to the CKContext to use to create objects FileName: Name of the file to load liste: A pointer to a CKObjectArray that will be filled with the loaded objects. LoadFlags: A combination of CK_LOAD_FLAGS See Also:Creation of Model Media Plugins ************************************************/ virtual CKERROR Load(CKContext* context,CKSTRING FileName,CKObjectArray *liste,CKDWORD LoadFlags,CKCharacter *carac=NULL) { return CKERR_NOTIMPLEMENTED; } /************************************************ Summary: Loads a model file from memory. Return Value: CK_OK if successful, an error code otherwise Arguments: context: A pointer to the CKContext to use to create objects iBuffer: pointer on the buffer to parse iSize: size of the buffer to parse liste: A pointer to a CKObjectArray that will be filled with the loaded objects. LoadFlags: A combination of CK_LOAD_FLAGS See Also:Creation of Model Media Plugins ************************************************/ virtual CKERROR Load(CKContext* context,const void* iBuffer, XDWORD iSize,CKObjectArray *liste,CKDWORD LoadFlags,CKCharacter *carac=NULL) { return CKERR_NOTIMPLEMENTED; } /************************************************ Summary: Saves a model file. Return Value: CK_OK if successful, an error code otherwise Arguments: context: A pointer to the CKContext FileName: Name of the file to save liste: A pointer to a CKObjectArray that contains the objects to save See Also:Creation of Model Media Plugins ************************************************/ virtual CKERROR Save(CKContext* context,CKSTRING FileName,CKObjectArray *liste,CKDWORD SaveFlags) { return CKERR_NOTIMPLEMENTED; } /************************************************ Summary: Loads a model file from a stream. Return Value: CK_OK if successful, an error code otherwise Arguments: context: A pointer to the CKContext to use to create objects inStream: reference to a VxStream object liste: A pointer to a CKObjectArray that will be filled with the loaded objects. LoadFlags: A combination of CK_LOAD_FLAGS See Also:VxStream,Creation of Model Media Plugins ************************************************/ virtual CKERROR Load(CKContext* context,VxStream* stream,CKObjectArray *liste,CKDWORD LoadFlags,CKCharacter *carac=NULL) { return CKERR_NOTIMPLEMENTED; } }; #endif