MeshLib Python Docs
Loading...
Searching...
No Matches
mrcudapy Namespace Reference

Classes

class  FastWindingNumber
 
class  func_tl_expected_void_std_string_from_VoxelsVolumeMinMax_std_vector_float_int
 
class  PointsProjector
 
class  PointsToMeshProjector
 

Functions

meshlib.mrmeshpy.DistanceMap computeDistanceMap (meshlib.mrmeshpy.Mesh mesh, meshlib.mrmeshpy.MeshToDistanceMapParams params, meshlib.mrmeshpy.func_bool_from_float cb='{}', meshlib.mrmeshpy.std_vector_MeshTriPoint outSamples=None)
 
int computeDistanceMapHeapBytes (meshlib.mrmeshpy.Mesh mesh, meshlib.mrmeshpy.MeshToDistanceMapParams params, bool needOutSamples=False)
 
meshlib.mrmeshpy.VertScalars computeSkyViewFactor (meshlib.mrmeshpy.Mesh terrain, meshlib.mrmeshpy.VertCoords samples, meshlib.mrmeshpy.VertBitSet validSamples, meshlib.mrmeshpy.std_vector_SkyPatch skyPatches, meshlib.mrmeshpy.BitSet outSkyRays=None, meshlib.mrmeshpy.std_vector_MeshIntersectionResult outIntersections=None)
 
meshlib.mrmeshpy.DistanceMap distanceMapFromContours (meshlib.mrmeshpy.Polyline2 polyline, meshlib.mrmeshpy.ContourToDistanceMapParams params)
 
int distanceMapFromContoursHeapBytes (meshlib.mrmeshpy.Polyline2 polyline, meshlib.mrmeshpy.ContourToDistanceMapParams params)
 
meshlib.mrmeshpy.std_vector_PointsProjectionResult findProjectionOnPoints (meshlib.mrmeshpy.PointCloud pointCloud, meshlib.mrmeshpy.std_vector_Vector3_float points, meshlib.mrmeshpy.FindProjectionOnPointsSettings settings='{}')
 
int findProjectionOnPointsHeapBytes (meshlib.mrmeshpy.PointCloud pointCloud, int pointsCount)
 
meshlib.mrmeshpy.BitSet findSkyRays (meshlib.mrmeshpy.Mesh terrain, meshlib.mrmeshpy.VertCoords samples, meshlib.mrmeshpy.VertBitSet validSamples, meshlib.mrmeshpy.std_vector_SkyPatch skyPatches, meshlib.mrmeshpy.std_vector_MeshIntersectionResult outIntersections=None)
 
int getCudaAvailableMemory ()
 
int getCudaSafeMemoryLimit ()
 
bool isCudaAvailable (meshlib.mrmeshpy.int_output driverVersion=None, meshlib.mrmeshpy.int_output runtimeVersion=None, meshlib.mrmeshpy.int_output computeMajor=None, meshlib.mrmeshpy.int_output computeMinor=None)
 
None loadMRCudaDll ()
 
int maxBufferSize (int availableBytes, int elementCount, int elementBytes)
 
int maxBufferSizeAlignedByBlock (int availableBytes, meshlib.mrmeshpy.Vector2i blockDims, int elementBytes)
 
int maxBufferSizeAlignedByBlock (int availableBytes, meshlib.mrmeshpy.Vector3i blockDims, int elementBytes)
 
None negatePicture (meshlib.mrmeshpy.Image image)
 
meshlib.mrmeshpy.SimpleVolumeMinMax pointsToDistanceVolume (meshlib.mrmeshpy.PointCloud cloud, meshlib.mrmeshpy.PointsToDistanceVolumeParams params)
 
None pointsToDistanceVolumeByParts (meshlib.mrmeshpy.PointCloud cloud, meshlib.mrmeshpy.PointsToDistanceVolumeParams params, func_tl_expected_void_std_string_from_VoxelsVolumeMinMax_std_vector_float_int addPart, int layerOverlap)
 

Function Documentation

◆ computeDistanceMap()

meshlib.mrmeshpy.DistanceMap mrcudapy.computeDistanceMap ( meshlib.mrmeshpy.Mesh mesh,
meshlib.mrmeshpy.MeshToDistanceMapParams params,
meshlib.mrmeshpy.func_bool_from_float cb = '{}',
meshlib.mrmeshpy.std_vector_MeshTriPoint outSamples = None )
computes distance (height) map for given projection parameters
using float-precision for finding ray-mesh intersections, which is faster but less reliable

◆ computeDistanceMapHeapBytes()

int mrcudapy.computeDistanceMapHeapBytes ( meshlib.mrmeshpy.Mesh mesh,
meshlib.mrmeshpy.MeshToDistanceMapParams params,
bool needOutSamples = False )
Computes memory consumption of computeDistanceMap function

◆ computeSkyViewFactor()

meshlib.mrmeshpy.VertScalars mrcudapy.computeSkyViewFactor ( meshlib.mrmeshpy.Mesh terrain,
meshlib.mrmeshpy.VertCoords samples,
meshlib.mrmeshpy.VertBitSet validSamples,
meshlib.mrmeshpy.std_vector_SkyPatch skyPatches,
meshlib.mrmeshpy.BitSet outSkyRays = None,
meshlib.mrmeshpy.std_vector_MeshIntersectionResult outIntersections = None )
computes relative radiation in each valid sample point by emitting rays from that point in the sky:
the radiation is 1.0f if all rays reach the sky not hitting the terrain;
the radiation is 0.0f if all rays do not reach the sky because they are intercepted by the terrain;
\\param outSkyRays - optional output bitset where for every valid sample #i its rays are stored at indices [i*numPatches; (i+1)*numPatches),
                    0s for occluded rays (hitting the terrain) and 1s for the ones which don't hit anything and reach the sky
