#include "vtkTclUtil.h" #include "vtkVersion.h" #define VTK_TCL_TO_STRING(x) VTK_TCL_TO_STRING0(x) #define VTK_TCL_TO_STRING0(x) #x extern "C" { #if (TCL_MAJOR_VERSION == 8) && (TCL_MINOR_VERSION >= 4) && (TCL_RELEASE_LEVEL >= TCL_FINAL_RELEASE) typedef int (*vtkTclCommandType)(ClientData, Tcl_Interp *,int, CONST84 char *[]); #else typedef int (*vtkTclCommandType)(ClientData, Tcl_Interp *,int, char *[]); #endif } int vtkHapticCommand(ClientData cd, Tcl_Interp *interp, int argc, char *argv[]); ClientData vtkHapticNewCommand(); int vtkLSWCommand(ClientData cd, Tcl_Interp *interp, int argc, char *argv[]); ClientData vtkLSWNewCommand(); int vtkLSWToolCommand(ClientData cd, Tcl_Interp *interp, int argc, char *argv[]); ClientData vtkLSWToolNewCommand(); extern Tcl_HashTable vtkInstanceLookup; extern Tcl_HashTable vtkPointerLookup; extern Tcl_HashTable vtkCommandLookup; extern void vtkTclDeleteObjectFromHash(void *); extern void vtkTclListInstances(Tcl_Interp *interp, ClientData arg); extern "C" {int VTK_EXPORT Vtkhapticstcl_SafeInit(Tcl_Interp *interp);} extern "C" {int VTK_EXPORT Vtkhapticstcl_Init(Tcl_Interp *interp);} extern void vtkTclGenericDeleteObject(ClientData cd); int VTK_EXPORT Vtkhapticstcl_SafeInit(Tcl_Interp *interp) { return Vtkhapticstcl_Init(interp); } int VTK_EXPORT Vtkhapticstcl_Init(Tcl_Interp *interp) { vtkTclCreateNew(interp,(char *) "vtkHaptic", vtkHapticNewCommand, vtkHapticCommand); vtkTclCreateNew(interp,(char *) "vtkLSW", vtkLSWNewCommand, vtkLSWCommand); vtkTclCreateNew(interp,(char *) "vtkLSWTool", vtkLSWToolNewCommand, vtkLSWToolCommand); char pkgName[]="vtkHapticsTCL"; char pkgVers[]=VTK_TCL_TO_STRING(VTK_MAJOR_VERSION) "." VTK_TCL_TO_STRING(VTK_MINOR_VERSION); Tcl_PkgProvide(interp, pkgName, pkgVers); return TCL_OK; }