meshlib 3.0.8.228__py39.py310.py311.py312.py313-none-macosx_12_0_x86_64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of meshlib might be problematic. Click here for more details.
- meshlib/.dylibs/libE57Format.3.2.0.dylib +0 -0
- meshlib/.dylibs/libMRIOExtras.dylib +0 -0
- meshlib/.dylibs/libMRMesh.dylib +0 -0
- meshlib/.dylibs/libMRPython.dylib +0 -0
- meshlib/.dylibs/libMRSymbolMesh.dylib +0 -0
- meshlib/.dylibs/libMRViewer.dylib +0 -0
- meshlib/.dylibs/libMRVoxels.dylib +0 -0
- meshlib/.dylibs/libOpenCTM.dylib +0 -0
- meshlib/.dylibs/libTKBO.7.9.1.dylib +0 -0
- meshlib/.dylibs/libTKBRep.7.9.1.dylib +0 -0
- meshlib/.dylibs/libTKCAF.7.9.1.dylib +0 -0
- meshlib/.dylibs/libTKCDF.7.9.1.dylib +0 -0
- meshlib/.dylibs/libTKDE.7.9.1.dylib +0 -0
- meshlib/.dylibs/libTKDESTEP.7.9.1.dylib +0 -0
- meshlib/.dylibs/libTKG2d.7.9.1.dylib +0 -0
- meshlib/.dylibs/libTKG3d.7.9.1.dylib +0 -0
- meshlib/.dylibs/libTKGeomAlgo.7.9.1.dylib +0 -0
- meshlib/.dylibs/libTKGeomBase.7.9.1.dylib +0 -0
- meshlib/.dylibs/libTKHLR.7.9.1.dylib +0 -0
- meshlib/.dylibs/libTKLCAF.7.9.1.dylib +0 -0
- meshlib/.dylibs/libTKMath.7.9.1.dylib +0 -0
- meshlib/.dylibs/libTKMesh.7.9.1.dylib +0 -0
- meshlib/.dylibs/libTKPrim.7.9.1.dylib +0 -0
- meshlib/.dylibs/libTKService.7.9.1.dylib +0 -0
- meshlib/.dylibs/libTKShHealing.7.9.1.dylib +0 -0
- meshlib/.dylibs/libTKTopAlgo.7.9.1.dylib +0 -0
- meshlib/.dylibs/libTKV3d.7.9.1.dylib +0 -0
- meshlib/.dylibs/libTKVCAF.7.9.1.dylib +0 -0
- meshlib/.dylibs/libTKXCAF.7.9.1.dylib +0 -0
- meshlib/.dylibs/libTKXSBase.7.9.1.dylib +0 -0
- meshlib/.dylibs/libTKernel.7.9.1.dylib +0 -0
- meshlib/.dylibs/libblosc.1.21.6.dylib +0 -0
- meshlib/.dylibs/libboost_iostreams.dylib +0 -0
- meshlib/.dylibs/libboost_random.dylib +0 -0
- meshlib/.dylibs/libboost_regex.dylib +0 -0
- meshlib/.dylibs/libcharls.2.4.2.dylib +0 -0
- meshlib/.dylibs/libclip.dylib +0 -0
- meshlib/.dylibs/libcpr.1.12.0.dylib +0 -0
- meshlib/.dylibs/libcrypto.3.dylib +0 -0
- meshlib/.dylibs/libfmt.11.2.0.dylib +0 -0
- meshlib/.dylibs/libfreeimage.3.18.0.dylib +0 -0
- meshlib/.dylibs/libfreetype.6.dylib +0 -0
- meshlib/.dylibs/libgdcmCommon.3.2.2.dylib +0 -0
- meshlib/.dylibs/libgdcmDICT.3.2.2.dylib +0 -0
- meshlib/.dylibs/libgdcmDSED.3.2.2.dylib +0 -0
- meshlib/.dylibs/libgdcmIOD.3.2.2.dylib +0 -0
- meshlib/.dylibs/libgdcmMEXD.3.2.2.dylib +0 -0
- meshlib/.dylibs/libgdcmMSFF.3.2.2.dylib +0 -0
- meshlib/.dylibs/libgdcmjpeg12.3.2.2.dylib +0 -0
- meshlib/.dylibs/libgdcmjpeg16.3.2.2.dylib +0 -0
- meshlib/.dylibs/libgdcmjpeg8.3.2.2.dylib +0 -0
- meshlib/.dylibs/libglad.dylib +0 -0
- meshlib/.dylibs/libglfw.3.4.dylib +0 -0
- meshlib/.dylibs/libgtest.1.13.0.dylib +0 -0
- meshlib/.dylibs/libhidapi.0.15.0.dylib +0 -0
- meshlib/.dylibs/libhpdf.2.4.5.dylib +0 -0
- meshlib/.dylibs/libicudata.77.1.dylib +0 -0
- meshlib/.dylibs/libicui18n.77.1.dylib +0 -0
- meshlib/.dylibs/libicuuc.77.1.dylib +0 -0
- meshlib/.dylibs/libimgui.dylib +0 -0
- meshlib/.dylibs/libjpeg.8.3.2.dylib +0 -0
- meshlib/.dylibs/libjson-c.5.4.0.dylib +0 -0
- meshlib/.dylibs/libjsoncpp.26.dylib +0 -0
- meshlib/.dylibs/liblazperf.dylib +0 -0
- meshlib/.dylibs/liblzma.5.dylib +0 -0
- meshlib/.dylibs/libopenjp2.2.5.4.dylib +0 -0
- meshlib/.dylibs/libopenvdb.12.1.1.dylib +0 -0
- meshlib/.dylibs/libpng16.16.dylib +0 -0
- meshlib/.dylibs/libpybind11nonlimitedapi_stubs.dylib +0 -0
- meshlib/.dylibs/libsocketxx.1.2.0.dylib +0 -0
- meshlib/.dylibs/libspdlog.1.15.3.dylib +0 -0
- meshlib/.dylibs/libssl.3.dylib +0 -0
- meshlib/.dylibs/libtbb.12.16.dylib +0 -0
- meshlib/.dylibs/libtbbmalloc.2.16.dylib +0 -0
- meshlib/.dylibs/libtiff.6.dylib +0 -0
- meshlib/.dylibs/libtinyxml2.11.0.0.dylib +0 -0
- meshlib/.dylibs/libturbojpeg.0.4.0.dylib +0 -0
- meshlib/.dylibs/libzip.5.5.dylib +0 -0
- meshlib/.dylibs/libzstd.1.5.7.dylib +0 -0
- meshlib/MRDarkTheme.json +572 -0
- meshlib/MRLightTheme.json +574 -0
- meshlib/NotoSansSC-Regular.otf +0 -0
- meshlib/__init__.py +18 -0
- meshlib/fa-solid-900.ttf +0 -0
- meshlib/libpybind11nonlimitedapi_meshlib_3.10.dylib +0 -0
- meshlib/libpybind11nonlimitedapi_meshlib_3.11.dylib +0 -0
- meshlib/libpybind11nonlimitedapi_meshlib_3.12.dylib +0 -0
- meshlib/libpybind11nonlimitedapi_meshlib_3.13.dylib +0 -0
- meshlib/libpybind11nonlimitedapi_meshlib_3.9.dylib +0 -0
- meshlib/mrcudapy.pyi +9 -0
- meshlib/mrcudapy.so +0 -0
- meshlib/mrmeshnumpy.pyi +89 -0
- meshlib/mrmeshnumpy.so +0 -0
- meshlib/mrmeshpy.pyi +99274 -0
- meshlib/mrmeshpy.so +0 -0
- meshlib/mrviewerpy.pyi +596 -0
- meshlib/mrviewerpy.so +0 -0
- meshlib/resource/independent_icons/X1/Plane Import.png +0 -0
- meshlib/resource/independent_icons/X1/Plane XY.png +0 -0
- meshlib/resource/independent_icons/X1/Plane XZ.png +0 -0
- meshlib/resource/independent_icons/X1/Plane YZ.png +0 -0
- meshlib/resource/independent_icons/X1/mouse left.png +0 -0
- meshlib/resource/independent_icons/X1/mouse right.png +0 -0
- meshlib/resource/independent_icons/X1/mouse scroll.png +0 -0
- meshlib/resource/independent_icons/X3/Plane Import.png +0 -0
- meshlib/resource/independent_icons/X3/Plane XY.png +0 -0
- meshlib/resource/independent_icons/X3/Plane XZ.png +0 -0
- meshlib/resource/independent_icons/X3/Plane YZ.png +0 -0
- meshlib/resource/independent_icons/X3/mouse left.png +0 -0
- meshlib/resource/independent_icons/X3/mouse right.png +0 -0
- meshlib/resource/independent_icons/X3/mouse scroll.png +0 -0
- meshlib/resource/object_icons/X1/AngleMeasurementObject.png +0 -0
- meshlib/resource/object_icons/X1/CircleObject.png +0 -0
- meshlib/resource/object_icons/X1/ConeObject.png +0 -0
- meshlib/resource/object_icons/X1/CylinderObject.png +0 -0
- meshlib/resource/object_icons/X1/DistanceMeasurementObject.png +0 -0
- meshlib/resource/object_icons/X1/LineObject.png +0 -0
- meshlib/resource/object_icons/X1/Object.png +0 -0
- meshlib/resource/object_icons/X1/ObjectDistanceMap.png +0 -0
- meshlib/resource/object_icons/X1/ObjectGcode.png +0 -0
- meshlib/resource/object_icons/X1/ObjectLabel.png +0 -0
- meshlib/resource/object_icons/X1/ObjectLines.png +0 -0
- meshlib/resource/object_icons/X1/ObjectMesh.png +0 -0
- meshlib/resource/object_icons/X1/ObjectPoints.png +0 -0
- meshlib/resource/object_icons/X1/ObjectVoxels.png +0 -0
- meshlib/resource/object_icons/X1/Object_open.png +0 -0
- meshlib/resource/object_icons/X1/PlaneObject.png +0 -0
- meshlib/resource/object_icons/X1/PointObject.png +0 -0
- meshlib/resource/object_icons/X1/RadiusMeasurementObject.png +0 -0
- meshlib/resource/object_icons/X1/SphereObject.png +0 -0
- meshlib/resource/object_icons/X3/AngleMeasurementObject.png +0 -0
- meshlib/resource/object_icons/X3/CircleObject.png +0 -0
- meshlib/resource/object_icons/X3/ConeObject.png +0 -0
- meshlib/resource/object_icons/X3/CylinderObject.png +0 -0
- meshlib/resource/object_icons/X3/DistanceMeasurementObject.png +0 -0
- meshlib/resource/object_icons/X3/LineObject.png +0 -0
- meshlib/resource/object_icons/X3/Object.png +0 -0
- meshlib/resource/object_icons/X3/ObjectDistanceMap.png +0 -0
- meshlib/resource/object_icons/X3/ObjectGcode.png +0 -0
- meshlib/resource/object_icons/X3/ObjectLabel.png +0 -0
- meshlib/resource/object_icons/X3/ObjectLines.png +0 -0
- meshlib/resource/object_icons/X3/ObjectMesh.png +0 -0
- meshlib/resource/object_icons/X3/ObjectPoints.png +0 -0
- meshlib/resource/object_icons/X3/ObjectVoxels.png +0 -0
- meshlib/resource/object_icons/X3/Object_open.png +0 -0
- meshlib/resource/object_icons/X3/PlaneObject.png +0 -0
- meshlib/resource/object_icons/X3/PointObject.png +0 -0
- meshlib/resource/object_icons/X3/RadiusMeasurementObject.png +0 -0
- meshlib/resource/object_icons/X3/SphereObject.png +0 -0
- meshlib/resource/textures/controller_cube_default.png +0 -0
- meshlib/resource/textures/controller_cube_edges.png +0 -0
- meshlib/resource/textures/controller_cube_sides.png +0 -0
- meshlib-3.0.8.228.dist-info/METADATA +264 -0
- meshlib-3.0.8.228.dist-info/RECORD +157 -0
- meshlib-3.0.8.228.dist-info/WHEEL +9 -0
- meshlib-3.0.8.228.dist-info/licenses/LICENSE +148 -0
- meshlib-3.0.8.228.dist-info/top_level.txt +1 -0
meshlib/mrmeshpy.so
ADDED
|
Binary file
|
meshlib/mrviewerpy.pyi
ADDED
|
@@ -0,0 +1,596 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
import meshlib.mrmeshpy
|
|
3
|
+
import typing
|
|
4
|
+
__all__: list[str] = ['KeyMod', 'MouseButton', 'UiEntry', 'UiEntryType', 'UiValueInt', 'UiValueReal', 'UiValueString', 'UiValueUint', 'Viewer', 'ViewerLaunchParams', 'ViewerLaunchParamsMode', 'ViewerSetup', 'Viewport', 'ViewportFitDataParams', 'ViewportFitMode', 'addDistanceMapToScene', 'addLinesToScene', 'addMeshToScene', 'addPointCloudToScene', 'addVoxelsToScene', 'clearScene', 'getSelectedDistanceMaps', 'getSelectedMeshEdges', 'getSelectedMeshFaces', 'getSelectedMeshes', 'getSelectedObjects', 'getSelectedPointCloudPoints', 'getSelectedPointClouds', 'getSelectedPolylines', 'getSelectedVoxels', 'launch', 'modifySelectedMesh', 'runFromGUIThread', 'selectByName', 'selectByType', 'setSelectedMeshEdges', 'setSelectedMeshFaces', 'setSelectedPointCloudPoints', 'uiListEntries', 'uiPressButton', 'uiReadValueInt', 'uiReadValueReal', 'uiReadValueString', 'uiReadValueUint', 'uiWriteValue', 'uiWriteValueInt', 'uiWriteValueReal', 'uiWriteValueString', 'uiWriteValueUint', 'unselectAll']
|
|
5
|
+
class KeyMod:
|
|
6
|
+
"""
|
|
7
|
+
Members:
|
|
8
|
+
|
|
9
|
+
Empty
|
|
10
|
+
|
|
11
|
+
Ctrl
|
|
12
|
+
|
|
13
|
+
Super
|
|
14
|
+
|
|
15
|
+
Shift
|
|
16
|
+
|
|
17
|
+
Alt
|
|
18
|
+
"""
|
|
19
|
+
Alt: typing.ClassVar[KeyMod] # value = <KeyMod.Alt: 4>
|
|
20
|
+
Ctrl: typing.ClassVar[KeyMod] # value = <KeyMod.Ctrl: 2>
|
|
21
|
+
Empty: typing.ClassVar[KeyMod] # value = <KeyMod.Empty: 0>
|
|
22
|
+
Shift: typing.ClassVar[KeyMod] # value = <KeyMod.Shift: 1>
|
|
23
|
+
Super: typing.ClassVar[KeyMod] # value = <KeyMod.Super: 8>
|
|
24
|
+
__members__: typing.ClassVar[dict[str, KeyMod]] # value = {'Empty': <KeyMod.Empty: 0>, 'Ctrl': <KeyMod.Ctrl: 2>, 'Super': <KeyMod.Super: 8>, 'Shift': <KeyMod.Shift: 1>, 'Alt': <KeyMod.Alt: 4>}
|
|
25
|
+
def __and__(self, arg0: KeyMod) -> KeyMod:
|
|
26
|
+
...
|
|
27
|
+
def __eq__(self, other: typing.Any) -> bool:
|
|
28
|
+
...
|
|
29
|
+
def __getstate__(self) -> int:
|
|
30
|
+
...
|
|
31
|
+
def __hash__(self) -> int:
|
|
32
|
+
...
|
|
33
|
+
def __index__(self) -> int:
|
|
34
|
+
...
|
|
35
|
+
def __init__(self, value: int) -> None:
|
|
36
|
+
...
|
|
37
|
+
def __int__(self) -> int:
|
|
38
|
+
...
|
|
39
|
+
def __invert__(self) -> KeyMod:
|
|
40
|
+
...
|
|
41
|
+
def __ne__(self, other: typing.Any) -> bool:
|
|
42
|
+
...
|
|
43
|
+
def __or__(self, arg0: KeyMod) -> KeyMod:
|
|
44
|
+
...
|
|
45
|
+
def __repr__(self) -> str:
|
|
46
|
+
...
|
|
47
|
+
def __setstate__(self, state: int) -> None:
|
|
48
|
+
...
|
|
49
|
+
def __str__(self) -> str:
|
|
50
|
+
...
|
|
51
|
+
@property
|
|
52
|
+
def name(self) -> str:
|
|
53
|
+
...
|
|
54
|
+
@property
|
|
55
|
+
def value(self) -> int:
|
|
56
|
+
...
|
|
57
|
+
class MouseButton:
|
|
58
|
+
"""
|
|
59
|
+
Members:
|
|
60
|
+
|
|
61
|
+
Left
|
|
62
|
+
|
|
63
|
+
Right
|
|
64
|
+
|
|
65
|
+
Middle
|
|
66
|
+
"""
|
|
67
|
+
Left: typing.ClassVar[MouseButton] # value = <MouseButton.Left: 0>
|
|
68
|
+
Middle: typing.ClassVar[MouseButton] # value = <MouseButton.Middle: 2>
|
|
69
|
+
Right: typing.ClassVar[MouseButton] # value = <MouseButton.Right: 1>
|
|
70
|
+
__members__: typing.ClassVar[dict[str, MouseButton]] # value = {'Left': <MouseButton.Left: 0>, 'Right': <MouseButton.Right: 1>, 'Middle': <MouseButton.Middle: 2>}
|
|
71
|
+
def __eq__(self, other: typing.Any) -> bool:
|
|
72
|
+
...
|
|
73
|
+
def __getstate__(self) -> int:
|
|
74
|
+
...
|
|
75
|
+
def __hash__(self) -> int:
|
|
76
|
+
...
|
|
77
|
+
def __index__(self) -> int:
|
|
78
|
+
...
|
|
79
|
+
def __init__(self, value: int) -> None:
|
|
80
|
+
...
|
|
81
|
+
def __int__(self) -> int:
|
|
82
|
+
...
|
|
83
|
+
def __ne__(self, other: typing.Any) -> bool:
|
|
84
|
+
...
|
|
85
|
+
def __repr__(self) -> str:
|
|
86
|
+
...
|
|
87
|
+
def __setstate__(self, state: int) -> None:
|
|
88
|
+
...
|
|
89
|
+
def __str__(self) -> str:
|
|
90
|
+
...
|
|
91
|
+
@property
|
|
92
|
+
def name(self) -> str:
|
|
93
|
+
...
|
|
94
|
+
@property
|
|
95
|
+
def value(self) -> int:
|
|
96
|
+
...
|
|
97
|
+
class UiEntry:
|
|
98
|
+
def __repr__(self) -> str:
|
|
99
|
+
...
|
|
100
|
+
@property
|
|
101
|
+
def name(self) -> str:
|
|
102
|
+
...
|
|
103
|
+
@property
|
|
104
|
+
def type(self) -> UiEntryType:
|
|
105
|
+
...
|
|
106
|
+
class UiEntryType:
|
|
107
|
+
"""
|
|
108
|
+
UI entry type enum.
|
|
109
|
+
|
|
110
|
+
Members:
|
|
111
|
+
|
|
112
|
+
button
|
|
113
|
+
|
|
114
|
+
group
|
|
115
|
+
|
|
116
|
+
valueInt
|
|
117
|
+
|
|
118
|
+
valueUint
|
|
119
|
+
|
|
120
|
+
valueReal
|
|
121
|
+
|
|
122
|
+
valueString
|
|
123
|
+
|
|
124
|
+
other
|
|
125
|
+
"""
|
|
126
|
+
__members__: typing.ClassVar[dict[str, UiEntryType]] # value = {'button': <UiEntryType.button: 0>, 'group': <UiEntryType.group: 1>, 'valueInt': <UiEntryType.valueInt: 2>, 'valueUint': <UiEntryType.valueUint: 3>, 'valueReal': <UiEntryType.valueReal: 4>, 'valueString': <UiEntryType.valueString: 5>, 'other': <UiEntryType.other: 6>}
|
|
127
|
+
button: typing.ClassVar[UiEntryType] # value = <UiEntryType.button: 0>
|
|
128
|
+
group: typing.ClassVar[UiEntryType] # value = <UiEntryType.group: 1>
|
|
129
|
+
other: typing.ClassVar[UiEntryType] # value = <UiEntryType.other: 6>
|
|
130
|
+
valueInt: typing.ClassVar[UiEntryType] # value = <UiEntryType.valueInt: 2>
|
|
131
|
+
valueReal: typing.ClassVar[UiEntryType] # value = <UiEntryType.valueReal: 4>
|
|
132
|
+
valueString: typing.ClassVar[UiEntryType] # value = <UiEntryType.valueString: 5>
|
|
133
|
+
valueUint: typing.ClassVar[UiEntryType] # value = <UiEntryType.valueUint: 3>
|
|
134
|
+
def __eq__(self, other: typing.Any) -> bool:
|
|
135
|
+
...
|
|
136
|
+
def __getstate__(self) -> int:
|
|
137
|
+
...
|
|
138
|
+
def __hash__(self) -> int:
|
|
139
|
+
...
|
|
140
|
+
def __index__(self) -> int:
|
|
141
|
+
...
|
|
142
|
+
def __init__(self, value: int) -> None:
|
|
143
|
+
...
|
|
144
|
+
def __int__(self) -> int:
|
|
145
|
+
...
|
|
146
|
+
def __ne__(self, other: typing.Any) -> bool:
|
|
147
|
+
...
|
|
148
|
+
def __repr__(self) -> str:
|
|
149
|
+
...
|
|
150
|
+
def __setstate__(self, state: int) -> None:
|
|
151
|
+
...
|
|
152
|
+
def __str__(self) -> str:
|
|
153
|
+
...
|
|
154
|
+
@property
|
|
155
|
+
def name(self) -> str:
|
|
156
|
+
...
|
|
157
|
+
@property
|
|
158
|
+
def value(self) -> int:
|
|
159
|
+
...
|
|
160
|
+
class UiValueInt:
|
|
161
|
+
@property
|
|
162
|
+
def max(self) -> int:
|
|
163
|
+
...
|
|
164
|
+
@property
|
|
165
|
+
def min(self) -> int:
|
|
166
|
+
...
|
|
167
|
+
@property
|
|
168
|
+
def value(self) -> int:
|
|
169
|
+
...
|
|
170
|
+
class UiValueReal:
|
|
171
|
+
@property
|
|
172
|
+
def max(self) -> float:
|
|
173
|
+
...
|
|
174
|
+
@property
|
|
175
|
+
def min(self) -> float:
|
|
176
|
+
...
|
|
177
|
+
@property
|
|
178
|
+
def value(self) -> float:
|
|
179
|
+
...
|
|
180
|
+
class UiValueString:
|
|
181
|
+
@property
|
|
182
|
+
def allowed(self) -> list[str] | None:
|
|
183
|
+
...
|
|
184
|
+
@property
|
|
185
|
+
def value(self) -> str:
|
|
186
|
+
...
|
|
187
|
+
class UiValueUint:
|
|
188
|
+
@property
|
|
189
|
+
def max(self) -> int:
|
|
190
|
+
...
|
|
191
|
+
@property
|
|
192
|
+
def min(self) -> int:
|
|
193
|
+
...
|
|
194
|
+
@property
|
|
195
|
+
def value(self) -> int:
|
|
196
|
+
...
|
|
197
|
+
class Viewer:
|
|
198
|
+
"""
|
|
199
|
+
GLFW-based mesh viewer
|
|
200
|
+
"""
|
|
201
|
+
def __init__(self) -> None:
|
|
202
|
+
...
|
|
203
|
+
def captureScreenShot(self, path: str) -> None:
|
|
204
|
+
"""
|
|
205
|
+
Captures part of window (redraw 3d scene over UI (without redrawing UI))
|
|
206
|
+
"""
|
|
207
|
+
def captureUIScreenShot(self, path: str) -> None:
|
|
208
|
+
"""
|
|
209
|
+
Captures full window screenshot with UI
|
|
210
|
+
"""
|
|
211
|
+
def getMousePos(self) -> meshlib.mrmeshpy.Vector2f:
|
|
212
|
+
"""
|
|
213
|
+
Get the current mouse position.
|
|
214
|
+
"""
|
|
215
|
+
def incrementForceRedrawFrames(self, num: int = 1, swapOnLastOnly: bool = False) -> None:
|
|
216
|
+
"""
|
|
217
|
+
Increment number of forced frames to redraw in event loop
|
|
218
|
+
if `swapOnLastOnly` only last forced frame will be present on screen and all previous will not
|
|
219
|
+
"""
|
|
220
|
+
def mouseDown(self, button: MouseButton, modifier: KeyMod = ...) -> None:
|
|
221
|
+
"""
|
|
222
|
+
Simulate mouse down event.
|
|
223
|
+
"""
|
|
224
|
+
def mouseMove(self, x: int, y: int) -> None:
|
|
225
|
+
"""
|
|
226
|
+
Simulate mouse move event.
|
|
227
|
+
NOTE: Some plugins need at least TWO `mouseMove()`s in a row (possibly with the same position). If you're having issues, try sending two events.
|
|
228
|
+
"""
|
|
229
|
+
def mouseUp(self, button: MouseButton, modifier: KeyMod = ...) -> None:
|
|
230
|
+
"""
|
|
231
|
+
Simulate mouse up event.
|
|
232
|
+
"""
|
|
233
|
+
def preciseFitDataViewport(self, vpList: meshlib.mrmeshpy.ViewportMask = ..., params: ViewportFitDataParams = ...) -> None:
|
|
234
|
+
"""
|
|
235
|
+
Calls fitData and change FOV to match the screen size then
|
|
236
|
+
params - params fit data
|
|
237
|
+
"""
|
|
238
|
+
def showSceneTree(self, show: bool) -> None:
|
|
239
|
+
"""
|
|
240
|
+
Shows or hide scene tree
|
|
241
|
+
"""
|
|
242
|
+
def shutdown(self) -> None:
|
|
243
|
+
"""
|
|
244
|
+
sets stop event loop flag (this flag is glfwShouldWindowClose equivalent)
|
|
245
|
+
"""
|
|
246
|
+
def skipFrames(self, frames: int) -> None:
|
|
247
|
+
...
|
|
248
|
+
def viewport(self, viewportId: meshlib.mrmeshpy.ViewportId = ...) -> Viewport:
|
|
249
|
+
"""
|
|
250
|
+
Return the current viewport, or the viewport corresponding to a given unique identifier
|
|
251
|
+
viewportId - unique identifier corresponding to the desired viewport (current viewport if 0)
|
|
252
|
+
"""
|
|
253
|
+
def viewportToScreen(self, arg0: meshlib.mrmeshpy.Vector3f, arg1: meshlib.mrmeshpy.ViewportId) -> meshlib.mrmeshpy.Vector3f:
|
|
254
|
+
"""
|
|
255
|
+
Convert viewport coordinates to to screen coordinates
|
|
256
|
+
"""
|
|
257
|
+
class ViewerLaunchParams:
|
|
258
|
+
"""
|
|
259
|
+
This struct contains rules for viewer launch
|
|
260
|
+
"""
|
|
261
|
+
height: int
|
|
262
|
+
width: int
|
|
263
|
+
windowMode: ViewerLaunchParamsMode
|
|
264
|
+
def __init__(self) -> None:
|
|
265
|
+
...
|
|
266
|
+
@property
|
|
267
|
+
def animationMaxFps(self) -> int:
|
|
268
|
+
"""
|
|
269
|
+
max fps if animating
|
|
270
|
+
"""
|
|
271
|
+
@animationMaxFps.setter
|
|
272
|
+
def animationMaxFps(self, arg0: int) -> None:
|
|
273
|
+
...
|
|
274
|
+
@property
|
|
275
|
+
def fullscreen(self) -> bool:
|
|
276
|
+
"""
|
|
277
|
+
if true starts fullscreen
|
|
278
|
+
"""
|
|
279
|
+
@fullscreen.setter
|
|
280
|
+
def fullscreen(self, arg0: bool) -> None:
|
|
281
|
+
...
|
|
282
|
+
@property
|
|
283
|
+
def isAnimating(self) -> bool:
|
|
284
|
+
"""
|
|
285
|
+
if true - calls render without system events
|
|
286
|
+
"""
|
|
287
|
+
@isAnimating.setter
|
|
288
|
+
def isAnimating(self, arg0: bool) -> None:
|
|
289
|
+
...
|
|
290
|
+
@property
|
|
291
|
+
def name(self) -> str:
|
|
292
|
+
"""
|
|
293
|
+
Window name
|
|
294
|
+
"""
|
|
295
|
+
@name.setter
|
|
296
|
+
def name(self, arg0: str) -> None:
|
|
297
|
+
...
|
|
298
|
+
class ViewerLaunchParamsMode:
|
|
299
|
+
"""
|
|
300
|
+
Members:
|
|
301
|
+
|
|
302
|
+
Hide : Don't show window
|
|
303
|
+
|
|
304
|
+
HideInit : Show window after init
|
|
305
|
+
|
|
306
|
+
Show : Show window immediately
|
|
307
|
+
|
|
308
|
+
TryHidden : Launches in "Hide" mode if OpenGL is present and "NoWindow" if it is not
|
|
309
|
+
|
|
310
|
+
NoWindow : Don't initialize GL window (don't call GL functions)(force `isAnimating`)
|
|
311
|
+
"""
|
|
312
|
+
Hide: typing.ClassVar[ViewerLaunchParamsMode] # value = <ViewerLaunchParamsMode.Hide: 2>
|
|
313
|
+
HideInit: typing.ClassVar[ViewerLaunchParamsMode] # value = <ViewerLaunchParamsMode.HideInit: 1>
|
|
314
|
+
NoWindow: typing.ClassVar[ViewerLaunchParamsMode] # value = <ViewerLaunchParamsMode.NoWindow: 4>
|
|
315
|
+
Show: typing.ClassVar[ViewerLaunchParamsMode] # value = <ViewerLaunchParamsMode.Show: 0>
|
|
316
|
+
TryHidden: typing.ClassVar[ViewerLaunchParamsMode] # value = <ViewerLaunchParamsMode.TryHidden: 3>
|
|
317
|
+
__members__: typing.ClassVar[dict[str, ViewerLaunchParamsMode]] # value = {'Hide': <ViewerLaunchParamsMode.Hide: 2>, 'HideInit': <ViewerLaunchParamsMode.HideInit: 1>, 'Show': <ViewerLaunchParamsMode.Show: 0>, 'TryHidden': <ViewerLaunchParamsMode.TryHidden: 3>, 'NoWindow': <ViewerLaunchParamsMode.NoWindow: 4>}
|
|
318
|
+
def __eq__(self, other: typing.Any) -> bool:
|
|
319
|
+
...
|
|
320
|
+
def __getstate__(self) -> int:
|
|
321
|
+
...
|
|
322
|
+
def __hash__(self) -> int:
|
|
323
|
+
...
|
|
324
|
+
def __index__(self) -> int:
|
|
325
|
+
...
|
|
326
|
+
def __init__(self, value: int) -> None:
|
|
327
|
+
...
|
|
328
|
+
def __int__(self) -> int:
|
|
329
|
+
...
|
|
330
|
+
def __ne__(self, other: typing.Any) -> bool:
|
|
331
|
+
...
|
|
332
|
+
def __repr__(self) -> str:
|
|
333
|
+
...
|
|
334
|
+
def __setstate__(self, state: int) -> None:
|
|
335
|
+
...
|
|
336
|
+
def __str__(self) -> str:
|
|
337
|
+
...
|
|
338
|
+
@property
|
|
339
|
+
def name(self) -> str:
|
|
340
|
+
...
|
|
341
|
+
@property
|
|
342
|
+
def value(self) -> int:
|
|
343
|
+
...
|
|
344
|
+
class ViewerSetup:
|
|
345
|
+
def __init__(self) -> None:
|
|
346
|
+
...
|
|
347
|
+
class Viewport:
|
|
348
|
+
"""
|
|
349
|
+
Viewport is a rectangular area, in which the objects of interest are going to be rendered.
|
|
350
|
+
An application can have a number of viewports each with its own ID.
|
|
351
|
+
"""
|
|
352
|
+
def cameraLookAlong(self, dir: meshlib.mrmeshpy.Vector3f, up: meshlib.mrmeshpy.Vector3f) -> None:
|
|
353
|
+
"""
|
|
354
|
+
Set camera look direction and up direction (they should be perpendicular)
|
|
355
|
+
this function changes camera position and do not change camera spot (0,0,0) by default
|
|
356
|
+
to change camera position use setCameraTranslation after this function
|
|
357
|
+
"""
|
|
358
|
+
def cameraRotateAround(self, axis: meshlib.mrmeshpy.Line3f, angle: float) -> None:
|
|
359
|
+
"""
|
|
360
|
+
Rotates camera around axis +direction applied to axis point
|
|
361
|
+
note: this can make camera clip objects (as far as distance to scene center is not fixed)
|
|
362
|
+
"""
|
|
363
|
+
def projectToViewportSpace(self, arg0: meshlib.mrmeshpy.Vector3f) -> meshlib.mrmeshpy.Vector3f:
|
|
364
|
+
"""
|
|
365
|
+
Project world space point to viewport coordinates (in pixels), (0,0) will be at the top-left corner of the viewport.
|
|
366
|
+
"""
|
|
367
|
+
@property
|
|
368
|
+
def id(self) -> meshlib.mrmeshpy.ViewportId:
|
|
369
|
+
...
|
|
370
|
+
class ViewportFitDataParams:
|
|
371
|
+
def __init__(self) -> None:
|
|
372
|
+
...
|
|
373
|
+
@property
|
|
374
|
+
def factor(self) -> float:
|
|
375
|
+
"""
|
|
376
|
+
part of the screen for scene location
|
|
377
|
+
"""
|
|
378
|
+
@factor.setter
|
|
379
|
+
def factor(self, arg0: float) -> None:
|
|
380
|
+
...
|
|
381
|
+
@property
|
|
382
|
+
def mode(self) -> ViewportFitMode:
|
|
383
|
+
"""
|
|
384
|
+
fit mode
|
|
385
|
+
"""
|
|
386
|
+
@mode.setter
|
|
387
|
+
def mode(self, arg0: ViewportFitMode) -> None:
|
|
388
|
+
...
|
|
389
|
+
@property
|
|
390
|
+
def snapView(self) -> bool:
|
|
391
|
+
"""
|
|
392
|
+
snapView - to snap camera angle to closest canonical quaternion
|
|
393
|
+
"""
|
|
394
|
+
@snapView.setter
|
|
395
|
+
def snapView(self, arg0: bool) -> None:
|
|
396
|
+
...
|
|
397
|
+
class ViewportFitMode:
|
|
398
|
+
"""
|
|
399
|
+
Fit mode ( types of objects for which the fit is applied )
|
|
400
|
+
|
|
401
|
+
Members:
|
|
402
|
+
|
|
403
|
+
Visible : fit all visible objects
|
|
404
|
+
|
|
405
|
+
SelectedObjects : fit only selected objects
|
|
406
|
+
|
|
407
|
+
SelectedPrimitives : fit only selected primitives
|
|
408
|
+
"""
|
|
409
|
+
SelectedObjects: typing.ClassVar[ViewportFitMode] # value = <ViewportFitMode.SelectedObjects: 2>
|
|
410
|
+
SelectedPrimitives: typing.ClassVar[ViewportFitMode] # value = <ViewportFitMode.SelectedPrimitives: 1>
|
|
411
|
+
Visible: typing.ClassVar[ViewportFitMode] # value = <ViewportFitMode.Visible: 0>
|
|
412
|
+
__members__: typing.ClassVar[dict[str, ViewportFitMode]] # value = {'Visible': <ViewportFitMode.Visible: 0>, 'SelectedObjects': <ViewportFitMode.SelectedObjects: 2>, 'SelectedPrimitives': <ViewportFitMode.SelectedPrimitives: 1>}
|
|
413
|
+
def __eq__(self, other: typing.Any) -> bool:
|
|
414
|
+
...
|
|
415
|
+
def __getstate__(self) -> int:
|
|
416
|
+
...
|
|
417
|
+
def __hash__(self) -> int:
|
|
418
|
+
...
|
|
419
|
+
def __index__(self) -> int:
|
|
420
|
+
...
|
|
421
|
+
def __init__(self, value: int) -> None:
|
|
422
|
+
...
|
|
423
|
+
def __int__(self) -> int:
|
|
424
|
+
...
|
|
425
|
+
def __ne__(self, other: typing.Any) -> bool:
|
|
426
|
+
...
|
|
427
|
+
def __repr__(self) -> str:
|
|
428
|
+
...
|
|
429
|
+
def __setstate__(self, state: int) -> None:
|
|
430
|
+
...
|
|
431
|
+
def __str__(self) -> str:
|
|
432
|
+
...
|
|
433
|
+
@property
|
|
434
|
+
def name(self) -> str:
|
|
435
|
+
...
|
|
436
|
+
@property
|
|
437
|
+
def value(self) -> int:
|
|
438
|
+
...
|
|
439
|
+
def addDistanceMapToScene(distancemap: meshlib.mrmeshpy.DistanceMap, name: str, dmap_to_local_xf: meshlib.mrmeshpy.AffineXf3f) -> None:
|
|
440
|
+
"""
|
|
441
|
+
Add given distance map to scene tree.
|
|
442
|
+
"""
|
|
443
|
+
def addLinesToScene(lines: meshlib.mrmeshpy.Polyline3, name: str) -> None:
|
|
444
|
+
"""
|
|
445
|
+
Add given lines to scene tree.
|
|
446
|
+
"""
|
|
447
|
+
def addMeshToScene(mesh: meshlib.mrmeshpy.Mesh, name: str) -> None:
|
|
448
|
+
"""
|
|
449
|
+
Add given mesh to scene tree.
|
|
450
|
+
"""
|
|
451
|
+
def addPointCloudToScene(points: meshlib.mrmeshpy.PointCloud, name: str) -> None:
|
|
452
|
+
"""
|
|
453
|
+
Add given point cloud to scene tree.
|
|
454
|
+
"""
|
|
455
|
+
def addVoxelsToScene(voxels: meshlib.mrmeshpy.VdbVolume, name: str) -> None:
|
|
456
|
+
"""
|
|
457
|
+
Add given voxels to scene tree.
|
|
458
|
+
"""
|
|
459
|
+
def clearScene() -> None:
|
|
460
|
+
"""
|
|
461
|
+
remove all objects from scene tree
|
|
462
|
+
"""
|
|
463
|
+
def getSelectedDistanceMaps() -> meshlib.mrmeshpy.std_vector_DistanceMap:
|
|
464
|
+
"""
|
|
465
|
+
Get copies of all selected voxel grids in the scene.
|
|
466
|
+
"""
|
|
467
|
+
def getSelectedMeshEdges() -> meshlib.mrmeshpy.std_vector_TypedBitSet_Id_UndirectedEdgeTag:
|
|
468
|
+
"""
|
|
469
|
+
Get selected edge bitsets of the selected mesh objects.
|
|
470
|
+
"""
|
|
471
|
+
def getSelectedMeshFaces() -> meshlib.mrmeshpy.std_vector_TypedBitSet_Id_FaceTag:
|
|
472
|
+
"""
|
|
473
|
+
Get selected face bitsets of the selected mesh objects.
|
|
474
|
+
"""
|
|
475
|
+
def getSelectedMeshes() -> meshlib.mrmeshpy.std_vector_Mesh:
|
|
476
|
+
"""
|
|
477
|
+
Get copies of all selected meshes in the scene.
|
|
478
|
+
"""
|
|
479
|
+
def getSelectedObjects() -> meshlib.mrmeshpy.std_vector_std_shared_ptr_Object:
|
|
480
|
+
...
|
|
481
|
+
def getSelectedPointCloudPoints() -> meshlib.mrmeshpy.std_vector_TypedBitSet_Id_VertTag:
|
|
482
|
+
"""
|
|
483
|
+
Get selected point bitsets of the selected point cloud objects.
|
|
484
|
+
"""
|
|
485
|
+
def getSelectedPointClouds() -> meshlib.mrmeshpy.std_vector_PointCloud:
|
|
486
|
+
"""
|
|
487
|
+
Get copies of all selected point clouds in the scene.
|
|
488
|
+
"""
|
|
489
|
+
def getSelectedPolylines() -> meshlib.mrmeshpy.std_vector_Polyline_Vector3_float:
|
|
490
|
+
"""
|
|
491
|
+
Get copies of all selected polylines in the scene.
|
|
492
|
+
"""
|
|
493
|
+
def getSelectedVoxels() -> meshlib.mrmeshpy.std_vector_VoxelsVolumeMinMax_FloatGrid:
|
|
494
|
+
"""
|
|
495
|
+
Get copies of all selected voxel grids in the scene.
|
|
496
|
+
"""
|
|
497
|
+
def launch(params: ViewerLaunchParams = ..., setup: ViewerSetup = ...) -> None:
|
|
498
|
+
"""
|
|
499
|
+
starts default viewer with given params and setup
|
|
500
|
+
"""
|
|
501
|
+
def modifySelectedMesh(mesh: meshlib.mrmeshpy.Mesh) -> None:
|
|
502
|
+
"""
|
|
503
|
+
Assign a new mesh to the selected mesh object. Exactly one object must be selected.
|
|
504
|
+
"""
|
|
505
|
+
def runFromGUIThread(lambda: typing.Callable) -> None:
|
|
506
|
+
"""
|
|
507
|
+
Executes given function from GUI thread, and returns after it is done
|
|
508
|
+
"""
|
|
509
|
+
def selectByName(objectName: str) -> None:
|
|
510
|
+
"""
|
|
511
|
+
select objects in scene tree with given name, unselect others
|
|
512
|
+
"""
|
|
513
|
+
def selectByType(typeName: str) -> None:
|
|
514
|
+
"""
|
|
515
|
+
string typeName: {"Meshes", "Points", "Voxels"}
|
|
516
|
+
objects in scene tree with given type, unselect others
|
|
517
|
+
"""
|
|
518
|
+
def setSelectedMeshEdges(arg0: meshlib.mrmeshpy.std_vector_TypedBitSet_Id_UndirectedEdgeTag) -> None:
|
|
519
|
+
"""
|
|
520
|
+
Set selected edge bitsets of the selected mesh objects.
|
|
521
|
+
"""
|
|
522
|
+
def setSelectedMeshFaces(arg0: meshlib.mrmeshpy.std_vector_TypedBitSet_Id_FaceTag) -> None:
|
|
523
|
+
"""
|
|
524
|
+
Set selected face bitsets of the selected mesh objects.
|
|
525
|
+
"""
|
|
526
|
+
def setSelectedPointCloudPoints(arg0: meshlib.mrmeshpy.std_vector_TypedBitSet_Id_VertTag) -> None:
|
|
527
|
+
"""
|
|
528
|
+
Set selected point bitsets of the selected point cloud objects.
|
|
529
|
+
"""
|
|
530
|
+
def uiListEntries(arg0: list[str]) -> list[UiEntry]:
|
|
531
|
+
"""
|
|
532
|
+
List existing UI entries at the specified path.
|
|
533
|
+
Pass an empty list to see top-level groups.
|
|
534
|
+
Add group name to the end of the vector to see its contents.
|
|
535
|
+
When you find the button you need, pass it to `uiPressButton()`.
|
|
536
|
+
"""
|
|
537
|
+
def uiPressButton(arg0: list[str]) -> None:
|
|
538
|
+
"""
|
|
539
|
+
Simulate a button click. Use `uiListEntries()` to find button names.
|
|
540
|
+
"""
|
|
541
|
+
def uiReadValueInt(arg0: list[str]) -> UiValueInt:
|
|
542
|
+
"""
|
|
543
|
+
Read a value from a drag/slider widget. This function is for signed integers.
|
|
544
|
+
"""
|
|
545
|
+
def uiReadValueReal(arg0: list[str]) -> UiValueReal:
|
|
546
|
+
"""
|
|
547
|
+
Read a value from a drag/slider widget. This function is for real numbers.
|
|
548
|
+
"""
|
|
549
|
+
def uiReadValueString(arg0: list[str]) -> UiValueString:
|
|
550
|
+
"""
|
|
551
|
+
Read a value from a drag/slider widget. This function is for strings.
|
|
552
|
+
"""
|
|
553
|
+
def uiReadValueUint(arg0: list[str]) -> UiValueUint:
|
|
554
|
+
"""
|
|
555
|
+
Read a value from a drag/slider widget. This function is for unsigned integers.
|
|
556
|
+
"""
|
|
557
|
+
@typing.overload
|
|
558
|
+
def uiWriteValue(arg0: list[str], arg1: int) -> None:
|
|
559
|
+
"""
|
|
560
|
+
Write a value to a drag/slider widget. This overload is for signed integers.
|
|
561
|
+
"""
|
|
562
|
+
@typing.overload
|
|
563
|
+
def uiWriteValue(arg0: list[str], arg1: int) -> None:
|
|
564
|
+
"""
|
|
565
|
+
Write a value to a drag/slider widget. This overload is for unsigned integers.
|
|
566
|
+
"""
|
|
567
|
+
@typing.overload
|
|
568
|
+
def uiWriteValue(arg0: list[str], arg1: float) -> None:
|
|
569
|
+
"""
|
|
570
|
+
Write a value to a drag/slider widget. This overload is for real numbers.
|
|
571
|
+
"""
|
|
572
|
+
@typing.overload
|
|
573
|
+
def uiWriteValue(arg0: list[str], arg1: str) -> None:
|
|
574
|
+
"""
|
|
575
|
+
Write a value to a drag/slider widget. This overload is for strings.
|
|
576
|
+
"""
|
|
577
|
+
def uiWriteValueInt(arg0: list[str], arg1: int) -> None:
|
|
578
|
+
"""
|
|
579
|
+
Write a value to a drag/slider widget. This overload is for signed integers.
|
|
580
|
+
"""
|
|
581
|
+
def uiWriteValueReal(arg0: list[str], arg1: float) -> None:
|
|
582
|
+
"""
|
|
583
|
+
Write a value to a drag/slider widget. This overload is for real numbers.
|
|
584
|
+
"""
|
|
585
|
+
def uiWriteValueString(arg0: list[str], arg1: str) -> None:
|
|
586
|
+
"""
|
|
587
|
+
Write a value to a drag/slider widget. This overload is for strings.
|
|
588
|
+
"""
|
|
589
|
+
def uiWriteValueUint(arg0: list[str], arg1: int) -> None:
|
|
590
|
+
"""
|
|
591
|
+
Write a value to a drag/slider widget. This overload is for unsigned integers.
|
|
592
|
+
"""
|
|
593
|
+
def unselectAll() -> None:
|
|
594
|
+
"""
|
|
595
|
+
unselect all objects in scene tree
|
|
596
|
+
"""
|
meshlib/mrviewerpy.so
ADDED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|