Object is the root of the interface hierarchy of the MAXON API.
As a C++ class, each virtual interface is directly derived from Object, but as an interface a virtual interface may have an arbitrary number of base interfaces, all of which have Object as direct or indirect base interface.
The interface hierarchy is reflected by the Ptr, ConstPtr and reference classes of the interfaces: They have conversion operators to all base interfaces, and they contain functions for all methods of the interface and its base interfaces.

Object provides some general inheritance-related functions such as GetClass() and IsInstanceOf(), data-related functions such as Clone() and CopyFrom(), and virtual methods such as ToString() which are required for each Object.

All Object instances are reference-counted.
Within the declaration of an interface you may choose the reference behaviour on invocation of a non-const method (normal, const, copy-on-write).

Inheritance diagram


Parent Class:

Child Class:

Methods Signature

Execute(input, output)

Executes the filter standalone.

Set(parameter, data)

Sets a filter parameter.

SetProgressMonitor(progressMonitor, userPtr)

Sets a callback function which is getting invoked during filter execution with its progress.

Methods Definition

FilterInterface.Execute(input, output)

Executes the filter standalone.

  • input (maxon.FilterImageRef) – The input Filter Image.

  • output (maxon.FilterImageRef) – The target Filter Image.

FilterInterface.Set(parameter, data)

Sets a filter parameter.

  • parameter (maxon.Id) – The id of the parameter to set.

  • data (maxon.Data) – The data for the parameter.

FilterInterface.SetProgressMonitor(progressMonitor, userPtr)
Sets a callback function which is getting invoked during filter execution with its progress.

There can only be one callback attached at a time. Multiple calls to SetProgressMonitor() will replace the previously attached callback. The callback function is being called with the provided userPtr and a progress in the range [0, 1]. Returning false within the monitor will cancel further execution of the filter.
  • progressMonitor (Callable[[any, float], bool]) – The progress monitor function with the signature def MyCallBack (userPtr: any, progress: float) -> bool.

  • userPtr (any) – A custom user ptr that gets passed to the function pointer.