MeshLib C# Docs
Loading...
Searching...
No Matches

Classes

class  _ByValue_ComputeToolDistance
 This is used as a function parameter when the underlying function receives ComputeToolDistance by value. Usage:
class  _ByValue_DeviceInfo
 This is used as a function parameter when the underlying function receives DeviceInfo by value. Usage:
class  _ByValue_FastWindingNumber
 This is used as a function parameter when the underlying function receives FastWindingNumber by value. Usage:
class  _ByValue_PointsProjector
 This is used as a function parameter when the underlying function receives PointsProjector by value. Usage:
class  _ByValue_PointsToMeshProjector
 This is used as a function parameter when the underlying function receives PointsToMeshProjector by value. Usage:
class  _InOptConst_ComputeToolDistance
 This is used for optional parameters of class ComputeToolDistance with default arguments. This is only used const parameters. For non-const ones we have _InOptMut_ComputeToolDistance. Usage:
class  _InOptConst_DeviceInfo
 This is used for optional parameters of class DeviceInfo with default arguments. This is only used const parameters. For non-const ones we have _InOptMut_DeviceInfo. Usage:
class  _InOptConst_FastWindingNumber
 This is used for optional parameters of class FastWindingNumber with default arguments. This is only used const parameters. For non-const ones we have _InOptMut_FastWindingNumber. Usage:
class  _InOptConst_PointsProjector
 This is used for optional parameters of class PointsProjector with default arguments. This is only used const parameters. For non-const ones we have _InOptMut_PointsProjector. Usage:
class  _InOptConst_PointsToMeshProjector
 This is used for optional parameters of class PointsToMeshProjector with default arguments. This is only used const parameters. For non-const ones we have _InOptMut_PointsToMeshProjector. Usage:
class  _InOptMut_ComputeToolDistance
 This is used for optional parameters of class ComputeToolDistance with default arguments. This is only used mutable parameters. For const ones we have _InOptConst_ComputeToolDistance. Usage:
class  _InOptMut_DeviceInfo
 This is used for optional parameters of class DeviceInfo with default arguments. This is only used mutable parameters. For const ones we have _InOptConst_DeviceInfo. Usage:
class  _InOptMut_FastWindingNumber
 This is used for optional parameters of class FastWindingNumber with default arguments. This is only used mutable parameters. For const ones we have _InOptConst_FastWindingNumber. Usage:
class  _InOptMut_PointsProjector
 This is used for optional parameters of class PointsProjector with default arguments. This is only used mutable parameters. For const ones we have _InOptConst_PointsProjector. Usage:
class  _InOptMut_PointsToMeshProjector
 This is used for optional parameters of class PointsToMeshProjector with default arguments. This is only used mutable parameters. For const ones we have _InOptConst_PointsToMeshProjector. Usage:
class  ComputeToolDistance
 CUDA implementation of tool distance computation Generated from class MR.Cuda.ComputeToolDistance. Base classes: Direct: (non-virtual) MR.IComputeToolDistance This is the non-const half of the class. More...
class  Const_ComputeToolDistance
 CUDA implementation of tool distance computation Generated from class MR.Cuda.ComputeToolDistance. Base classes: Direct: (non-virtual) MR.IComputeToolDistance This is the const half of the class. More...
class  Const_DeviceInfo
 Generated from class MR.Cuda.DeviceInfo. This is the const half of the class. More...
class  Const_FastWindingNumber
 the class for fast approximate computation of winding number for a mesh (using its AABB tree) Generated from class MR.Cuda.FastWindingNumber. Base classes: Direct: (non-virtual) MR.IFastWindingNumber MR.IFastWindingNumberByParts This is the const half of the class. More...
class  Const_PointsProjector
 CUDA-backed implementation of IPointsProjector Generated from class MR.Cuda.PointsProjector. Base classes: Direct: (non-virtual) MR.IPointsProjector This is the const half of the class. More...
class  Const_PointsToMeshProjector
 Computes the closest point on mesh to each of given points on GPU. It caches data that necessary for computing Generated from class MR.Cuda.PointsToMeshProjector. Base classes: Direct: (non-virtual) MR.IPointsToMeshProjector This is the const half of the class. More...
class  DeviceInfo
 Generated from class MR.Cuda.DeviceInfo. This is the non-const half of the class. More...
class  FastWindingNumber
 the class for fast approximate computation of winding number for a mesh (using its AABB tree) Generated from class MR.Cuda.FastWindingNumber. Base classes: Direct: (non-virtual) MR.IFastWindingNumber MR.IFastWindingNumberByParts This is the non-const half of the class. More...
