[vtkusers] CALLBACK / function pointers ?

Antonin Perrot-Audet antonin07130 at gmail.com
Thu May 6 17:42:04 EDT 2010


Yes, and it can compile then, but it makes my program crash, when it 
tries to set the callback :
vtkCBSynchroCam->SetCallback( A::Reaction );


I just have a std::cout << "React" << std::endl; in the Reaction function.


Thanks,

Antonin

On 5/6/10 5:27 PM, John Platt wrote:
> Hi,
>
> Have you tried
>
>    static void Reaction (... )
>    {
>    }
>
> HTH
>
> John
>
>
> ----- Original Message ----- From: "Antonin Perrot-Audet" 
> <antonin07130 at gmail.com>
> To: <vtkusers at vtk.org>
> Sent: Thursday, May 06, 2010 9:47 PM
> Subject: [vtkusers] CALLBACK / function pointers ?
>
>
>> Hello all,
>>
>> I have a hopefully simple problem, but I have been struggling for 
>> days and I hope someone has an answer :
>>
>> I am trying to use *VTK callbacks* in a custom class :
>> The problem is that I can't get it to execute the function I created.
>>
>> I get a :
>> *no matching function for call to 
>> 'vtkCallbackCommand::SetCallback(<unresolved overloaded function 
>> type>)'*
>> when I try to compile.
>>
>> It seems that it can't find my function based on its signature ?
>>
>>
>> I wrote a simple example :
>> --------------------------------------------------------
>> // all necessary includes
>>
>> class A
>> {
>>
>> //[...]
>> public:
>> //[...]
>>
>>
>> void SetObserversA ()
>>     {
>>         // I create a callback object
>>         vtkSmartPointer<vtkCallbackCommand> vtkCBSynchroCam = 
>> vtkSmartPointer<vtkCallbackCommand>::New();
>>
>>         // HERE IS THE PROBLEM : I TRY TO SET THE CALLBACK FUNCTION
>>         vtkCBSynchroCam->SetCallback( A::Reaction );
>>
>>           RenderWin->AddObserver( vtkCommand::AnyEvent, 
>> vtkCBSynchroCam );
>>     }
>>
>>
>> void Reaction ( vtkObject* caller, long unsigned int eventId, void* 
>> clientData, void* callData )
>>     {
>>     // do some stuff with the class' private
>>     }
>>
>>
>> private:
>>     vtkRenderWindow*    RenderWin;
>>
>> };
>>
>> --------------------------------------------------------
>>
>>
>> I also tried to use :
>> vtkCBSynchroCam->SetCallback( Reaction );
>> (without the A::)
>> but I still have the same error.
>>
>>
>> I would greatly appreciate if someone could take two minutes to help 
>> me with that.
>>
>> Thanks !
>>
>> -- 
>> Antonin
>>
>> _______________________________________________
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at 
>> http://www.kitware.com/opensource/opensource.html
>>
>> Please keep messages on-topic and check the VTK FAQ at: 
>> http://www.vtk.org/Wiki/VTK_FAQ
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.vtk.org/mailman/listinfo/vtkusers
>>
>
>


-- 
Antonin Perrot-Audet
Electrical Engineering&  Computer Sciences, INSA Lyon
M2 GEGP Signal&  Image Processing, INSA Lyon, UCBL, Centrale Lyon




More information about the vtkusers mailing list