00001 #ifndef X3DTK_LEAVEFUNCTION_H 00002 #define X3DTK_LEAVEFUNCTION_H 00003 00004 #include "X3DFunction.h" 00005 #include "X3DTypes.h" 00006 00007 namespace X3DTK { 00008 00009 class X3DComponentVisitor; 00010 00012 typedef void (* ptrToLeaveFunction)(SFNode); 00013 00019 class LeaveFunction : public X3DFunction 00020 { 00021 public: 00023 LeaveFunction(const ptrToLeaveFunction leave); 00025 ~LeaveFunction(); 00026 00028 inline void leave(SFNode N) const {(*_ptr2leave)(N);}; 00029 00030 private: 00031 const ptrToLeaveFunction _ptr2leave; 00032 }; 00033 00034 } 00035 00036 #endif