ParaView
Public Types | Public Member Functions | Static Public Member Functions | List of all members
vtkMemberFunctionCommand< ClassT > Class Template Reference

Call a class member method in response to a VTK event. More...

#include <vtkMemberFunctionCommand.h>

Inherits vtkCommand.

Public Types

typedef vtkCommand Superclass
 

Public Member Functions

virtual const char * GetClassNameInternal () const
 
void PrintSelf (ostream &os, vtkIndent indent)
 
void SetCallback (ClassT &object, void(ClassT::*method2)(vtkObject *, unsigned long, void *))
 
virtual void Execute (vtkObject *caller, unsigned long event, void *calldata)
 
void Reset ()
 
void SetCallback (ClassT &object, void(ClassT::*method)())
 Set which class instance and member function will be called when a VTK event is received. More...
 

Static Public Member Functions

static ThisTSafeDownCast (vtkObjectBase *o)
 
static ThisTNew ()
 

Detailed Description

template<class ClassT>
class vtkMemberFunctionCommand< ClassT >

Call a class member method in response to a VTK event.

vtkMemberFunctionCommand is a vtkCommand-derivative that will listen for VTK events, calling a class member function when a VTK event is received.

It is generally more useful than vtkCallbackCommand, which can only call non-member functions in response to a VTK event.

Usage: create an instance of vtkMemberFunctionCommand, specialized for the class that will receive events. Use the SetCallback() method to pass the instance and member function that will be called when an event is received. Use vtkObject::AddObserver() to control which VTK events the vtkMemberFunctionCommand object will receive.

Usage:

vtkObject* subject = ... foo* observer = ... vtkMemberFunctionCommand<foo>* adapter = vtkMemberFunctionCommand<foo>::New(); adapter->SetCallback(observer, &foo::bar); subject->AddObserver(vtkCommand::AnyEvent, adapter);

Alternative Usage

vtkCommand* command = vtkMakeMemberFunctionCommand(*observer, &foo::Callback); subject->AddObserver(vtkCommand::AnyEvent, command);

There are two types of callback methods that could be defined.

Definition at line 74 of file vtkMemberFunctionCommand.h.

Member Typedef Documentation

◆ Superclass

template<class ClassT>
typedef vtkCommand vtkMemberFunctionCommand< ClassT >::Superclass

Definition at line 79 of file vtkMemberFunctionCommand.h.

Member Function Documentation

◆ GetClassNameInternal()

template<class ClassT>
virtual const char* vtkMemberFunctionCommand< ClassT >::GetClassNameInternal ( ) const
inlinevirtual

Definition at line 81 of file vtkMemberFunctionCommand.h.

◆ SafeDownCast()

template<class ClassT>
static ThisT* vtkMemberFunctionCommand< ClassT >::SafeDownCast ( vtkObjectBase *  o)
inlinestatic

Definition at line 83 of file vtkMemberFunctionCommand.h.

◆ New()

template<class ClassT>
static ThisT* vtkMemberFunctionCommand< ClassT >::New ( )
inlinestatic

Definition at line 85 of file vtkMemberFunctionCommand.h.

◆ PrintSelf()

template<class ClassT>
void vtkMemberFunctionCommand< ClassT >::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
inline

Definition at line 87 of file vtkMemberFunctionCommand.h.

◆ SetCallback() [1/2]

template<class ClassT>
void vtkMemberFunctionCommand< ClassT >::SetCallback ( ClassT &  object,
void(ClassT::*)()  method 
)
inline

Set which class instance and member function will be called when a VTK event is received.

Definition at line 94 of file vtkMemberFunctionCommand.h.

◆ SetCallback() [2/2]

template<class ClassT>
void vtkMemberFunctionCommand< ClassT >::SetCallback ( ClassT &  object,
void(ClassT::*)(vtkObject *, unsigned long, void *)  method2 
)
inline

Definition at line 101 of file vtkMemberFunctionCommand.h.

◆ Execute()

template<class ClassT>
virtual void vtkMemberFunctionCommand< ClassT >::Execute ( vtkObject *  caller,
unsigned long  event,
void *  calldata 
)
inlinevirtual

Definition at line 107 of file vtkMemberFunctionCommand.h.

◆ Reset()

template<class ClassT>
void vtkMemberFunctionCommand< ClassT >::Reset ( )
inline

Definition at line 118 of file vtkMemberFunctionCommand.h.


The documentation for this class was generated from the following file: