#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.
Inheritance diagram for itk::PyCommand:
Collaboration diagram for itk::PyCommand:Public Types | |
| using | Pointer = SmartPointer<Self> |
| using | Self = PyCommand |
Public Types inherited from itk::Command | |
| using | ConstPointer = SmartPointer<const Self> |
| using | Pointer = SmartPointer<Self> |
| using | Self = Command |
| using | Superclass = Object |
Public Types inherited from itk::Object | |
| using | ConstPointer = SmartPointer<const Self> |
| using | Pointer = SmartPointer<Self> |
| using | Self = Object |
| using | Superclass = LightObject |
Public Types inherited from itk::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 () |
| virtual const char * | GetNameOfClass () const |
| void | SetCommandCallable (PyObject *obj) |
Public Member Functions inherited from itk::Object | |
| 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 |
Public Member Functions inherited from itk::LightObject | |
| 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 Public Member Functions inherited from itk::Object | |
| static bool | GetGlobalWarningDisplay () |
| static void | GlobalWarningDisplayOff () |
| static void | GlobalWarningDisplayOn () |
| static Pointer | New () |
| static void | SetGlobalWarningDisplay (bool val) |
Static Public Member Functions inherited from itk::LightObject | |
| static void | BreakOnError () |
| static Pointer | New () |
Protected Member Functions | |
| PyCommand & | operator= (const Self &) |
| PyCommand () | |
| PyCommand (const Self &) | |
| void | PyExecute () |
| ~PyCommand () override | |
Protected Member Functions inherited from itk::Command | |
| Command () | |
| ~Command () override | |
Protected Member Functions inherited from itk::Object | |
| 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 | |
Protected Member Functions inherited from itk::LightObject | |
| 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 | |
Protected Attributes inherited from itk::LightObject | |
| 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 | ( | ) |
|
virtual |
! 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.