#include <itkPyCommand.h>
Command subclass that calls a Python callable object, e.g. a Python function.
With this class, arbitrary Python callable objects (e.g. functions) can be associated with an instance to be used in AddObserver calls. This is analogous to itk::TclCommand, but then a tad more flexible.;)
This class was contributed by Charl P. Botha <cpbotha |AT| ieee.org>
Definition at line 45 of file itkPyCommand.h.
Public Types | |
using | Pointer = SmartPointer<Self> |
using | Self = PyCommand |
![]() | |
using | ConstPointer = SmartPointer<const Self> |
using | Pointer = SmartPointer<Self> |
using | Self = Command |
using | Superclass = Object |
![]() | |
using | ConstPointer = SmartPointer<const Self> |
using | Pointer = SmartPointer<Self> |
using | Self = Object |
using | Superclass = LightObject |
![]() | |
using | ConstPointer = SmartPointer<const Self> |
using | Pointer = SmartPointer<Self> |
using | Self = LightObject |
Public Member Functions | |
virtual::itk::LightObject::Pointer | CreateAnother () const |
void | Execute (const Object *, const EventObject &) override |
void | Execute (Object *, const EventObject &) override |
PyObject * | GetCommandCallable () |
const char * | GetNameOfClass () const override |
void | SetCommandCallable (PyObject *obj) |
![]() | |
unsigned long | AddObserver (const EventObject &event, Command *cmd) const |
unsigned long | AddObserver (const EventObject &event, std::function< void(const EventObject &)> function) const |
virtual void | DebugOff () const |
virtual void | DebugOn () const |
Command * | GetCommand (unsigned long tag) |
bool | GetDebug () const |
MetaDataDictionary & | GetMetaDataDictionary () |
const MetaDataDictionary & | GetMetaDataDictionary () const |
virtual ModifiedTimeType | GetMTime () const |
virtual const TimeStamp & | GetTimeStamp () const |
bool | HasObserver (const EventObject &event) const |
void | InvokeEvent (const EventObject &) |
void | InvokeEvent (const EventObject &) const |
virtual void | Modified () const |
void | Register () const override |
void | RemoveAllObservers () |
void | RemoveObserver (unsigned long tag) const |
void | SetDebug (bool debugFlag) const |
void | SetReferenceCount (int) override |
void | UnRegister () const noexcept override |
void | SetMetaDataDictionary (const MetaDataDictionary &rhs) |
void | SetMetaDataDictionary (MetaDataDictionary &&rrhs) |
virtual void | SetObjectName (std::string _arg) |
virtual const std::string & | GetObjectName () const |
![]() | |
Pointer | Clone () const |
virtual void | Delete () |
virtual int | GetReferenceCount () const |
void | Print (std::ostream &os, Indent indent=0) const |
Static Public Member Functions | |
static Pointer | New () |
![]() | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool val) |
![]() | |
static void | BreakOnError () |
static Pointer | New () |
Protected Member Functions | |
PyCommand & | operator= (const Self &) |
PyCommand () | |
PyCommand (const Self &) | |
void | PyExecute () |
~PyCommand () override | |
![]() | |
Command () | |
~Command () override | |
![]() | |
Object () | |
bool | PrintObservers (std::ostream &os, Indent indent) const |
void | PrintSelf (std::ostream &os, Indent indent) const override |
virtual void | SetTimeStamp (const TimeStamp &timeStamp) |
~Object () override | |
![]() | |
virtual LightObject::Pointer | InternalClone () const |
LightObject () | |
virtual void | PrintHeader (std::ostream &os, Indent indent) const |
virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
virtual | ~LightObject () |
Private Attributes | |
PyObject * | m_EmptyArgumentList |
PyObject * | m_Object |
Additional Inherited Members | |
![]() | |
std::atomic< int > | m_ReferenceCount {} |
using itk::PyCommand::Pointer = SmartPointer<Self> |
! Smart pointer type alias support
Definition at line 52 of file itkPyCommand.h.
using itk::PyCommand::Self = PyCommand |
! Standard "Self" typedef.
Definition at line 49 of file itkPyCommand.h.
|
protected |
Referenced by GetNameOfClass(), and PyCommand().
|
overrideprotected |
|
protected |
References PyCommand().
|
virtual |
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.
Reimplemented from itk::Object.
|
overridevirtual |
Abstract method that defines the action to be taken by the command. This variant is expected to be used when requests comes from a const Object
Implements itk::Command.
|
overridevirtual |
Abstract method that defines the action to be taken by the command.
Implements itk::Command.
PyObject * itk::PyCommand::GetCommandCallable | ( | ) |
|
overridevirtual |
! Run-time type information (and related methods).
Reimplemented from itk::Command.
References PyCommand().
|
static |
! Method for creation through the object factory.
|
protected |
void itk::PyCommand::SetCommandCallable | ( | PyObject * | obj | ) |
Assign a Python callable object to be used. You don't have to keep a binding to the callable, PyCommand will also take out a reference to make sure the Callable sticks around.
|
private |
Definition at line 87 of file itkPyCommand.h.
|
private |
Definition at line 86 of file itkPyCommand.h.