00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 namespace VRUT
00013 {
00015 enum JSMEM_TYPE {
00016 JSMEM_INT = 1,
00017 JSMEM_FLOAT,
00018 JSMEM_MATRIX,
00019 JSMEM_NULL
00020 };
00021
00022 struct JSMemoryStruct
00023 {
00024 JSMEM_TYPE type;
00025 const char *name;
00026 size_t size;
00027 };
00028 }
00029
00030 static JSMemoryStruct memoryTypes[] = {
00031 {JSMEM_INT, "INT", sizeof (int)},
00032 {JSMEM_FLOAT, "FLOAT", sizeof (float)},
00033 {JSMEM_MATRIX, "MATRIX", sizeof (MATRIX)}
00034 };
00035
00036
00037 #define JSMEM_TYPES_COUNT (sizeof (memoryTypes) / sizeof (JSMemoryStruct))
00038
00039 #define IS_JSMEM_TYPE(_type) (_type > 0 && unsigned(_type) <= JSMEM_TYPES_COUNT)
00040
00041 static JSMemoryStruct *getMemoryType(int type)
00042 {
00043 JSMEM_TYPE mType = JSMEM_TYPE(type);
00044 for (unsigned i = 0; i < JSMEM_TYPES_COUNT; i++)
00045 {
00046 if (mType == memoryTypes[i].type)
00047 return &memoryTypes[i];
00048 }
00049 return NULL;
00050 }