class  PointsProjector
 CUDA-backed implementation of IPointsProjector Generated from class MR.Cuda.PointsProjector. Base classes: Direct: (non-virtual) MR.IPointsProjector This is the non-const half of the class. More...
class  PointsToMeshProjector
 Computes the closest point on mesh to each of given points on GPU. It caches data that necessary for computing Generated from class MR.Cuda.PointsToMeshProjector. Base classes: Direct: (non-virtual) MR.IPointsToMeshProjector This is the non-const half of the class. More...

Static Public Member Functions

static unsafe MR.Cuda.DeviceInfo getDeviceInfo ()
 Returns an error if CUDA is not available Generated from function MR.Cuda.getDeviceInfo.
static unsafe bool isCudaAvailable (MR.Misc.InOut< int >? driverVersion=null, MR.Misc.InOut< int >? runtimeVersion=null, MR.Misc.InOut< int >? computeMajor=null, MR.Misc.InOut< int >? computeMinor=null)
 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 Generated from function MR.Cuda.isCudaAvailable.
static nuint getCudaAvailableMemory ()
 Returns available GPU memory in bytes Generated from function MR.Cuda.getCudaAvailableMemory.
static nuint getCudaSafeMemoryLimit ()
 Returns maximum safe amount of free GPU memory that will be used for dynamic-sized buffers Generated from function MR.Cuda.getCudaSafeMemoryLimit.
static nuint maxBufferSize (nuint availableBytes, nuint elementCount, nuint elementBytes)
 Returns maximum buffer size in elements that can be allocated with given memory limit Generated from function MR.Cuda.maxBufferSize.
static unsafe nuint maxBufferSizeAlignedByBlock (nuint availableBytes, in MR.Vector2i blockDims, nuint elementBytes)
 Returns maximum buffer size in elements that can be allocated with given memory limit The size is aligned to the block dimensions Generated from function MR.Cuda.maxBufferSizeAlignedByBlock.
static unsafe nuint maxBufferSizeAlignedByBlock (nuint availableBytes, in MR.Vector3i blockDims, nuint elementBytes)
 Generated from function MR.Cuda.maxBufferSizeAlignedByBlock.
static unsafe MR.DistanceMap distanceMapFromContours (MR.Const_Polyline2 polyline, MR.Const_ContourToDistanceMapParams params_)
 Computes distance of 2d contours according to ContourToDistanceMapParams (works correctly only when withSign==false) Generated from function MR.Cuda.distanceMapFromContours.
static unsafe nuint distanceMapFromContoursHeapBytes (MR.Const_Polyline2 polyline, MR.Const_ContourToDistanceMapParams params_)
 Computes memory consumption of distanceMapFromContours function Generated from function MR.Cuda.distanceMapFromContoursHeapBytes.
static unsafe MR.DistanceMap computeDistanceMap (MR.Const_Mesh mesh, MR.Const_MeshToDistanceMapParams params_, MR.Std._ByValue_Function_Bool_From_Float? cb=null, MR.Std.Vector_MRMeshTriPoint? outSamples=null)
 computes distance (height) map for given projection parameters using float-precision for finding ray-mesh intersections, which is faster but less reliable Generated from function MR.Cuda.computeDistanceMap. Parameter cb defaults to {}.
static unsafe nuint computeDistanceMapHeapBytes (MR.Const_Mesh mesh, MR.Const_MeshToDistanceMapParams params_, bool? needOutSamples=null)
 Computes memory consumption of computeDistanceMap function Generated from function MR.Cuda.computeDistanceMapHeapBytes. Parameter needOutSamples defaults to false.
static unsafe MR.Std.Vector_MRPointsProjectionResult findProjectionOnPoints (MR.Const_PointCloud pointCloud, MR.Std.Const_Vector_MRVector3f points, MR.Const_FindProjectionOnPointsSettings? settings=null)
 computes the closest points on point cloud to given points Generated from function MR.Cuda.findProjectionOnPoints. Parameter settings defaults to {}.
static unsafe nuint findProjectionOnPointsHeapBytes (MR.Const_PointCloud pointCloud, nuint pointsCount)
 returns the minimal amount of free GPU memory required for MR.Cuda.findProjectionOnPoints Generated from function MR.Cuda.findProjectionOnPointsHeapBytes.
