meshlib 3.0.7.226__py38.py39.py310.py311.py312.py313-none-manylinux_2_28_aarch64.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.

Files changed (166) hide show
  1. meshlib/MRDarkTheme.json +518 -0
  2. meshlib/MRLightTheme.json +520 -0
  3. meshlib/NotoSansSC-Regular.otf +0 -0
  4. meshlib/__init__.py +18 -0
  5. meshlib/fa-solid-900.ttf +0 -0
  6. meshlib/libpybind11nonlimitedapi_meshlib_3.10.so +0 -0
  7. meshlib/libpybind11nonlimitedapi_meshlib_3.11.so +0 -0
  8. meshlib/libpybind11nonlimitedapi_meshlib_3.12.so +0 -0
  9. meshlib/libpybind11nonlimitedapi_meshlib_3.13.so +0 -0
  10. meshlib/libpybind11nonlimitedapi_meshlib_3.8.so +0 -0
  11. meshlib/libpybind11nonlimitedapi_meshlib_3.9.so +0 -0
  12. meshlib/mrcudapy.pyi +229 -0
  13. meshlib/mrcudapy.so +0 -0
  14. meshlib/mrmeshnumpy.pyi +89 -0
  15. meshlib/mrmeshnumpy.so +0 -0
  16. meshlib/mrmeshpy.pyi +92333 -0
  17. meshlib/mrmeshpy.so +0 -0
  18. meshlib/mrviewerpy.pyi +573 -0
  19. meshlib/mrviewerpy.so +0 -0
  20. meshlib/resource/independent_icons/X1/Plane Import.png +0 -0
  21. meshlib/resource/independent_icons/X1/Plane XY.png +0 -0
  22. meshlib/resource/independent_icons/X1/Plane XZ.png +0 -0
  23. meshlib/resource/independent_icons/X1/Plane YZ.png +0 -0
  24. meshlib/resource/independent_icons/X1/mouse left.png +0 -0
  25. meshlib/resource/independent_icons/X1/mouse right.png +0 -0
  26. meshlib/resource/independent_icons/X1/mouse scroll.png +0 -0
  27. meshlib/resource/independent_icons/X3/Plane Import.png +0 -0
  28. meshlib/resource/independent_icons/X3/Plane XY.png +0 -0
  29. meshlib/resource/independent_icons/X3/Plane XZ.png +0 -0
  30. meshlib/resource/independent_icons/X3/Plane YZ.png +0 -0
  31. meshlib/resource/independent_icons/X3/mouse left.png +0 -0
  32. meshlib/resource/independent_icons/X3/mouse right.png +0 -0
  33. meshlib/resource/independent_icons/X3/mouse scroll.png +0 -0
  34. meshlib/resource/object_icons/X1/AngleMeasurementObject.png +0 -0
  35. meshlib/resource/object_icons/X1/CircleObject.png +0 -0
  36. meshlib/resource/object_icons/X1/ConeObject.png +0 -0
  37. meshlib/resource/object_icons/X1/CylinderObject.png +0 -0
  38. meshlib/resource/object_icons/X1/DistanceMeasurementObject.png +0 -0
  39. meshlib/resource/object_icons/X1/LineObject.png +0 -0
  40. meshlib/resource/object_icons/X1/Object.png +0 -0
  41. meshlib/resource/object_icons/X1/ObjectDistanceMap.png +0 -0
  42. meshlib/resource/object_icons/X1/ObjectGcode.png +0 -0
  43. meshlib/resource/object_icons/X1/ObjectLabel.png +0 -0
  44. meshlib/resource/object_icons/X1/ObjectLines.png +0 -0
  45. meshlib/resource/object_icons/X1/ObjectMesh.png +0 -0
  46. meshlib/resource/object_icons/X1/ObjectPoints.png +0 -0
  47. meshlib/resource/object_icons/X1/ObjectVoxels.png +0 -0
  48. meshlib/resource/object_icons/X1/Object_open.png +0 -0
  49. meshlib/resource/object_icons/X1/PlaneObject.png +0 -0
  50. meshlib/resource/object_icons/X1/PointObject.png +0 -0
  51. meshlib/resource/object_icons/X1/RadiusMeasurementObject.png +0 -0
  52. meshlib/resource/object_icons/X1/SphereObject.png +0 -0
  53. meshlib/resource/object_icons/X3/AngleMeasurementObject.png +0 -0
  54. meshlib/resource/object_icons/X3/CircleObject.png +0 -0
  55. meshlib/resource/object_icons/X3/ConeObject.png +0 -0
  56. meshlib/resource/object_icons/X3/CylinderObject.png +0 -0
  57. meshlib/resource/object_icons/X3/DistanceMeasurementObject.png +0 -0
  58. meshlib/resource/object_icons/X3/LineObject.png +0 -0
  59. meshlib/resource/object_icons/X3/Object.png +0 -0
  60. meshlib/resource/object_icons/X3/ObjectDistanceMap.png +0 -0
  61. meshlib/resource/object_icons/X3/ObjectGcode.png +0 -0
  62. meshlib/resource/object_icons/X3/ObjectLabel.png +0 -0
  63. meshlib/resource/object_icons/X3/ObjectLines.png +0 -0
  64. meshlib/resource/object_icons/X3/ObjectMesh.png +0 -0
  65. meshlib/resource/object_icons/X3/ObjectPoints.png +0 -0
  66. meshlib/resource/object_icons/X3/ObjectVoxels.png +0 -0
  67. meshlib/resource/object_icons/X3/Object_open.png +0 -0
  68. meshlib/resource/object_icons/X3/PlaneObject.png +0 -0
  69. meshlib/resource/object_icons/X3/PointObject.png +0 -0
  70. meshlib/resource/object_icons/X3/RadiusMeasurementObject.png +0 -0
  71. meshlib/resource/object_icons/X3/SphereObject.png +0 -0
  72. meshlib/resource/textures/controller_cube_default.png +0 -0
  73. meshlib/resource/textures/controller_cube_edges.png +0 -0
  74. meshlib/resource/textures/controller_cube_sides.png +0 -0
  75. meshlib-3.0.7.226.dist-info/METADATA +264 -0
  76. meshlib-3.0.7.226.dist-info/RECORD +166 -0
  77. meshlib-3.0.7.226.dist-info/WHEEL +11 -0
  78. meshlib-3.0.7.226.dist-info/licenses/LICENSE +148 -0
  79. meshlib-3.0.7.226.dist-info/top_level.txt +1 -0
  80. meshlib.libs/libE57Format-54cf91fc.so.3.2.0 +0 -0
  81. meshlib.libs/libImath-3_1-9bc17c80.so.29.11.0 +0 -0
  82. meshlib.libs/libMRCuda-737845ee.so +0 -0
  83. meshlib.libs/libMRIOExtras-5f1220e8.so +0 -0
  84. meshlib.libs/libMRMesh-c64b1977.so +0 -0
  85. meshlib.libs/libMRPython-71127d54.so +0 -0
  86. meshlib.libs/libMRSymbolMesh-08c26984.so +0 -0
  87. meshlib.libs/libMRViewer-30ea981f.so +0 -0
  88. meshlib.libs/libMRVoxels-754afa60.so +0 -0
  89. meshlib.libs/libOpenCTM-c2be9009.so +0 -0
  90. meshlib.libs/libTKBO-6de90436.so.7.9.1 +0 -0
  91. meshlib.libs/libTKBRep-be9d9131.so.7.9.1 +0 -0
  92. meshlib.libs/libTKCAF-699a22f0.so.7.9.1 +0 -0
  93. meshlib.libs/libTKCDF-b89e6851.so.7.9.1 +0 -0
  94. meshlib.libs/libTKDE-c322ec47.so.7.9.1 +0 -0
  95. meshlib.libs/libTKDESTEP-4685224e.so.7.9.1 +0 -0
  96. meshlib.libs/libTKG2d-954df20d.so.7.9.1 +0 -0
  97. meshlib.libs/libTKG3d-7e8bbae7.so.7.9.1 +0 -0
  98. meshlib.libs/libTKGeomAlgo-2b4dff7e.so.7.9.1 +0 -0
  99. meshlib.libs/libTKGeomBase-0e76c24b.so.7.9.1 +0 -0
  100. meshlib.libs/libTKHLR-e08db92b.so.7.9.1 +0 -0
  101. meshlib.libs/libTKLCAF-79387d68.so.7.9.1 +0 -0
  102. meshlib.libs/libTKMath-f4203a47.so.7.9.1 +0 -0
  103. meshlib.libs/libTKMesh-12a62fb4.so.7.9.1 +0 -0
  104. meshlib.libs/libTKPrim-9a8eec23.so.7.9.1 +0 -0
  105. meshlib.libs/libTKService-71598fbe.so.7.9.1 +0 -0
  106. meshlib.libs/libTKShHealing-38454ed5.so.7.9.1 +0 -0
  107. meshlib.libs/libTKTopAlgo-a8ed614d.so.7.9.1 +0 -0
  108. meshlib.libs/libTKV3d-d935c2da.so.7.9.1 +0 -0
  109. meshlib.libs/libTKVCAF-dd600012.so.7.9.1 +0 -0
  110. meshlib.libs/libTKXCAF-cd811c6b.so.7.9.1 +0 -0
  111. meshlib.libs/libTKXSBase-a0fee5f8.so.7.9.1 +0 -0
  112. meshlib.libs/libTKernel-2e6f70f4.so.7.9.1 +0 -0
  113. meshlib.libs/libXau-a4f70447.so.6.0.0 +0 -0
  114. meshlib.libs/libblkid-66bc24bc.so.1.1.0 +0 -0
  115. meshlib.libs/libblosc-bc0d5daf.so.1.21.6 +0 -0
  116. meshlib.libs/libboost_iostreams-ac0c9336.so.1.87.0 +0 -0
  117. meshlib.libs/libboost_random-df78b5ae.so.1.87.0 +0 -0
  118. meshlib.libs/libboost_system-e5969f7d.so.1.87.0 +0 -0
  119. meshlib.libs/libbrotlicommon-915e6cfc.so.1.1.0 +0 -0
  120. meshlib.libs/libbrotlidec-c26ca299.so.1.1.0 +0 -0
  121. meshlib.libs/libbz2-b466ff2c.so.1.0.8 +0 -0
  122. meshlib.libs/libclip-3cae3f63.so +0 -0
  123. meshlib.libs/libcpr-24375d10.so.1.11.1 +0 -0
  124. meshlib.libs/libcrypto-19aeb931.so.3 +0 -0
  125. meshlib.libs/libcurl-6caa1be4.so.4.8.0 +0 -0
  126. meshlib.libs/libfmt-139265b9.so.11.0.2 +0 -0
  127. meshlib.libs/libfreetype-7d1e7349.so.6.20.2 +0 -0
  128. meshlib.libs/libgdcmCommon-46bec7a3.so.3.0.24 +0 -0
  129. meshlib.libs/libgdcmDICT-311b3e40.so.3.0.24 +0 -0
  130. meshlib.libs/libgdcmDSED-d1b0c491.so.3.0.24 +0 -0
  131. meshlib.libs/libgdcmIOD-5608cd8e.so.3.0.24 +0 -0
  132. meshlib.libs/libgdcmMEXD-617af599.so.3.0.24 +0 -0
  133. meshlib.libs/libgdcmMSFF-5965033b.so.3.0.24 +0 -0
  134. meshlib.libs/libgdcmcharls-55ba73f5.so.2.0 +0 -0
  135. meshlib.libs/libgdcmjpeg12-8cccdfd4.so.3.0.24 +0 -0
  136. meshlib.libs/libgdcmjpeg16-550e9044.so.3.0.24 +0 -0
  137. meshlib.libs/libgdcmjpeg8-70ed78d2.so.3.0.24 +0 -0
  138. meshlib.libs/libgdcmuuid-a3507471.so.3.0.24 +0 -0
  139. meshlib.libs/libglfw-94f9651f.so.3.4 +0 -0
  140. meshlib.libs/libgtest-04626c93.so.1.16.0 +0 -0
  141. meshlib.libs/libhidapi-hidraw-a4ec0253.so.0.14.0 +0 -0
  142. meshlib.libs/libhpdf-bb4b3541.so.2.4.4 +0 -0
  143. meshlib.libs/libimgui-53a26a5f.so +0 -0
  144. meshlib.libs/libjpeg-88fba3c1.so.62.4.0 +0 -0
  145. meshlib.libs/libjsoncpp-555d14b6.so.1.9.6 +0 -0
  146. meshlib.libs/liblazperf-7c4fe6f6.so +0 -0
  147. meshlib.libs/liblz4-823bcb50.so.1.10.0 +0 -0
  148. meshlib.libs/liblzma-7df2f505.so.5.8.1 +0 -0
  149. meshlib.libs/libmount-6d51c2bc.so.1.1.0 +0 -0
  150. meshlib.libs/libopenjp2-c3509249.so.2.5.3 +0 -0
  151. meshlib.libs/libopenvdb-1c3ff191.so.12.0.0 +0 -0
  152. meshlib.libs/libpng16-3dbe3e71.so.16.46.0 +0 -0
  153. meshlib.libs/libpybind11nonlimitedapi_stubs-6181ff0d.so +0 -0
  154. meshlib.libs/libsocketxx-ea95b3a7.so.1.2.0 +0 -0
  155. meshlib.libs/libspdlog-f6bb8280.so.1.15.2 +0 -0
  156. meshlib.libs/libssl-45b8220d.so.3 +0 -0
  157. meshlib.libs/libtbb-75658051.so.12.14 +0 -0
  158. meshlib.libs/libtbbmalloc-c71fdade.so.2.14 +0 -0
  159. meshlib.libs/libtiff-6c125b47.so.6.1.0 +0 -0
  160. meshlib.libs/libtinyxml2-d05920c4.so.11.0.0 +0 -0
  161. meshlib.libs/libturbojpeg-2f6bf377.so.0.4.0 +0 -0
  162. meshlib.libs/libudev-05ee8926.so.1.6.11 +0 -0
  163. meshlib.libs/libxcb-6a2d5dfb.so.1.1.0 +0 -0
  164. meshlib.libs/libxerces-c-3-d3c061e7.3.so +0 -0
  165. meshlib.libs/libzip-23ef0fc4.so.5.5 +0 -0
  166. meshlib.libs/libzstd-85316ac3.so.1.5.7 +0 -0
