27 #include <Inventor/SbBasic.h>
35 #include <Inventor/SbDict.h>
36 #endif // COIN_INTERNAL
46 template <
class Type>
class SbList;
52 typedef void * (*instantiationMethod)(void);
55 SbName getName(
void)
const;
56 const SoType getParent(
void)
const;
57 SbBool isDerivedFrom(
const SoType type)
const;
61 SbBool canCreateInstance(
void)
const;
62 void * createInstance(
void)
const;
64 uint16_t getData(
void)
const;
65 int16_t getKey(
void)
const;
67 SbBool operator == (
const SoType type)
const;
68 SbBool operator != (
const SoType type)
const;
70 SbBool operator < (
const SoType type)
const;
71 SbBool operator <= (
const SoType type)
const;
72 SbBool operator >= (
const SoType type)
const;
73 SbBool operator > (
const SoType type)
const;
76 const instantiationMethod method = NULL,
77 const uint16_t data = 0);
79 static const SoType overrideType(
const SoType originalType,
80 const instantiationMethod method = NULL);
82 static SbBool removeType(
const SbName & name);
84 static void init(
void);
86 static SoType fromKey(uint16_t key);
87 static SoType badType(
void);
88 SbBool isBad(
void)
const;
90 void makeInternal(
void);
91 SbBool isInternal(
void)
const;
93 static int getNumTypes(
void);
95 instantiationMethod getInstantiationMethod(
void)
const;
98 static void clean(
void);
152 return (this->index == 0);
155 #endif // !COIN_SOTYPE_H