static unsafe MR.SimpleVolumeMinMax pointsToDistanceVolume (MR.Const_PointCloud cloud, MR.Const_PointsToDistanceVolumeParams params_)
 makes SimpleVolume filled with signed distances to points with normals Generated from function MR.Cuda.pointsToDistanceVolume.
static unsafe void pointsToDistanceVolumeByParts (MR.Const_PointCloud cloud, MR.Const_PointsToDistanceVolumeParams params_, MR.Std._ByValue_Function_ExpectedVoidStdString_From_ConstMRSimpleVolumeMinMaxRef_Int addPart, int layerOverlap)
 makes SimpleVolume filled with signed distances to points with normals populate the volume by parts to the given callback Generated from function MR.Cuda.pointsToDistanceVolumeByParts.
static unsafe MR.VertScalars computeSkyViewFactor (MR.Const_Mesh terrain, MR.Const_VertCoords samples, MR.Const_VertBitSet validSamples, MR.Std.Const_Vector_MRSkyPatch skyPatches, MR.BitSet? outSkyRays=null, MR.Std.Vector_MRMeshIntersectionResult? outIntersections=null)
 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;
static unsafe MR.BitSet findSkyRays (MR.Const_Mesh terrain, MR.Const_VertCoords samples, MR.Const_VertBitSet validSamples, MR.Std.Const_Vector_MRSkyPatch skyPatches, MR.Std.Vector_MRMeshIntersectionResult? outIntersections=null)
 In each valid sample point tests the rays from that point in the sky;.
static unsafe void negatePicture (MR.Image image)
 Generated from function MR.Cuda.negatePicture.
static void loadMRCudaDll ()
 Generated from function MR.Cuda.loadMRCudaDll.

Member Function Documentation

◆ computeDistanceMap()

unsafe MR.DistanceMap MR.Cuda.computeDistanceMap ( MR.Const_Mesh mesh,
MR.Const_MeshToDistanceMapParams params_,
MR.Std._ByValue_Function_Bool_From_Float? cb = null,
MR.Std.Vector_MRMeshTriPoint? outSamples = null )
inlinestatic

computes distance (height) map for given projection parameters using float-precision for finding ray-mesh intersections, which is faster but less reliable Generated from function MR.Cuda.computeDistanceMap. Parameter cb defaults to {}.

◆ computeDistanceMapHeapBytes()

unsafe nuint MR.Cuda.computeDistanceMapHeapBytes ( MR.Const_Mesh mesh,
MR.Const_MeshToDistanceMapParams params_,
bool? needOutSamples = null )
inlinestatic

Computes memory consumption of computeDistanceMap function Generated from function MR.Cuda.computeDistanceMapHeapBytes. Parameter needOutSamples defaults to false.

◆ computeSkyViewFactor()

unsafe MR.VertScalars MR.Cuda.computeSkyViewFactor ( MR.Const_Mesh terrain,
MR.Const_VertCoords samples,
MR.Const_VertBitSet validSamples,
MR.Std.Const_Vector_MRSkyPatch skyPatches,
MR.BitSet? outSkyRays = null,
MR.Std.Vector_MRMeshIntersectionResult? outIntersections = null )
inlinestatic

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;

Parameters
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
outIntersections- optional output vector of MeshIntersectionResult for every valid sample point Generated from function MR.Cuda.computeSkyViewFactor.

◆ distanceMapFromContours()

unsafe MR.DistanceMap MR.Cuda.distanceMapFromContours ( MR.Const_Polyline2 polyline,
MR.Const_ContourToDistanceMapParams params_ )
inlinestatic

Computes distance of 2d contours according to ContourToDistanceMapParams (works correctly only when withSign==false) Generated from function MR.Cuda.distanceMapFromContours.

◆ distanceMapFromContoursHeapBytes()

unsafe nuint MR.Cuda.distanceMapFromContoursHeapBytes ( MR.Const_Polyline2 polyline,
MR.Const_ContourToDistanceMapParams params_ )
inlinestatic

Computes memory consumption of distanceMapFromContours function Generated from function MR.Cuda.distanceMapFromContoursHeapBytes.

◆ findProjectionOnPoints()

unsafe MR.Std.Vector_MRPointsProjectionResult MR.Cuda.findProjectionOnPoints ( MR.Const_PointCloud pointCloud,
MR.Std.Const_Vector_MRVector3f points,
MR.Const_FindProjectionOnPointsSettings? settings = null )
inlinestatic

computes the closest points on point cloud to given points Generated from function MR.Cuda.findProjectionOnPoints. Parameter settings defaults to {}.

