virtualstd::stringgetClassName();// do not override, implemented using getClassDesc
virtualvoidtoString(std::ostream&ostream,conststd::string&pad="");// do not override, implemented using toStringLocal
//@}
//! \name Inherited functions called through the storage loading and saving system
//@{
/// Override this to read a chunk from the chunks stream. Call the parent's parse function first. Get the necessary chunks implemented by your class using getChunk. See the getChunk function for further information. In case of failure, call disown. If m_ChunksOwnsPointers is true, the parsing has failed, warnings have already been printed, and nothing should happen
virtualvoidparse(uint16version,TParseLevellevel);
virtualvoidparse(uint16version,TParseLevellevel);
/// Override this if the chunks you are using are not needed after they have been parsed. You may delete any chunks you own. Call the parent's clean first. You must call clean on any chunks you own if they implement this function
virtualvoidclean();
virtualvoidclean();
/// Override this to write a chunk to the chunks stream. If you create a new chunk, the creating class owns it, and should delete it when clean is called. You no longer own any created chunks when disown has been called. Use putChunk to add the chunk. Call the parent's build first. The putChunk function calls build on added chunks
virtualvoidbuild(uint16version);
virtualvoidbuild(uint16version);
/// Remove any references to chunks that are owned by the inheriting class (those that were acquired using getChunk during parse or created using putChunk during build). You no longer have ownership over these chunks, and should not use them anymore. This function may be called after build to disable any functionality from the loaded storage. Call the parent's disown after disowning your own chunks. Disown is called on the disowned child chunks for you
virtualvoiddisown();
virtualvoiddisown();
//@}
// static const
//! \name Static const variables for the class description
//@{
staticconstucchar*DisplayName;
staticconstucchar*DisplayName;
staticconstchar*InternalName;
staticconstchar*InternalName;
staticconstNLMISC::CClassIdClassId;
staticconstNLMISC::CClassIdClassId;
staticconstTSClassIdSuperClassId;
staticconstTSClassIdSuperClassId;
//@}
// virtual
//! \name Virtual functionality for inheriting classes to implement
//@{
/// Initialize this class from scratch, call the parent first
virtualvoidinit();
/// Return the class description of the inheriting class
virtualconstISceneClassDesc*getClassDesc();
virtualconstISceneClassDesc*getClassDesc();
/// Create a readable representation of this class
//! \name Methods used by inheriting classes to read and write to the storage safely
//@{
/// Use during parsing. Gets the chunk with specified id. Warnings when chunks are skipped may be elevated to errors. Remaining orphaned chunks will be appended after chunks that are written by the classes. Returns NULL when the chunk does not exist. Empty chunks are often not written by classes. You have ownership over the chunk until it is disowned. In case that the chunk cannot be parsed, call disown and abort parsing. If this function returns NULL it is also possible that the parsing has been aborted when m_ChunksOwnsPointers is true
IStorageObject*getChunk(uint16id);
/// Use during file build. Adds a chunk to the chunks that will be written to the file. Build is called when a chunk is passed through