From: Dragan T. <dr...@us...> - 2005-03-07 02:07:04
|
Update of /cvsroot/octaviz/octaviz/Wrapping In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1987/Wrapping Modified Files: vtkWrapOctave.c Log Message: Replaced unsigned int pointer casts with uintptr_t. Fixed 32/64 bit issues. Should work now on AMD64 bit platform. Thanks to Mark Hesselink. Index: vtkWrapOctave.c =================================================================== RCS file: /cvsroot/octaviz/octaviz/Wrapping/vtkWrapOctave.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- vtkWrapOctave.c 1 Mar 2005 02:53:07 -0000 1.3 +++ vtkWrapOctave.c 7 Mar 2005 02:06:54 -0000 1.4 @@ -15,6 +15,7 @@ #include <stdio.h> #include <string.h> +#include <inttypes.h> #include "vtkParse.h" int numberOfWrappedFunctions = 0; @@ -348,7 +349,11 @@ case 109: case 309: fprintf(fp," if ( args(%i).type_id() != vtk_object::static_type_id() ) error_flag = 1;\n",start_arg); - fprintf(fp," else temp%i = reinterpret_cast<%s*>( args(%i).uint32_scalar_value().value() );\n",i,currentFunction->ArgClasses[i],start_arg); +# if __WORDSIZE == 64 + fprintf(fp," else temp%i = reinterpret_cast<%s*>( args(%i).uint64_scalar_value().value() );\n",i,currentFunction->ArgClasses[i],start_arg); +# else + fprintf(fp," else temp%i = reinterpret_cast<%s*>( args(%i).uint32_scalar_value().value() );\n",i,currentFunction->ArgClasses[i],start_arg); +# endif /* FIXME fprintf(fp," retval = octave_value( new vtk_object(temp%i) );\n",MAX_ARGS); fprintf(fp," 309temp%i = (%s *)(vtkTclGetPointerFromObject(argv[%i],(char *) \"%s\",interp,error_flag));\n",i,currentFunction->ArgClasses[i],start_arg, @@ -685,7 +690,11 @@ fprintf(fp," octave_stdout << help_map[args(0).string_value()] << std::endl;\n"); fprintf(fp," return retval;\n }\n\n"); +# if __WORDSIZE == 64 + fprintf(fp," %s *vtk_pointer = reinterpret_cast<%s*>( args(0).uint64_scalar_value().value() );\n",data->ClassName,data->ClassName); +# else fprintf(fp," %s *vtk_pointer = reinterpret_cast<%s*>( args(0).uint32_scalar_value().value() );\n",data->ClassName,data->ClassName); +# endif fprintf(fp," std::string method_name = args(1).string_value();\n"); fprintf(fp," int error_flag;\n"); fprintf(fp," error_flag = 0; error_flag = error_flag;\n\n"); @@ -710,7 +719,11 @@ fprintf(fp," error_flag = 0;\n"); fprintf(fp," vtkOctaveCommand* comm = vtkOctaveCommand::New();\n"); fprintf(fp," comm->SetFunctionName(args(3).string_value().c_str());\n"); +# if __WORDSIZE == 64 + fprintf(fp," vtk_object *vtk_obj = reinterpret_cast<vtk_object*>( args(0).uint64_scalar_value().value() );\n"); +# else fprintf(fp," vtk_object *vtk_obj = reinterpret_cast<vtk_object*>( args(0).uint32_scalar_value().value() );\n"); +# endif fprintf(fp," comm->SetObject( vtk_obj );\n"); fprintf(fp," vtk_pointer->AddObserver(args(2).string_value().c_str(),comm);\n"); fprintf(fp," comm->Delete();\n"); |