[Insight-users] Build error with SNAP in InsightApplications-2.8.1
Martin M Connell
mconnel1 at staffmail.ed.ac.uk
Tue Sep 19 04:56:19 EDT 2006
Replacing
typedef void (*TessCallback)();
by
typedef GLvoid (*TessCallback)(...);
in line 25 of the file PolygonScanConvert.cxx
solves the problem.
Thank you for your help.
Martin
>
> Hi Martin,
>
>
> You may also want to try replacing the declaration:
>
> typedef GLvoid (*TessCallback)();
>
> with
>
> typedef GLvoid (*TessCallback)(...);
>
>
> Which is what your local OpenGL headers seems to be
> expecting. That is, having an arbitrary number of
> arguments in the callback function.
>
>
> Please let us know if it works
>
>
>
> Thanks
>
>
> Luis
>
>
> --------------------------
> Martin M Connell wrote:
>> The same type of error is reported with the different cast for the
>> modification
>> typedef GLvoid (*TessCallback)();
>> in line 25 of the file PolygonScanConvert.cxx.
>>
>> Removing all code from line 33 to 138 in
>> void
>> PolygonScanConvertBase
>> ::RasterizeFilled(double *vArray, unsigned int nVertices,
>> unsigned int width, unsigned int height, GLenum glType, void *buffer)
>> allows compilation to proceed. Viewing of the surface using update mesh
>> appears still to be normal.
>>
>> Other SNAP users may be interested that it is possible to output a
>> 3D model of
>> the surface (for CFD or rapid prototyping) when the mesh is updated
>> using code similar to the following modifications:
>>
>> diff Logic/Mesh/VTKMeshPipeline.cxx.orig Logic/Mesh/VTKMeshPipeline.cxx
>> 78a79
>>
>>> m_STLWriter = vtkSTLWriter::New();
>>
>> 127a129
>>
>>> m_STLWriter->Delete();
>>
>> 283a286
>>
>>> m_STLWriter->SetInput(pipePolyTail );
>>
>> 306a310,315
>>
>>> char STLfilename[160];
>>> strcpy(STLfilename,"model.stl");
>>> m_STLWriter->SetFileName(STLfilename);
>>> m_STLWriter->Update();
>>> m_STLWriter->Write();
>>>
>>
>> diff Logic/Mesh/VTKMeshPipeline.h.orig Logic/Mesh/VTKMeshPipeline.h
>> 37a38
>>
>>> #include <vtkSTLWriter.h>
>>
>> 116c117
>> <
>> ---
>>
>>> vtkSTLWriter *m_STLWriter;
>>
>> ***********************************************************************
>> Errors reported for suggested modification in line 25 of the file
>> PolygonScanConvert.cxx:
>> Building CXX object
>> SNAP/CMakeFiles/itksnapui.dir/UserInterface/SliceWindow/PolygonScanConvert.o /image6/itk/InsightApplications-2.8.1/SNAP/UserInterface/SliceWindow/PolygonScanConvert.cxx:
>> In
>> static member function `static void
>> PolygonScanConvertBase::RasterizeFilled(double*, unsigned int,
>> unsigned int,
>> unsigned int, unsigned int, void*)':
>> /image6/itk/InsightApplications-2.8.1/SNAP/UserInterface/SliceWindow/PolygonScanConvert.cxx:49: error:
>> invalid
>> conversion from `GLvoid (*)()' to `GLvoid (*)(...)'
>> /image6/itk/InsightApplications-2.8.1/SNAP/UserInterface/SliceWindow/PolygonScanConvert.cxx:50: error:
>> invalid
>> conversion from `GLvoid (*)()' to `GLvoid (*)(...)'
>> /image6/itk/InsightApplications-2.8.1/SNAP/UserInterface/SliceWindow/PolygonScanConvert.cxx:51: error:
>> invalid
>> conversion from `GLvoid (*)()' to `GLvoid (*)(...)'
>> /image6/itk/InsightApplications-2.8.1/SNAP/UserInterface/SliceWindow/PolygonScanConvert.cxx:53: error:
>> invalid
>> conversion from `GLvoid (*)()' to `GLvoid (*)(...)'
>> /image6/itk/InsightApplications-2.8.1/SNAP/UserInterface/SliceWindow/PolygonScanConvert.cxx:55: error:
>> invalid
>> conversion from `GLvoid (*)()' to `GLvoid (*)(...)'
>> *** Error code 1
>> The following command caused the error:
>> /usr/local/bin/c++ -ftemplate-depth-50 -D_PTHREADS
>> -Wno-deprecated -I/image6/itk/InsightApplications-2.8.1/SNAP
>> -I/image6/itk/InsightToolkit-2.8.1/Utilities/gdcm/src
>> -I/image6/itk/InsightToolkit-2.8.1/bin/Utilities/gdcm
>> -I/image6/itk/InsightToolkit-2.8.1/bin/Utilities/vxl/core
>> -I/image6/itk/InsightToolkit-2.8.1/bin/Utilities/vxl/vcl
>> -I/image6/itk/InsightToolkit-2.8.1/Utilities/vxl/core
>> -I/image6/itk/InsightToolkit-2.8.1/Utilities/vxl/vcl
>> -I/image6/itk/InsightToolkit-2.8.1/Utilities
>> -I/image6/itk/InsightToolkit-2.8.1/bin/Utilities
>> -I/image6/itk/InsightToolkit-2.8.1/Utilities/nifti/znzlib
>> -I/image6/itk/InsightToolkit-2.8.1/Utilities/nifti/niftilib
>> -I/image6/itk/InsightToolkit-2.8.1/Utilities/expat
>> -I/image6/itk/InsightToolkit-2.8.1/bin/Utilities/expat
>> -I/image6/itk/InsightToolkit-2.8.1/bin/Utilities/DICOMParser
>> -I/image6/itk/InsightToolkit-2.8.1/Utilities/DICOMParser
>> -I/image6/itk/InsightToolkit-2.8.1/Utilities/NrrdIO
>> -I/image6/itk/InsightToolkit-2.8.1/Utilities/MetaIO
>> -I/image6/itk/InsightToolkit-2.8.1/Code/SpatialObject
>> -I/image6/itk/InsightToolkit-2.8.1/Code/Numerics/NeuralNetworks
>> -I/image6/itk/InsightToolkit-2.8.1/Code/Numerics/Statistics
>> -I/image6/itk/InsightToolkit-2.8.1/Code/Numerics/FEM
>> -I/image6/itk/InsightToolkit-2.8.1/Code/IO
>> -I/image6/itk/InsightToolkit-2.8.1/Code/Numerics
>> -I/image6/itk/InsightToolkit-2.8.1/Code/Common
>> -I/image6/itk/InsightToolkit-2.8.1/Code/BasicFilters
>> -I/image6/itk/InsightToolkit-2.8.1/Code/Algorithms
>> -I/image6/itk/InsightToolkit-2.8.1/bin -I/image6/itk/vtk44/VTK
>> -I/image6/itk/vtk44/VTK/Hybrid -I/image6/itk/vtk44/VTK/Patented
>> -I/image6/itk/vtk44/VTK/Rendering -I/image6/itk/vtk44/VTK/IO
>> -I/image6/itk/vtk44/VTK/Imaging -I/image6/itk/vtk44/VTK/Graphics
>> -I/image6/itk/vtk44/VTK/Filtering -I/image6/itk/vtk44/VTK/Common
>> -I/image6/itk/vtk44/VTK/Common/Testing/Cxx
>> -I/image6/itk/vtk44/VTK/Utilities/zlib
>> -I/image6/itk/vtk44/VTK/Utilities/jpeg
>> -I/image6/itk/vtk44/VTK/Utilities/png
>> -I/image6/itk/vtk44/VTK/Utilities/tiff
>> -I/image6/itk/vtk44/VTK/Utilities/expat
>> -I/image6/itk/vtk44/VTK/Utilities/DICOMParser
>> -I/usr/utils/tktcl/tcl8.3.4/include
>> -I/usr/utils/tktcl/tk8.3.4/include -I/image6/itk/fltk-1.1.6
>> -I/image6/itk/InsightToolkit-2.8.1/bin/Utilities/zlib
>> -I/image6/itk/InsightApplications-2.8.1/SNAP/Common
>> -I/image6/itk/InsightApplications-2.8.1/SNAP/Common/ITKExtras
>> -I/image6/itk/InsightApplications-2.8.1/SNAP/Logic
>> -I/image6/itk/InsightApplications-2.8.1/SNAP/Logic/Common
>> -I/image6/itk/InsightApplications-2.8.1/SNAP/Logic/Framework
>> -I/image6/itk/InsightApplications-2.8.1/SNAP/Logic/ImageWrapper
>> -I/image6/itk/InsightApplications-2.8.1/SNAP/Logic/LevelSet
>> -I/image6/itk/InsightApplications-2.8.1/SNAP/Logic/Mesh
>> -I/image6/itk/InsightApplications-2.8.1/SNAP/Logic/Preprocessing
>> -I/image6/itk/InsightApplications-2.8.1/SNAP/Logic/Slicing
>> -I/image6/itk/InsightApplications-2.8.1/SNAP/Testing
>> -I/image6/itk/InsightApplications-2.8.1/SNAP/UserInterface/BasicComponents
>> -I/image6/itk/InsightApplications-2.8.1/SNAP/UserInterface/Common
>> -I/image6/itk/InsightApplications-2.8.1/SNAP/UserInterface/ImageIOWizard
>> -I/image6/itk/InsightApplications-2.8.1/SNAP/UserInterface/MainComponents
>> -I/image6/itk/InsightApplications-2.8.1/SNAP/UserInterface/MainComponents/Artwork -I/image6/itk/InsightApplications-2.8.1/SNAP/UserInterface/SliceWindow -I/image6/itk/InsightApplications-2.8.1/SNAP/UserInterface/Window3D -o SNAP/CMakeFiles/itksnapui.dir/UserInterface/SliceWindow/PolygonScanConvert.o -c
>> /image6/itk/InsightApplications-2.8.1/SNAP/UserInterface/SliceWindow/PolygonScanConvert.cxx
>>> Hi Martin,
>>>
>>>
>>> Please try the following:
>>>
>>>
>>> Change the declaration of TessCallback in
>>> line 25 of the file PolygonScanConvert.cxx
>>> to be:
>>>
>>> typedef GLvoid (*TessCallback)();
>>>
>>> instead of the current:
>>>
>>> typedef void (*TessCallback)();
>>>
>>>
>>>
>>> Please let us know if that works,
>>>
>>>
>>> Thanks
>>>
>>>
>>> Luis
>>>
>>>
>>>
>>> =======================
>>> Martin M Connell wrote:
>>>
>>>> I have found SNAP to be an interesting application and have
>>>> modified a previous
>>>> version (2.0.0) to store the 3d surface as an STL file using
>>>> STLWriter in VTK.
>>>> The following error is generated when trying to compile the SNAP
>>>> application
>>>> in InsightApplications-2.8.1.
>>>> The compiler is gcc version 3.3.2 with fltk-1.1.6 and VTK4.4 on Solaris 8.
>>>> I have tried casting (gluTessCallback(tess,(GLenum)
>>>> GLU_TESS_VERTEX, (GLvoid(*)(void)) glVertex3dv) ) without success.
>>>> Can anyone suggest a solution to this problem?
>>>>
>>>> Martin Connell
>>>> ******************************************************************************* Building CXX
>>>> object
>>>> SNAP/CMakeFiles/itksnapui.dir/UserInterface/SliceWindow/PolygonScanConvert.o /image6/itk/InsightApplications-2.8.1/SNAP/UserInterface/SliceWindow/PolygonScanConvert.cxx:
>>>> In
>>>> static member function `static void
>>>> PolygonScanConvertBase::RasterizeFilled(double*, unsigned int,
>>>> unsigned int,
>>>> unsigned int, unsigned int, void*)':
>>>> /image6/itk/InsightApplications-2.8.1/SNAP/UserInterface/SliceWindow/PolygonScanConvert.cxx:49:
>>>> error:
>>>> invalid
>>>> conversion from `void (*)()' to `GLvoid (*)(...)'
>>>> /image6/itk/InsightApplications-2.8.1/SNAP/UserInterface/SliceWindow/PolygonScanConvert.cxx:50:
>>>> error:
>>>> invalid
>>>> conversion from `void (*)()' to `GLvoid (*)(...)'
>>>> /image6/itk/InsightApplications-2.8.1/SNAP/UserInterface/SliceWindow/PolygonScanConvert.cxx:51:
>>>> error:
>>>> invalid
>>>> conversion from `void (*)()' to `GLvoid (*)(...)'
>>>> /image6/itk/InsightApplications-2.8.1/SNAP/UserInterface/SliceWindow/PolygonScanConvert.cxx:53:
>>>> error:
>>>> invalid
>>>> conversion from `void (*)()' to `GLvoid (*)(...)'
>>>> /image6/itk/InsightApplications-2.8.1/SNAP/UserInterface/SliceWindow/PolygonScanConvert.cxx:55:
>>>> error:
>>>> invalid
>>>> conversion from `void (*)()' to `GLvoid (*)(...)'
>>>> gmake[2]: ***
>>>> [SNAP/CMakeFiles/itksnapui.dir/UserInterface/SliceWindow/PolygonScanConvert.o] Error
>>>> 1
>>>> gmake[1]: *** [SNAP/CMakeFiles/itksnapui.dir/all] Error 2
>>>> g
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Insight-users mailing list
>>>> Insight-users at itk.org
>>>> http://www.itk.org/mailman/listinfo/insight-users
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>>
>>
>>
>
>
>
More information about the Insight-users
mailing list