File: vtkPythonCommand.h

package info (click to toggle)
vtk9 9.5.2%2Bdfsg3-4
  • links: PTS, VCS
  • area: main
  • in suites: forky
  • size: 205,916 kB
  • sloc: cpp: 2,336,565; ansic: 327,116; python: 111,200; yacc: 4,104; java: 3,977; sh: 3,032; xml: 2,771; perl: 2,189; lex: 1,787; makefile: 178; javascript: 165; objc: 153; tcl: 59
file content (35 lines) | stat: -rw-r--r-- 936 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
// SPDX-License-Identifier: BSD-3-Clause

#ifndef vtkPythonCommand_h
#define vtkPythonCommand_h

#include "vtkABINamespace.h"
#include "vtkCommand.h"
#include "vtkPython.h"
#include "vtkWrappingPythonCoreModule.h" // For export macro

VTK_ABI_NAMESPACE_BEGIN
// To allow Python to use the vtkCommand features
class VTKWRAPPINGPYTHONCORE_EXPORT vtkPythonCommand : public vtkCommand
{
public:
  vtkTypeMacro(vtkPythonCommand, vtkCommand);

  static vtkPythonCommand* New() { return new vtkPythonCommand; }

  void SetObject(PyObject* o);
  void SetThreadState(PyThreadState* ts);
  void Execute(vtkObject* ptr, unsigned long eventtype, void* callData) override;

  PyObject* obj;
  PyThreadState* ThreadState;

protected:
  vtkPythonCommand();
  ~vtkPythonCommand() override;
};
VTK_ABI_NAMESPACE_END

#endif
// VTK-HeaderTest-Exclude: vtkPythonCommand.h