meshlib/mrcudapy.pyi ADDED
@@ -0,0 +1,229 @@
1
+ from __future__ import annotations
2
+ import meshlib.mrmeshpy
3
+ from meshlib.mrmeshpy import func_bool_from_float
4
+ from meshlib.mrmeshpy import func_tl_expected_void_std_string_from_std_vector_float_Vector3_int_int
5
+ from meshlib.mrmeshpy import int_output
6
+ from meshlib.mrmeshpy import std_vector_MeshIntersectionResult
7
+ from meshlib.mrmeshpy import std_vector_MeshProjectionResult
8
+ from meshlib.mrmeshpy import std_vector_MeshTriPoint
9
+ from meshlib.mrmeshpy import std_vector_PointsProjectionResult
10
+ from meshlib.mrmeshpy import std_vector_SkyPatch
11
+ from meshlib.mrmeshpy import std_vector_Vector3_float
12
+ from meshlib.mrmeshpy import std_vector_Vector3_float as std_vector_Vector3f
13
+ from meshlib.mrmeshpy import std_vector_float
14
+ import typing
15
+ __all__: list[str] = ['FastWindingNumber', 'PointsProjector', 'PointsToMeshProjector', 'computeDistanceMap', 'computeDistanceMapHeapBytes', 'computeSkyViewFactor', 'distanceMapFromContours', 'distanceMapFromContoursHeapBytes', 'findProjectionOnPoints', 'findProjectionOnPointsHeapBytes', 'findSkyRays', 'func_bool_from_float', 'func_tl_expected_void_std_string_from_VoxelsVolumeMinMax_Vector_float_Id_VoxelTag_int', 'func_tl_expected_void_std_string_from_std_vector_float_Vector3_int_int', 'getCudaAvailableMemory', 'getCudaSafeMemoryLimit', 'int_output', 'isCudaAvailable', 'loadMRCudaDll', 'maxBufferSize', 'maxBufferSizeAlignedByBlock', 'negatePicture', 'pointsToDistanceVolume', 'pointsToDistanceVolumeByParts', 'std_vector_MeshIntersectionResult', 'std_vector_MeshProjectionResult', 'std_vector_MeshTriPoint', 'std_vector_PointsProjectionResult', 'std_vector_SkyPatch', 'std_vector_Vector3_float', 'std_vector_Vector3f', 'std_vector_float']
16
+ class FastWindingNumber(meshlib.mrmeshpy.IFastWindingNumber, meshlib.mrmeshpy.IFastWindingNumberByParts):
17
+ """
18
+ Generated from: MR::Cuda::FastWindingNumber
19
+
20
+ the class for fast approximate computation of winding number for a mesh (using its AABB tree)
21
+ """
22
+ @staticmethod
23
+ @typing.overload
24
+ def __init__(*args, **kwargs) -> None:
25
+ ...
26
+ @typing.overload
27
+ def __init__(self, mesh: meshlib.mrmeshpy.Mesh) -> None:
28
+ """
29
+ constructs this from AABB tree of given mesh;
30
+ """
31
+ def calcFromGrid(self, res: meshlib.mrmeshpy.std_vector_float, dims: meshlib.mrmeshpy.Vector3i, gridToMeshXf: meshlib.mrmeshpy.AffineXf3f, beta: float, cb: meshlib.mrmeshpy.func_bool_from_float) -> None:
32
+ ...
33
+ def calcFromGridByParts(self, resFunc: meshlib.mrmeshpy.func_tl_expected_void_std_string_from_std_vector_float_Vector3_int_int, dims: meshlib.mrmeshpy.Vector3i, gridToMeshXf: meshlib.mrmeshpy.AffineXf3f, beta: float, layerOverlap: int, cb: meshlib.mrmeshpy.func_bool_from_float) -> None:
34
+ """
35
+ see methods' descriptions in IFastWindingNumberByParts
36
+ """
37
+ def calcFromGridWithDistances(self, res: meshlib.mrmeshpy.std_vector_float, dims: meshlib.mrmeshpy.Vector3i, gridToMeshXf: meshlib.mrmeshpy.AffineXf3f, options: meshlib.mrmeshpy.DistanceToMeshOptions, cb: meshlib.mrmeshpy.func_bool_from_float) -> None:
38
+ ...
39
+ def calcFromGridWithDistancesByParts(self, resFunc: meshlib.mrmeshpy.func_tl_expected_void_std_string_from_std_vector_float_Vector3_int_int, dims: meshlib.mrmeshpy.Vector3i, gridToMeshXf: meshlib.mrmeshpy.AffineXf3f, options: meshlib.mrmeshpy.DistanceToMeshOptions, layerOverlap: int, cb: meshlib.mrmeshpy.func_bool_from_float) -> None:
40
+ ...
41
+ def calcFromVector(self, res: meshlib.mrmeshpy.std_vector_float, points: meshlib.mrmeshpy.std_vector_Vector3_float, beta: float, skipFace: meshlib.mrmeshpy.FaceId, cb: meshlib.mrmeshpy.func_bool_from_float) -> None:
42
+ """
43
+ see methods' descriptions in IFastWindingNumber
44
+ """
45
+ def calcSelfIntersections(self, res: meshlib.mrmeshpy.FaceBitSet, beta: float, cb: meshlib.mrmeshpy.func_bool_from_float) -> None:
46
+ ...
47
+ class PointsProjector(meshlib.mrmeshpy.IPointsProjector):
48
+ """
49
+ Generated from: MR::Cuda::PointsProjector
50
+
51
+ CUDA-backed implementation of IPointsProjector
52
+ """
53
+ @staticmethod
54
+ @typing.overload
55
+ def __init__(*args, **kwargs) -> None:
56
+ ...
57
+ @staticmethod
58
+ @typing.overload
59
+ def operator(*args, **kwargs) -> PointsProjector:
60
+ ...
61
+ @staticmethod
62
+ @typing.overload
63
+ def operator(*args, **kwargs) -> PointsProjector:
64
+ ...
65
+ @typing.overload
66
+ def __init__(self) -> None:
67
+ ...
68
+ def findProjections(self, results: meshlib.mrmeshpy.std_vector_PointsProjectionResult, points: meshlib.mrmeshpy.std_vector_Vector3_float, settings: meshlib.mrmeshpy.FindProjectionOnPointsSettings) -> None:
69
+ """
70
+ computes the closest points on point cloud to given points
71
+ """
72
+ def projectionsHeapBytes(self, numProjections: int) -> int:
73
+ """
74
+ Returns amount of additional memory needed to compute projections
75
+ """
76
+ def setPointCloud(self, pointCloud: meshlib.mrmeshpy.PointCloud) -> None:
77
+ """
78
+ sets the reference point cloud
79
+ """
80
+ class PointsToMeshProjector(meshlib.mrmeshpy.IPointsToMeshProjector):
81
+ """
82
+ Generated from: MR::Cuda::PointsToMeshProjector
83
+
84
+ Computes the closest point on mesh to each of given points on GPU. It caches data that necessary for computing
85
+ """
86
+ @staticmethod
87
+ @typing.overload
88
+ def __init__(*args, **kwargs) -> None:
89
+ ...
90
+ @staticmethod
91
+ @typing.overload
92
+ def operator(*args, **kwargs) -> PointsToMeshProjector:
93
+ ...
94
+ @staticmethod
95
+ @typing.overload
96
+ def operator(*args, **kwargs) -> PointsToMeshProjector:
97
+ ...
98
+ @typing.overload
99
+ def __init__(self) -> None:
100
+ ...
101
+ def findProjections(self, res: meshlib.mrmeshpy.std_vector_MeshProjectionResult, points: meshlib.mrmeshpy.std_vector_Vector3_float, objXf: meshlib.mrmeshpy.AffineXf3f, refObjXf: meshlib.mrmeshpy.AffineXf3f, upDistLimitSq: float, loDistLimitSq: float) -> None:
102
+ """
103
+ <summary>
104
+ Computes the closest point on mesh to each of given points
105
+ </summary>
106
+ <param name="res">vector pf projections</param>
107
+ <param name="points">vector of points to project</param>
108
+ <param name="objXf">transform applied to points</param>
109
+ <param name="refObjXf">transform applied to referencing mesh</param>
110
+ <param name="upDistLimitSq">maximal squared distance from point to mesh</param>
111
+ <param name="loDistLimitSq">minimal squared distance from point to mesh</param>
112
+ """
113
+ def projectionsHeapBytes(self, numProjections: int) -> int:
114
+ """
115
+ Returns amount of additional memory needed to compute projections
116
+ """
117
+ def updateMeshData(self, mesh: meshlib.mrmeshpy.Mesh) -> None:
118
+ """
119
+ update all data related to the referencing mesh
120
+ """
121
+ class func_tl_expected_void_std_string_from_VoxelsVolumeMinMax_Vector_float_Id_VoxelTag_int:
122
+ def __bool__(self) -> bool:
123
+ ...
124
+ def __call__(self, arg0: meshlib.mrmeshpy.SimpleVolumeMinMax, arg1: int) -> None:
125
+ ...
126
+ @typing.overload
127
+ def __init__(self) -> None:
128
+ ...
129
+ @typing.overload
130
+ def __init__(self, arg0: None) -> None:
131
+ ...
132
+ @typing.overload
133
+ def __init__(self, arg0: func_tl_expected_void_std_string_from_VoxelsVolumeMinMax_Vector_float_Id_VoxelTag_int) -> None:
134
+ ...
135
+ def can_be_created_from_python(self) -> bool:
136
+ """
137
+ If false, this function type can't hold a Python function, and can only be created from C++.
138
+ """
139
+ def holds_cpp_function(self) -> bool:
140
+ """
141
+ Does this object currentlyhold a C++ function? As opposed to a Python one.
142
+ """
143
+ def computeDistanceMap(mesh: meshlib.mrmeshpy.Mesh, params: meshlib.mrmeshpy.MeshToDistanceMapParams, cb: meshlib.mrmeshpy.func_bool_from_float = '{}', outSamples: meshlib.mrmeshpy.std_vector_MeshTriPoint = None) -> meshlib.mrmeshpy.DistanceMap:
144
+ """
145
+ computes distance (height) map for given projection parameters
146
+ using float-precision for finding ray-mesh intersections, which is faster but less reliable
147
+ """
148
+ def computeDistanceMapHeapBytes(mesh: meshlib.mrmeshpy.Mesh, params: meshlib.mrmeshpy.MeshToDistanceMapParams, needOutSamples: bool = False) -> int:
149
+ """
150
+ Computes memory consumption of computeDistanceMap function
151
+ """
152
+ def computeSkyViewFactor(terrain: meshlib.mrmeshpy.Mesh, samples: meshlib.mrmeshpy.VertCoords, validSamples: meshlib.mrmeshpy.VertBitSet, skyPatches: meshlib.mrmeshpy.std_vector_SkyPatch, outSkyRays: meshlib.mrmeshpy.BitSet = None, outIntersections: meshlib.mrmeshpy.std_vector_MeshIntersectionResult = None) -> meshlib.mrmeshpy.VertScalars:
153
+ """
154
+ computes relative radiation in each valid sample point by emitting rays from that point in the sky:
155
+ the radiation is 1.0f if all rays reach the sky not hitting the terrain;
156
+ the radiation is 0.0f if all rays do not reach the sky because they are intercepted by the terrain;
157
+ \\param outSkyRays - optional output bitset where for every valid sample #i its rays are stored at indices [i*numPatches; (i+1)*numPatches),
158
+ 0s for occluded rays (hitting the terrain) and 1s for the ones which don't hit anything and reach the sky
159
+ \\param outIntersections - optional output vector of MeshIntersectionResult for every valid sample point
160
+ """
161
+ def distanceMapFromContours(polyline: meshlib.mrmeshpy.Polyline2, params: meshlib.mrmeshpy.ContourToDistanceMapParams) -> meshlib.mrmeshpy.DistanceMap:
162
+ """
163
+ Computes distance of 2d contours according to ContourToDistanceMapParams (works correctly only when withSign==false)
164
+ """
165
+ def distanceMapFromContoursHeapBytes(polyline: meshlib.mrmeshpy.Polyline2, params: meshlib.mrmeshpy.ContourToDistanceMapParams) -> int:
166
+ """
167
+ Computes memory consumption of distanceMapFromContours function
168
+ """
169
+ def findProjectionOnPoints(pointCloud: meshlib.mrmeshpy.PointCloud, points: meshlib.mrmeshpy.std_vector_Vector3_float, settings: meshlib.mrmeshpy.FindProjectionOnPointsSettings = '{}') -> meshlib.mrmeshpy.std_vector_PointsProjectionResult:
170
+ """
171
+ computes the closest points on point cloud to given points
172
+ """
173
+ def findProjectionOnPointsHeapBytes(pointCloud: meshlib.mrmeshpy.PointCloud, pointsCount: int) -> int:
174
+ """
175
+ returns the minimal amount of free GPU memory required for \\ref MR::Cuda::findProjectionOnPoints
176
+ """
177
+ def findSkyRays(terrain: meshlib.mrmeshpy.Mesh, samples: meshlib.mrmeshpy.VertCoords, validSamples: meshlib.mrmeshpy.VertBitSet, skyPatches: meshlib.mrmeshpy.std_vector_SkyPatch, outIntersections: meshlib.mrmeshpy.std_vector_MeshIntersectionResult = None) -> meshlib.mrmeshpy.BitSet:
178
+ """
179
+ In each valid sample point tests the rays from that point in the sky;
180
+ \\return bitset where for every valid sample #i its rays are stored at indices [i*numPatches; (i+1)*numPatches),
181
+ 0s for occluded rays (hitting the terrain) and 1s for the ones which don't hit anything and reach the sky
182
+ \\param outIntersections - optional output vector of MeshIntersectionResult for every valid sample point
183
+ """
184
+ def getCudaAvailableMemory() -> int:
185
+ """
186
+ Returns available GPU memory in bytes
187
+ """
188
+ def getCudaSafeMemoryLimit() -> int:
189
+ """
190
+ Returns maximum safe amount of free GPU memory that will be used for dynamic-sized buffers
191
+ """
192
+ def isCudaAvailable(driverVersion: meshlib.mrmeshpy.int_output = None, runtimeVersion: meshlib.mrmeshpy.int_output = None, computeMajor: meshlib.mrmeshpy.int_output = None, computeMinor: meshlib.mrmeshpy.int_output = None) -> bool:
193
+ """
194
+ Returns true if Cuda is present on this GPU
195
+ optional out maximum driver supported version
196
+ optional out current runtime version
197
+ optional out compute capability major version
198
+ optional out compute capability minor version
199
+ """
200
+ def loadMRCudaDll() -> None:
201
+ """
202
+ call this function to load MRCuda shared library
203
+ """
204
+ def maxBufferSize(availableBytes: int, elementCount: int, elementBytes: int) -> int:
205
+ """
206
+ Returns maximum buffer size in elements that can be allocated with given memory limit
207
+ """
208
+ @typing.overload
209
+ def maxBufferSizeAlignedByBlock(availableBytes: int, blockDims: meshlib.mrmeshpy.Vector2i, elementBytes: int) -> int:
210
+ """
211
+ Returns maximum buffer size in elements that can be allocated with given memory limit
212
+ The size is aligned to the block dimensions
213
+ """
214
+ @typing.overload
215
+ def maxBufferSizeAlignedByBlock(availableBytes: int, blockDims: meshlib.mrmeshpy.Vector3i, elementBytes: int) -> int:
216
+ ...
217
+ def negatePicture(image: meshlib.mrmeshpy.Image) -> None:
218
+ """
219
+ This function inverts Color value (255 - value in each channel except alpha)
220
+ """
221
+ def pointsToDistanceVolume(cloud: meshlib.mrmeshpy.PointCloud, params: meshlib.mrmeshpy.PointsToDistanceVolumeParams) -> meshlib.mrmeshpy.SimpleVolumeMinMax:
222
+ """
223
+ makes SimpleVolume filled with signed distances to points with normals
224
+ """
225
+ def pointsToDistanceVolumeByParts(cloud: meshlib.mrmeshpy.PointCloud, params: meshlib.mrmeshpy.PointsToDistanceVolumeParams, addPart: func_tl_expected_void_std_string_from_VoxelsVolumeMinMax_Vector_float_Id_VoxelTag_int, layerOverlap: int) -> None:
226
+ """
227
+ makes SimpleVolume filled with signed distances to points with normals
228
+ populate the volume by parts to the given callback
229
+ """
meshlib/mrcudapy.so ADDED
Binary file
@@ -0,0 +1,89 @@
1
+ from __future__ import annotations
2
+ import meshlib.mrmeshpy
3
+ import numpy
4
+ import typing
5
+ import typing_extensions
6
+ __all__: list[str] = ['edgeBitSetFromBools', 'faceBitSetFromBools', 'fromNumpyArray', 'getNumpy3Darray', 'getNumpyBitSet', 'getNumpyCurvature', 'getNumpyFaces', 'getNumpyGaussianCurvature', 'getNumpyMeanCurvature', 'getNumpyVerts', 'meshFromFacesVerts', 'meshFromUVPoints', 'pointCloudFromPoints', 'polyline2FromPoints', 'simpleVolumeFrom3Darray', 'toNumpyArray', 'undirectedEdgeBitSetFromBools', 'vertBitSetFromBools']
7
+ def edgeBitSetFromBools(boolArray: typing_extensions.Buffer) -> meshlib.mrmeshpy.EdgeBitSet:
8
+ """
9
+ returns EdgeBitSet from numpy array with bools
10
+ """
11
+ def faceBitSetFromBools(boolArray: typing_extensions.Buffer) -> meshlib.mrmeshpy.FaceBitSet:
12
+ """
13
+ returns FaceBitSet from numpy array with bools
14
+ """
15
+ def fromNumpyArray(coords: typing_extensions.Buffer) -> meshlib.mrmeshpy.std_vector_Vector3_float:
16
+ """
17
+ constructs mrmeshpy.vectorVector3f from numpy ndarray with shape (n,3)
18
+ """
19
+ def getNumpy3Darray(simpleVolume: meshlib.mrmeshpy.SimpleVolume) -> numpy.ndarray[numpy.float64]:
20
+ """
21
+ Convert SimpleVolume to numpy 3D array
22
+ """
23
+ def getNumpyBitSet(bitset: meshlib.mrmeshpy.BitSet) -> numpy.ndarray[bool]:
24
+ """
25
+ returns numpy array with bools for each bit of given bitset
26
+ """
27
+ def getNumpyCurvature(mesh: meshlib.mrmeshpy.Mesh) -> numpy.ndarray[numpy.float64]:
28
+ """
29
+ retunrs numpy array with discrete mean curvature for each vertex of a mesh
30
+ """
31
+ def getNumpyFaces(topology: meshlib.mrmeshpy.MeshTopology) -> numpy.ndarray[numpy.int32]:
32
+ """
33
+ returns numpy array shapes [num faces,3] which represents vertices of mesh valid faces
34
+ """
35
+ def getNumpyGaussianCurvature(mesh: meshlib.mrmeshpy.Mesh) -> numpy.ndarray[numpy.float64]:
36
+ """
37
+ retunrs numpy array with discrete Gaussian curvature for each vertex of a mesh
38
+ """
39
+ def getNumpyMeanCurvature(mesh: meshlib.mrmeshpy.Mesh) -> numpy.ndarray[numpy.float64]:
40
+ """
41
+ retunrs numpy array with discrete mean curvature for each vertex of a mesh
42
+ """
43
+ def getNumpyVerts(mesh: meshlib.mrmeshpy.Mesh) -> numpy.ndarray[numpy.float64]:
44
+ """
45
+ returns numpy array shapes [num verts,3] which represents coordinates of all mesh points (including invalid ones)
46
+ """
47
+ def meshFromFacesVerts(faces: typing_extensions.Buffer, verts: typing_extensions.Buffer, settings: meshlib.mrmeshpy.MeshBuilder.BuildSettings = ..., duplicateNonManifoldVertices: bool = True) -> meshlib.mrmeshpy.Mesh:
48
+ """
49
+ constructs mesh from given numpy ndarrays of faces (N VertId x3, FaceId x1), verts (M vec3 x3)
50
+ """
51
+ def meshFromUVPoints(xArray: typing_extensions.Buffer, yArray: typing_extensions.Buffer, zArray: typing_extensions.Buffer) -> meshlib.mrmeshpy.Mesh:
52
+ """
53
+ constructs mesh from three 2d numpy ndarrays with x,y,z positions of mesh
54
+ """
55
+ def pointCloudFromPoints(points: typing_extensions.Buffer, normals: typing_extensions.Buffer = ...) -> meshlib.mrmeshpy.PointCloud:
56
+ """
57
+ creates point cloud object from numpy arrays, first arg - points, second optional arg - normals
58
+ """
59
+ def polyline2FromPoints(points: typing_extensions.Buffer) -> meshlib.mrmeshpy.Polyline2:
60
+ """
61
+ creates polyline2 object from numpy array
62
+ """
63
+ def simpleVolumeFrom3Darray(3DvoxelsArray: typing_extensions.Buffer) -> meshlib.mrmeshpy.SimpleVolumeMinMax:
64
+ """
65
+ Convert numpy 3D array to SimpleVolume
66
+ """
67
+ @typing.overload
68
+ def toNumpyArray(coords: meshlib.mrmeshpy.VertCoords) -> numpy.ndarray[numpy.float64]:
69
+ """
70
+ returns numpy array shapes [num coords,3] which represents coordinates from given vector
71
+ """
72
+ @typing.overload
73
+ def toNumpyArray(coords: meshlib.mrmeshpy.FaceNormals) -> numpy.ndarray[numpy.float64]:
74
+ """
75
+ returns numpy array shapes [num coords,3] which represents coordinates from given vector
76
+ """
77
+ @typing.overload
78
+ def toNumpyArray(coords: meshlib.mrmeshpy.std_vector_Vector3_float) -> numpy.ndarray[numpy.float64]:
79
+ """
80
+ returns numpy array shapes [num coords,3] which represents coordinates from given vector
81
+ """
82
+ def undirectedEdgeBitSetFromBools(boolArray: typing_extensions.Buffer) -> meshlib.mrmeshpy.UndirectedEdgeBitSet:
83
+ """
84
+ returns UndirectedEdgeBitSet from numpy array with bools
85
+ """
86
+ def vertBitSetFromBools(boolArray: typing_extensions.Buffer) -> meshlib.mrmeshpy.VertBitSet:
87
+ """
88
+ returns VertBitSet from numpy array with bools
89
+ """
meshlib/mrmeshnumpy.so ADDED
Binary file