From: Dragan T. <dr...@us...> - 2005-03-07 02:07:04
|
Update of /cvsroot/octaviz/octaviz/Common In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1987/Common Modified Files: octaviz.cc octaviz.h vtkInitializeInteractor.cc 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: octaviz.cc =================================================================== RCS file: /cvsroot/octaviz/octaviz/Common/octaviz.cc,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- octaviz.cc 16 Nov 2004 02:21:17 -0000 1.3 +++ octaviz.cc 7 Mar 2005 02:06:53 -0000 1.4 @@ -112,9 +112,9 @@ vtk_pointer ( pointer ) { //std::cout << "Creating.\n" << std::flush; - std::map<unsigned int, int>& reference_count = get_reference_map(); + std::map<uintptr_t, int>& reference_count = get_reference_map(); - unsigned int key = reinterpret_cast<unsigned int>( pointer ); + uintptr_t key = reinterpret_cast<uintptr_t>( pointer ); if ( belongs_to_octave ) { @@ -124,7 +124,7 @@ { error("Panic: creating vtk object that already exists!\n"); } - reference_count[key] = 1; + reference_count[key] = 1; return; } @@ -147,9 +147,9 @@ vtk_pointer (s.vtk_pointer) { //std::cout << "Creating copy.\n" << std::flush; - std::map<unsigned int, int>& reference_count = get_reference_map(); + std::map<uintptr_t, int>& reference_count = get_reference_map(); - unsigned int key = reinterpret_cast<unsigned int>( vtk_pointer ); + uintptr_t key = reinterpret_cast<uintptr_t>( vtk_pointer ); // If this is a clone than it exists in reference count map if ( reference_count.find(key) == reference_count.end() ) return; @@ -161,8 +161,8 @@ vtk_object::~vtk_object (void) { //std::cout << "Destroying.\n" << std::flush; - std::map<unsigned int, int>& reference_count = get_reference_map(); - unsigned int key = reinterpret_cast<unsigned int>( vtk_pointer ); + std::map<uintptr_t, int>& reference_count = get_reference_map(); + uintptr_t key = reinterpret_cast<uintptr_t>( vtk_pointer ); // Check if the pointer is reference counted. if ( reference_count.find(key) == reference_count.end() ) return; @@ -182,6 +182,17 @@ { return reinterpret_cast<unsigned int>(vtk_pointer); } + +octave_uint64 vtk_object::uint64_scalar_value (void) const +{ + return reinterpret_cast<octave_uint64_t>(vtk_pointer); +} + +octave_uint32 vtk_object::uint32_scalar_value (void) const +{ + return reinterpret_cast<octave_uint32_t>(vtk_pointer); +} + bool vtk_object::is_defined (void) const { @@ -306,17 +317,17 @@ } -std::map<unsigned int, int>& vtk_object::get_reference_map() +std::map<uintptr_t, int>& vtk_object::get_reference_map() { - static std::map<unsigned int, int> reference_count; + static std::map<uintptr_t, int> reference_count; return reference_count; } void vtk_object::print_ref_table() { octave_stdout << "vtk_object::print_ref_table\n" << std::flush; - std::map<unsigned int, int>& reference_count = get_reference_map(); - std::map<unsigned int, int>:: iterator i; + std::map<uintptr_t, int>& reference_count = get_reference_map(); + std::map<uintptr_t, int>:: iterator i; for ( i = reference_count.begin(); i != reference_count.end(); i++ ) { octave_stdout << std::hex << (*i).first << ":" << (*i).second << std::endl; Index: vtkInitializeInteractor.cc =================================================================== RCS file: /cvsroot/octaviz/octaviz/Common/vtkInitializeInteractor.cc,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- vtkInitializeInteractor.cc 3 Nov 2004 23:51:19 -0000 1.3 +++ vtkInitializeInteractor.cc 7 Mar 2005 02:06:53 -0000 1.4 @@ -75,7 +75,7 @@ vtkXOpenGLRenderWindow* RenderWindow = reinterpret_cast<vtkXOpenGLRenderWindow*>(CurrentInteractor->GetRenderWindow()); Widget widg = CurrentInteractor->GetWidget(); Atom wm_delete_window = XInternAtom(XtDisplay(widg), "WM_DELETE_WINDOW", False); - vtk_delete_window_atoms[wm_delete_window] = reinterpret_cast<unsigned int>(RenderWindow); + vtk_delete_window_atoms[wm_delete_window] = reinterpret_cast<uintptr_t>(RenderWindow); // turn off default delete response XSetWMProtocols(XtDisplay(widg), XtWindow(widg), &wm_delete_window, 1); return retval; Index: octaviz.h =================================================================== RCS file: /cvsroot/octaviz/octaviz/Common/octaviz.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- octaviz.h 24 Oct 2004 02:09:13 -0000 1.2 +++ octaviz.h 7 Mar 2005 02:06:53 -0000 1.3 @@ -70,6 +70,11 @@ unsigned int uint_value (bool req_int=false, bool frc_str_conv=false) const; + octave_uint64 uint64_scalar_value (void) const; + + octave_uint32 uint32_scalar_value (void) const; + + bool is_defined (void) const; // since we are a function, we won't see do_index_op @@ -102,7 +107,7 @@ vtkObjectBase* vtk_pointer; - static std::map<unsigned int, int>& get_reference_map(); + static std::map<uintptr_t, int>& get_reference_map(); std::string vtk_class; |