Description
This is the base class from which all other extension classes derive. This class has some common functions that should be implemented in some cases.
class CbaseExtension { MXparamList *priv; public: CbaseExtension(); CbaseExtension( const CbaseExtension &orig ); void internalCreation (); void setPrivateExtensionData( MXparamList* pL ) const; virtual ~CbaseExtension(); virtual CbaseExtension* clone() const = 0; virtual const char* getName() const = 0; virtual const unsigned int getVersion() const = 0; virtual void setExtensionData( MXparamList* p ) const = 0; //User Implemented Optional Methods virtual void getFileDependencies( dword& numDependencies, char** &paths ) { numDependencies = 0; }; virtual void handleEvent( const char* event , void* param ) {}; virtual bool initializeForRendering( Cmaxwell* pMaxwell ) = 0; virtual void cleanup( Cmaxwell* pMaxwell ) {}; virtual bool initializePreview( Cmaxwell* pMaxwell ) { return ( true ); } virtual void freePreview( void ) { } //Interface Methods MXparamList* getExtensionData( void ) const; void setEnabled( const bool enable ); bool isEnabled( void ) const; };
For example, getFileDependencies is useful when the extension depends on one or more files. Studio calls this function when doing a "Pack & Go" to retrieve and copy all the dependencies of a given scene. Mxnetwork also calls this function to check all the dependencies of a scene before sending it to the render nodes.
Parametername
bla bla