Thanks to visit codestin.com
Credit goes to vtk.org
VTK
9.5.20251001
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
Common
Core
vtkWrappingHints.h
Go to the documentation of this file.
1
// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2
// SPDX-License-Identifier: BSD-3-Clause
11
#ifndef vtkWrappingHints_h
12
#define vtkWrappingHints_h
13
14
#ifdef __VTK_WRAP__
15
#define VTK_WRAP_HINTS_DEFINED
16
// Exclude a method or class from wrapping
17
#define VTK_WRAPEXCLUDE [[vtk::wrapexclude]]
18
// Exclude a method or class from JavaScript wrapping
19
#ifdef __EMSCRIPTEN__
20
#define VTK_WRAPEXCLUDE_JAVASCRIPT VTK_WRAPEXCLUDE
21
#else
22
#define VTK_WRAPEXCLUDE_JAVASCRIPT
23
#endif
24
// Tell wrappers not to associate this method with any property.
25
#define VTK_PROPEXCLUDE [[vtk::propexclude]]
26
// The return value points to a newly-created VTK object.
27
#define VTK_NEWINSTANCE [[vtk::newinstance]]
28
// The parameter is a pointer to a zerocopy buffer.
29
#define VTK_ZEROCOPY [[vtk::zerocopy]]
30
// The parameter is a path on the filesystem.
31
#define VTK_FILEPATH [[vtk::filepath]]
32
// Release Python GIL for the duration of the call
33
#define VTK_UNBLOCKTHREADS [[vtk::unblockthreads]]
34
// Set preconditions for a function
35
#define VTK_EXPECTS(x) [[vtk::expects(x)]]
36
// Set size hint for parameter or return value
37
#define VTK_SIZEHINT(...) [[vtk::sizehint(__VA_ARGS__)]]
38
// Opt-in a class for automatic code generation of (de)serializers.
39
#define VTK_MARSHALAUTO [[vtk::marshalauto]]
40
// Specifies that a class has hand written (de)serializers.
41
#define VTK_MARSHALMANUAL [[vtk::marshalmanual]]
42
// Excludes a function from the auto-generated (de)serialization process.
43
#define VTK_MARSHALEXCLUDE(reason) [[vtk::marshalexclude(reason)]]
44
// Enforces a function as the getter for `property`
45
#define VTK_MARSHALGETTER(property) [[vtk::marshalgetter(#property)]]
46
// Enforces a function as the setter for `property`
47
#define VTK_MARSHALSETTER(property) [[vtk::marshalsetter(#property)]]
48
#endif
49
50
#ifndef VTK_WRAP_HINTS_DEFINED
51
#define VTK_WRAPEXCLUDE
52
#define VTK_WRAPEXCLUDE_JAVASCRIPT
53
#define VTK_PROPEXCLUDE
54
#define VTK_NEWINSTANCE
55
#define VTK_ZEROCOPY
56
#define VTK_FILEPATH
57
#define VTK_UNBLOCKTHREADS
58
#define VTK_EXPECTS(x)
59
#define VTK_SIZEHINT(...)
60
#define VTK_MARSHALAUTO
61
#define VTK_MARSHALMANUAL
62
#define VTK_MARSHALEXCLUDE(reason)
63
#define VTK_MARSHALGETTER(property)
64
#define VTK_MARSHALSETTER(property)
65
#endif
66
67
#define VTK_MARSHAL_EXCLUDE_REASON_IS_REDUNDANT "is redundant"
68
#define VTK_MARSHAL_EXCLUDE_REASON_IS_INTERNAL "is internal"
69
#define VTK_MARSHAL_EXCLUDE_REASON_NOT_SUPPORTED \
70
"(de)serialization is not supported for this type of property"
71
72
#endif
73
// VTK-HeaderTest-Exclude: vtkWrappingHints.h
Generated on Wed Oct 1 2025 08:14:54 for VTK by
1.9.7