00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __GEO_IORibExt__
00021 #define __GEO_IORibExt__
00022
00023 #include "GEO_API.h"
00024 #include <string.h>
00025
00026 class UT_OptionFile;
00027
00028 enum {
00029
00030 GEO_RIB_RIPOINT = 0,
00031 GEO_RIB_RICURVE,
00032 GEO_RIB_RINUCURVE,
00033 GEO_RIB_RISUBDIVIDE,
00034 GEO_RIB_RIBLOBBY,
00035
00036
00037 GEO_RIB_PRMAN36_PRIMCLR,
00038
00039
00040 GEO_RIB_PRMAN38_UCURVE,
00041
00042
00043
00044
00045 GEO_RIB_FACEVARYING,
00046
00047 GEO_RIB_MAX_EXTENSIONS
00048 };
00049
00050
00051 class GEO_API GEO_IORibExt {
00052 public:
00053 GEO_IORibExt();
00054 ~GEO_IORibExt();
00055
00056 void setRenderer(const char *renderer, int major, int minor);
00057
00058 int hasExtension(int ext)
00059 {
00060 if (ext < 0 || ext >= GEO_RIB_MAX_EXTENSIONS)
00061 return 0;
00062 return myExtensions[ext];
00063 }
00064
00065 private:
00066 void initExtensions(const UT_OptionFile &options);
00067 char myExtensions[GEO_RIB_MAX_EXTENSIONS];
00068 };
00069
00070 #endif
00071