meshlib 3.0.7.226__py38.py39.py310.py311.py312.py313-none-manylinux_2_28_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/MRDarkTheme.json +518 -0
- meshlib/MRLightTheme.json +520 -0
- meshlib/NotoSansSC-Regular.otf +0 -0
- meshlib/__init__.py +18 -0
- meshlib/fa-solid-900.ttf +0 -0
- meshlib/libpybind11nonlimitedapi_meshlib_3.10.so +0 -0
- meshlib/libpybind11nonlimitedapi_meshlib_3.11.so +0 -0
- meshlib/libpybind11nonlimitedapi_meshlib_3.12.so +0 -0
- meshlib/libpybind11nonlimitedapi_meshlib_3.13.so +0 -0
- meshlib/libpybind11nonlimitedapi_meshlib_3.8.so +0 -0
- meshlib/libpybind11nonlimitedapi_meshlib_3.9.so +0 -0
- meshlib/mrcudapy.pyi +229 -0
- meshlib/mrcudapy.so +0 -0
- meshlib/mrmeshnumpy.pyi +89 -0
- meshlib/mrmeshnumpy.so +0 -0
- meshlib/mrmeshpy.pyi +92338 -0
- meshlib/mrmeshpy.so +0 -0
- meshlib/mrviewerpy.pyi +573 -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.7.226.dist-info/METADATA +264 -0
- meshlib-3.0.7.226.dist-info/RECORD +166 -0
- meshlib-3.0.7.226.dist-info/WHEEL +11 -0
- meshlib-3.0.7.226.dist-info/licenses/LICENSE +148 -0
- meshlib-3.0.7.226.dist-info/top_level.txt +1 -0
- meshlib.libs/libE57Format-981a1c21.so.3.2.0 +0 -0
- meshlib.libs/libImath-3_1-28d78eff.so.29.11.0 +0 -0
- meshlib.libs/libMRCuda-b0e5315d.so +0 -0
- meshlib.libs/libMRIOExtras-ac441bc0.so +0 -0
- meshlib.libs/libMRMesh-6919a89b.so +0 -0
- meshlib.libs/libMRPython-13e49974.so +0 -0
- meshlib.libs/libMRSymbolMesh-858b410b.so +0 -0
- meshlib.libs/libMRViewer-73168659.so +0 -0
- meshlib.libs/libMRVoxels-1d1530a3.so +0 -0
- meshlib.libs/libOpenCTM-59942d2b.so +0 -0
- meshlib.libs/libTKBO-5124f60c.so.7.9.1 +0 -0
- meshlib.libs/libTKBRep-4382d1ce.so.7.9.1 +0 -0
- meshlib.libs/libTKCAF-fd5cf0fd.so.7.9.1 +0 -0
- meshlib.libs/libTKCDF-ccc61f37.so.7.9.1 +0 -0
- meshlib.libs/libTKDE-396d2976.so.7.9.1 +0 -0
- meshlib.libs/libTKDESTEP-5f5f618f.so.7.9.1 +0 -0
- meshlib.libs/libTKG2d-ed710dc0.so.7.9.1 +0 -0
- meshlib.libs/libTKG3d-d05dcf5d.so.7.9.1 +0 -0
- meshlib.libs/libTKGeomAlgo-484f2fba.so.7.9.1 +0 -0
- meshlib.libs/libTKGeomBase-2f06c298.so.7.9.1 +0 -0
- meshlib.libs/libTKHLR-6602069a.so.7.9.1 +0 -0
- meshlib.libs/libTKLCAF-2a623b50.so.7.9.1 +0 -0
- meshlib.libs/libTKMath-c6ba2fdb.so.7.9.1 +0 -0
- meshlib.libs/libTKMesh-ea99ab39.so.7.9.1 +0 -0
- meshlib.libs/libTKPrim-e9f9ac3a.so.7.9.1 +0 -0
- meshlib.libs/libTKService-01ef9ca1.so.7.9.1 +0 -0
- meshlib.libs/libTKShHealing-24c6b482.so.7.9.1 +0 -0
- meshlib.libs/libTKTopAlgo-e79ab720.so.7.9.1 +0 -0
- meshlib.libs/libTKV3d-eb50ac62.so.7.9.1 +0 -0
- meshlib.libs/libTKVCAF-666d9d3f.so.7.9.1 +0 -0
- meshlib.libs/libTKXCAF-009ac9eb.so.7.9.1 +0 -0
- meshlib.libs/libTKXSBase-b97028e5.so.7.9.1 +0 -0
- meshlib.libs/libTKernel-9d9ae0cd.so.7.9.1 +0 -0
- meshlib.libs/libXau-e6d22245.so.6.0.0 +0 -0
- meshlib.libs/libblkid-7e492326.so.1.1.0 +0 -0
- meshlib.libs/libblosc-f8621f0c.so.1.21.6 +0 -0
- meshlib.libs/libboost_iostreams-9b41374f.so.1.87.0 +0 -0
- meshlib.libs/libboost_random-8dc2bec6.so.1.87.0 +0 -0
- meshlib.libs/libboost_system-4aa5ddbd.so.1.87.0 +0 -0
- meshlib.libs/libbrotlicommon-33e6d482.so.1.1.0 +0 -0
- meshlib.libs/libbrotlidec-137364e8.so.1.1.0 +0 -0
- meshlib.libs/libbz2-e57c9054.so.1.0.8 +0 -0
- meshlib.libs/libclip-b9d6625b.so +0 -0
- meshlib.libs/libcpr-027295e4.so.1.11.1 +0 -0
- meshlib.libs/libcrypto-a805f117.so.3 +0 -0
- meshlib.libs/libcurl-730349a8.so.4.8.0 +0 -0
- meshlib.libs/libfmt-46786283.so.11.0.2 +0 -0
- meshlib.libs/libfreetype-30f75dce.so.6.20.2 +0 -0
- meshlib.libs/libgdcmCommon-1de9e82b.so.3.0.24 +0 -0
- meshlib.libs/libgdcmDICT-24616156.so.3.0.24 +0 -0
- meshlib.libs/libgdcmDSED-0178be4c.so.3.0.24 +0 -0
- meshlib.libs/libgdcmIOD-a6a5e926.so.3.0.24 +0 -0
- meshlib.libs/libgdcmMEXD-483b11ae.so.3.0.24 +0 -0
- meshlib.libs/libgdcmMSFF-fb0031e7.so.3.0.24 +0 -0
- meshlib.libs/libgdcmcharls-0bb1cdd4.so.2.0 +0 -0
- meshlib.libs/libgdcmjpeg12-292582d2.so.3.0.24 +0 -0
- meshlib.libs/libgdcmjpeg16-ebdb708a.so.3.0.24 +0 -0
- meshlib.libs/libgdcmjpeg8-8459f2b1.so.3.0.24 +0 -0
- meshlib.libs/libgdcmuuid-bfac3344.so.3.0.24 +0 -0
- meshlib.libs/libglfw-b87c9702.so.3.4 +0 -0
- meshlib.libs/libgtest-18d8dd75.so.1.16.0 +0 -0
- meshlib.libs/libhidapi-hidraw-46536eb3.so.0.14.0 +0 -0
- meshlib.libs/libhpdf-b04636ba.so.2.4.4 +0 -0
- meshlib.libs/libimgui-78664193.so +0 -0
- meshlib.libs/libjpeg-80485a62.so.62.4.0 +0 -0
- meshlib.libs/libjsoncpp-0136aebe.so.1.9.6 +0 -0
- meshlib.libs/liblazperf-f3e20ab6.so +0 -0
- meshlib.libs/liblz4-978216e3.so.1.10.0 +0 -0
- meshlib.libs/liblzma-664cd632.so.5.8.1 +0 -0
- meshlib.libs/libmount-06ba920f.so.1.1.0 +0 -0
- meshlib.libs/libopenjp2-fa43756a.so.2.5.3 +0 -0
- meshlib.libs/libopenvdb-0ea35591.so.12.0.0 +0 -0
- meshlib.libs/libpng16-c3af6d21.so.16.46.0 +0 -0
- meshlib.libs/libpybind11nonlimitedapi_stubs-554db40d.so +0 -0
- meshlib.libs/libsocketxx-b72cfb71.so.1.2.0 +0 -0
- meshlib.libs/libspdlog-9813443d.so.1.15.2 +0 -0
- meshlib.libs/libssl-0d056acc.so.3 +0 -0
- meshlib.libs/libtbb-4b61c084.so.12.14 +0 -0
- meshlib.libs/libtbbmalloc-1fe10e76.so.2.14 +0 -0
- meshlib.libs/libtiff-86575e52.so.6.1.0 +0 -0
- meshlib.libs/libtinyxml2-b3aca293.so.11.0.0 +0 -0
- meshlib.libs/libturbojpeg-64afd0bd.so.0.4.0 +0 -0
- meshlib.libs/libudev-9765ffbd.so.1.6.11 +0 -0
- meshlib.libs/libxcb-fcb2fa42.so.1.1.0 +0 -0
- meshlib.libs/libxerces-c-3-25f1a90d.3.so +0 -0
- meshlib.libs/libzip-98d9bd11.so.5.5 +0 -0
- meshlib.libs/libzstd-04b9995a.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
|
meshlib/mrmeshnumpy.pyi
ADDED
|
@@ -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
|