◆ findProjectionOnPointsHeapBytes()

unsafe nuint MR.Cuda.findProjectionOnPointsHeapBytes ( MR.Const_PointCloud pointCloud,
nuint pointsCount )
inlinestatic

returns the minimal amount of free GPU memory required for MR.Cuda.findProjectionOnPoints Generated from function MR.Cuda.findProjectionOnPointsHeapBytes.

◆ findSkyRays()

unsafe MR.BitSet MR.Cuda.findSkyRays ( MR.Const_Mesh terrain,
MR.Const_VertCoords samples,
MR.Const_VertBitSet validSamples,
MR.Std.Const_Vector_MRSkyPatch skyPatches,
MR.Std.Vector_MRMeshIntersectionResult? outIntersections = null )
inlinestatic

In each valid sample point tests the rays from that point in the sky;.

Returns
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
Parameters
outIntersections- optional output vector of MeshIntersectionResult for every valid sample point Generated from function MR.Cuda.findSkyRays.

◆ getCudaAvailableMemory()

nuint MR.Cuda.getCudaAvailableMemory ( )
inlinestatic

Returns available GPU memory in bytes Generated from function MR.Cuda.getCudaAvailableMemory.

◆ getCudaSafeMemoryLimit()

nuint MR.Cuda.getCudaSafeMemoryLimit ( )
inlinestatic

Returns maximum safe amount of free GPU memory that will be used for dynamic-sized buffers Generated from function MR.Cuda.getCudaSafeMemoryLimit.

◆ getDeviceInfo()

unsafe MR.Cuda.DeviceInfo MR.Cuda.getDeviceInfo ( )
inlinestatic

Returns an error if CUDA is not available Generated from function MR.Cuda.getDeviceInfo.

◆ isCudaAvailable()

unsafe bool MR.Cuda.isCudaAvailable ( MR.Misc.InOut< int >? driverVersion = null,
MR.Misc.InOut< int >? runtimeVersion = null,
MR.Misc.InOut< int >? computeMajor = null,
MR.Misc.InOut< int >? computeMinor = null )
inlinestatic

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 Generated from function MR.Cuda.isCudaAvailable.

◆ loadMRCudaDll()

void MR.Cuda.loadMRCudaDll ( )
inlinestatic

Generated from function MR.Cuda.loadMRCudaDll.

◆ maxBufferSize()

nuint MR.Cuda.maxBufferSize ( nuint availableBytes,
nuint elementCount,
nuint elementBytes )
inlinestatic

Returns maximum buffer size in elements that can be allocated with given memory limit Generated from function MR.Cuda.maxBufferSize.

◆ maxBufferSizeAlignedByBlock() [1/2]

unsafe nuint MR.Cuda.maxBufferSizeAlignedByBlock ( nuint availableBytes,
in MR.Vector2i blockDims,
nuint elementBytes )
inlinestatic

Returns maximum buffer size in elements that can be allocated with given memory limit The size is aligned to the block dimensions Generated from function MR.Cuda.maxBufferSizeAlignedByBlock.

◆ maxBufferSizeAlignedByBlock() [2/2]

unsafe nuint MR.Cuda.maxBufferSizeAlignedByBlock ( nuint availableBytes,
in MR.Vector3i blockDims,
nuint elementBytes )
inlinestatic

Generated from function MR.Cuda.maxBufferSizeAlignedByBlock.

◆ negatePicture()

unsafe void MR.Cuda.negatePicture ( MR.Image image)
inlinestatic

Generated from function MR.Cuda.negatePicture.

◆ pointsToDistanceVolume()

unsafe MR.SimpleVolumeMinMax MR.Cuda.pointsToDistanceVolume ( MR.Const_PointCloud cloud,
MR.Const_PointsToDistanceVolumeParams params_ )
inlinestatic

makes SimpleVolume filled with signed distances to points with normals Generated from function MR.Cuda.pointsToDistanceVolume.

◆ pointsToDistanceVolumeByParts()

unsafe void MR.Cuda.pointsToDistanceVolumeByParts ( MR.Const_PointCloud cloud,
MR.Const_PointsToDistanceVolumeParams params_,
MR.Std._ByValue_Function_ExpectedVoidStdString_From_ConstMRSimpleVolumeMinMaxRef_Int addPart,
int layerOverlap )
inlinestatic

makes SimpleVolume filled with signed distances to points with normals populate the volume by parts to the given callback Generated from function MR.Cuda.pointsToDistanceVolumeByParts.


The documentation for this class was generated from the following files: