00001 /* 00002 * PROPRIETARY INFORMATION. This software is proprietary to 00003 * Side Effects Software Inc., and is not to be reproduced, 00004 * transmitted, or disclosed in any way without written permission. 00005 * 00006 * Produced by: 00007 * Side Effects 00008 * 477 Richmond Street West 00009 * Toronto, Ontario 00010 * Canada M5V 3E7 00011 * 416-504-9876 00012 * 00013 * NAME: IFD base class (C++) 00014 * 00015 * COMMENTS: This class handles output to different renderers 00016 * 00017 */ 00018 00019 #ifndef __IFD_Table_h__ 00020 #define __IFD_Table_h__ 00021 00022 #include "IFD_API.h" 00023 #include <UT/UT_PtrArray.h> 00024 #include <UT/UT_SymbolTable.h> 00025 00026 class IFD_Scene; 00027 class IFD_RenderDefinition; 00028 00029 typedef UT_PtrArray<IFD_RenderDefinition *> IFD_RenderList; 00030 00031 class IFD_API IFD_Table { 00032 public: 00033 IFD_Table(); 00034 ~IFD_Table(); 00035 00036 static IFD_RenderDefinition *find(const char *name); 00037 static void getRenderers(IFD_RenderList &list); 00038 00039 static void reloadDSOs(); 00040 static bool addDefinition(IFD_RenderDefinition *def); 00041 00042 // Find the render definition, create an output driver and render a single 00043 // frame. 00044 static bool doRender(IFD_Scene &scene, 00045 const char *rtype, 00046 fpreal time); 00047 00048 private: 00049 UT_SymbolTable myTable; 00050 }; 00051 00052 #endif
1.5.9