00001 #ifndef X3DTK_CREATIONFUNCTION_H 00002 #define X3DTK_CREATIONFUNCTION_H 00003 00004 #include "X3DTypes.h" 00005 #include "X3DFunction.h" 00006 #include "X3D_SceneGraphTypes.h" 00007 00008 namespace X3DTK { 00009 00016 typedef X3DAbstractNode *(* ptrToCreationFunction)(); 00017 00024 class CreationFunction : public X3DFunction 00025 { 00026 public: 00028 CreationFunction(const ptrToCreationFunction create); 00030 ~CreationFunction(); 00031 00033 inline X3DAbstractNode *create() const {return (*_ptr2function)();}; 00034 00035 private: 00037 const ptrToCreationFunction _ptr2function; 00038 }; 00039 00040 } 00041 00042 #endif