\\param outIntersections - optional output vector of MeshIntersectionResult for every valid sample point

◆ distanceMapFromContours()

meshlib.mrmeshpy.DistanceMap mrcudapy.distanceMapFromContours ( meshlib.mrmeshpy.Polyline2 polyline,
meshlib.mrmeshpy.ContourToDistanceMapParams params )
Computes distance of 2d contours according to ContourToDistanceMapParams (works correctly only when withSign==false)

◆ distanceMapFromContoursHeapBytes()

int mrcudapy.distanceMapFromContoursHeapBytes ( meshlib.mrmeshpy.Polyline2 polyline,
meshlib.mrmeshpy.ContourToDistanceMapParams params )
Computes memory consumption of distanceMapFromContours function

◆ findProjectionOnPoints()

meshlib.mrmeshpy.std_vector_PointsProjectionResult mrcudapy.findProjectionOnPoints ( meshlib.mrmeshpy.PointCloud pointCloud,
meshlib.mrmeshpy.std_vector_Vector3_float points,
meshlib.mrmeshpy.FindProjectionOnPointsSettings settings = '{}' )
computes the closest points on point cloud to given points

◆ findProjectionOnPointsHeapBytes()

int mrcudapy.findProjectionOnPointsHeapBytes ( meshlib.mrmeshpy.PointCloud pointCloud,
int pointsCount )
returns the minimal amount of free GPU memory required for \\ref MR::Cuda::findProjectionOnPoints

◆ findSkyRays()

meshlib.mrmeshpy.BitSet mrcudapy.findSkyRays ( meshlib.mrmeshpy.Mesh terrain,
meshlib.mrmeshpy.VertCoords samples,
meshlib.mrmeshpy.VertBitSet validSamples,
meshlib.mrmeshpy.std_vector_SkyPatch skyPatches,
meshlib.mrmeshpy.std_vector_MeshIntersectionResult outIntersections = None )
In each valid sample point tests the rays from that point in the sky;
\\return bitset where for every valid sample #i its rays are stored at indices [i*numPatches; (i+1)*numPatches),
        0s for occluded rays (hitting the terrain) and 1s for the ones which don't hit anything and reach the sky
\\param outIntersections - optional output vector of MeshIntersectionResult for every valid sample point

◆ getCudaAvailableMemory()

int mrcudapy.getCudaAvailableMemory ( )
Returns available GPU memory in bytes

◆ getCudaSafeMemoryLimit()

int mrcudapy.getCudaSafeMemoryLimit ( )
Returns maximum safe amount of free GPU memory that will be used for dynamic-sized buffers

◆ isCudaAvailable()

bool mrcudapy.isCudaAvailable ( meshlib.mrmeshpy.int_output driverVersion = None,
meshlib.mrmeshpy.int_output runtimeVersion = None,
meshlib.mrmeshpy.int_output computeMajor = None,
meshlib.mrmeshpy.int_output computeMinor = None )
Returns true if Cuda is present on this GPU
optional out maximum driver supported version
optional out current runtime version
optional out compute capability major version
optional out compute capability minor version

◆ loadMRCudaDll()

None mrcudapy.loadMRCudaDll ( )
call this function to load MRCuda shared library

◆ maxBufferSize()

int mrcudapy.maxBufferSize ( int availableBytes,
int elementCount,
int elementBytes )
Returns maximum buffer size in elements that can be allocated with given memory limit

◆ maxBufferSizeAlignedByBlock() [1/2]

int mrcudapy.maxBufferSizeAlignedByBlock ( int availableBytes,
meshlib.mrmeshpy.Vector2i blockDims,
int elementBytes )
Returns maximum buffer size in elements that can be allocated with given memory limit
The size is aligned to the block dimensions

◆ maxBufferSizeAlignedByBlock() [2/2]

int mrcudapy.maxBufferSizeAlignedByBlock ( int availableBytes,
meshlib.mrmeshpy.Vector3i blockDims,
int elementBytes )

◆ negatePicture()

None mrcudapy.negatePicture ( meshlib.mrmeshpy.Image image)
This function inverts Color value (255 - value in each channel except alpha) 

◆ pointsToDistanceVolume()

meshlib.mrmeshpy.SimpleVolumeMinMax mrcudapy.pointsToDistanceVolume ( meshlib.mrmeshpy.PointCloud cloud,
meshlib.mrmeshpy.PointsToDistanceVolumeParams params )
makes SimpleVolume filled with signed distances to points with normals

◆ pointsToDistanceVolumeByParts()

None mrcudapy.pointsToDistanceVolumeByParts ( meshlib.mrmeshpy.PointCloud cloud,
meshlib.mrmeshpy.PointsToDistanceVolumeParams params,
func_tl_expected_void_std_string_from_VoxelsVolumeMinMax_std_vector_float_int addPart,
int layerOverlap )
makes SimpleVolume filled with signed distances to points with normals
populate the volume by parts to the given callback