MeshLib C# Docs
Loading...
Searching...
No Matches
MR.PointCloud Class Reference

Generated from class MR.PointCloud. This is the non-const half of the class. More...

Inheritance diagram for MR.PointCloud:

Public Member Functions

unsafe PointCloud ()
 Constructs an empty (default-constructed) instance.
unsafe PointCloud (MR._ByValue_PointCloud _other)
 Generated from constructor MR.PointCloud.PointCloud.
 PointCloud (Const_PointCloud _other)
 Generated from constructor MR.PointCloud.PointCloud.
 PointCloud (PointCloud _other)
 Generated from constructor MR.PointCloud.PointCloud.
unsafe MR.PointCloud assign (MR._ByValue_PointCloud _other)
 Generated from method MR::PointCloud::operator=.
unsafe void transform (in MR.AffineXf3f xf, MR.Const_VertBitSet? region=null)
 applies given transformation to specified points and corresponding transformation to their normals if present; if region is nullptr, all valid points are modified Generated from method MR.PointCloud.transform.
unsafe void addPartByMask (MR.Const_PointCloud from, MR.Const_VertBitSet fromVerts, MR.Const_CloudPartMapping? outMap=null, MR.Const_VertCoords? extNormals=null)
 appends points (and normals if it possible) (from) in addition to this points if this obj have normals and from obj has not it then don't do anything
unsafe MR.VertId addPoint (in MR.Vector3f point)
 appends a point and returns its VertId Generated from method MR.PointCloud.addPoint.
unsafe MR.VertId addPoint (in MR.Vector3f point, in MR.Vector3f normal)
 appends a point with normal and returns its VertId Generated from method MR.PointCloud.addPoint.
unsafe void mirror (MR.Const_Plane3f plane)
 reflects the points from a given plane Generated from method MR.PointCloud.mirror.
unsafe void flipOrientation (MR.Const_VertBitSet? region=null)
 flip orientation (normals) of given points (or all valid points is nullptr) Generated from method MR.PointCloud.flipOrientation.
unsafe bool pack (MR.VertMap? outNew2Old=null)
 tightly packs all arrays eliminating invalid points, but relative order of valid points is preserved; returns false if the cloud was packed before the call and nothing has been changed; if pack is done optionally returns mappings: new.id -> old.id Generated from method MR.PointCloud.pack.
unsafe MR.VertBMap pack (MR.Reorder reoder)
 tightly packs all arrays eliminating invalid points, reorders valid points according to given strategy;
unsafe void invalidateCaches ()
 Invalidates caches (e.g. aabb-tree) after a change in point cloud Generated from method MR.PointCloud.invalidateCaches.
Public Member Functions inherited from MR.Const_PointCloud
virtual void Dispose ()
unsafe Const_PointCloud ()
 Constructs an empty (default-constructed) instance.
unsafe Const_PointCloud (MR._ByValue_PointCloud _other)
 Generated from constructor MR.PointCloud.PointCloud.
 Const_PointCloud (Const_PointCloud _other)
 Generated from constructor MR.PointCloud.PointCloud.
 Const_PointCloud (PointCloud _other)
 Generated from constructor MR.PointCloud.PointCloud.
unsafe ulong calcNumValidPoints ()
 computes the total number of valid points in the cloud Generated from method MR.PointCloud.calcNumValidPoints.
unsafe bool hasNormals ()
 returns true if there is a normal for each point Generated from method MR.PointCloud.hasNormals.
unsafe MR.Const_VertBitSet getVertIds (MR.Const_VertBitSet? region)
 if region pointer is not null then converts it in reference, otherwise returns all valid points in the cloud Generated from method MR.PointCloud.getVertIds.
unsafe MR.Const_AABBTreePoints getAABBTree ()
 returns cached aabb-tree for this point cloud, creating it if it did not exist in a thread-safe manner Generated from method MR.PointCloud.getAABBTree.
unsafe MR.? Const_AABBTreePoints getAABBTreeNotCreate ()
 returns cached aabb-tree for this point cloud, but does not create it if it did not exist Generated from method MR.PointCloud.getAABBTreeNotCreate.
unsafe MR.Box3f getBoundingBox ()
 returns the minimal bounding box containing all valid vertices (implemented via getAABBTree()) Generated from method MR.PointCloud.getBoundingBox.
unsafe MR.Box3f computeBoundingBox (MR.AffineXf3f? toWorld=null)
 passes through all valid points and finds the minimal bounding box containing all of them; if toWorld transformation is given then returns minimal bounding box in world space Generated from method MR.PointCloud.computeBoundingBox.
unsafe MR.Box3f computeBoundingBox (MR.Const_VertBitSet? region, MR.AffineXf3f? toWorld=null)
 passes through all given vertices (or all valid vertices if region == null) and finds the minimal bounding box containing all of them if toWorld transformation is given then returns minimal bounding box in world space Generated from method MR.PointCloud.computeBoundingBox.
unsafe MR.Vector3f findCenterFromPoints ()
 computes average position of all valid points Generated from method MR.PointCloud.findCenterFromPoints.
unsafe MR.Vector3f findCenterFromBBox ()
 computes bounding box and returns its center Generated from method MR.PointCloud.findCenterFromBBox.
unsafe MR.Std.Vector_MRVertId getLexicographicalOrder ()
 returns all valid point ids sorted lexicographically by their coordinates (optimal for uniform sampling) Generated from method MR.PointCloud.getLexicographicalOrder.
unsafe ulong heapBytes ()
 returns the amount of memory this object occupies on heap Generated from method MR.PointCloud.heapBytes.

Properties

new unsafe MR.VertCoords points [get, protected set]
 coordinates of points
new unsafe MR.VertCoords normals [get, protected set]
 unit normal directions of points (can be empty if no normals are known)
new unsafe MR.VertBitSet validPoints [get, protected set]
 only points and normals corresponding to set bits here are valid
Properties inherited from MR.Const_PointCloud
unsafe MR.Const_VertCoords points [get, protected set]
 coordinates of points
unsafe MR.Const_VertCoords normals [get, protected set]
 unit normal directions of points (can be empty if no normals are known)
unsafe MR.Const_VertBitSet validPoints [get, protected set]
 only points and normals corresponding to set bits here are valid

Additional Inherited Members

Protected Member Functions inherited from MR.Const_PointCloud
virtual unsafe void Dispose (bool disposing)

Detailed Description

Generated from class MR.PointCloud. This is the non-const half of the class.

Constructor & Destructor Documentation

◆ PointCloud() [1/4]

unsafe MR.PointCloud.PointCloud ( )
inline

Constructs an empty (default-constructed) instance.

◆ PointCloud() [2/4]

unsafe MR.PointCloud.PointCloud ( MR._ByValue_PointCloud _other)
inline

Generated from constructor MR.PointCloud.PointCloud.

◆ PointCloud() [3/4]

MR.PointCloud.PointCloud ( Const_PointCloud _other)
inline

Generated from constructor MR.PointCloud.PointCloud.

◆ PointCloud() [4/4]

MR.PointCloud.PointCloud ( PointCloud _other)
inline

Generated from constructor MR.PointCloud.PointCloud.

Member Function Documentation

◆ addPartByMask()

unsafe void MR.PointCloud.addPartByMask ( MR.Const_PointCloud from,
MR.Const_VertBitSet fromVerts,
MR.Const_CloudPartMapping? outMap = null,
MR.Const_VertCoords? extNormals = null )
inline

appends points (and normals if it possible) (from) in addition to this points if this obj have normals and from obj has not it then don't do anything

Parameters
extNormalsif given then they will be copied instead of from.normals Generated from method MR.PointCloud.addPartByMask. Parameter outMap defaults to {}.

◆ addPoint() [1/2]

unsafe MR.VertId MR.PointCloud.addPoint ( in MR.Vector3f point)
inline

appends a point and returns its VertId Generated from method MR.PointCloud.addPoint.

◆ addPoint() [2/2]

unsafe MR.VertId MR.PointCloud.addPoint ( in MR.Vector3f point,
in MR.Vector3f normal )
inline

appends a point with normal and returns its VertId Generated from method MR.PointCloud.addPoint.

◆ assign()

unsafe MR.PointCloud MR.PointCloud.assign ( MR._ByValue_PointCloud _other)
inline

Generated from method MR::PointCloud::operator=.

◆ flipOrientation()

unsafe void MR.PointCloud.flipOrientation ( MR.Const_VertBitSet? region = null)
inline

flip orientation (normals) of given points (or all valid points is nullptr) Generated from method MR.PointCloud.flipOrientation.

◆ invalidateCaches()

unsafe void MR.PointCloud.invalidateCaches ( )
inline

Invalidates caches (e.g. aabb-tree) after a change in point cloud Generated from method MR.PointCloud.invalidateCaches.

◆ mirror()

unsafe void MR.PointCloud.mirror ( MR.Const_Plane3f plane)
inline

reflects the points from a given plane Generated from method MR.PointCloud.mirror.

◆ pack() [1/2]

unsafe MR.VertBMap MR.PointCloud.pack ( MR.Reorder reoder)
inline

tightly packs all arrays eliminating invalid points, reorders valid points according to given strategy;

Returns
points mapping: old -> new Generated from method MR.PointCloud.pack.

◆ pack() [2/2]

unsafe bool MR.PointCloud.pack ( MR.VertMap? outNew2Old = null)
inline

tightly packs all arrays eliminating invalid points, but relative order of valid points is preserved; returns false if the cloud was packed before the call and nothing has been changed; if pack is done optionally returns mappings: new.id -> old.id Generated from method MR.PointCloud.pack.

◆ transform()

unsafe void MR.PointCloud.transform ( in MR.AffineXf3f xf,
MR.Const_VertBitSet? region = null )
inline

applies given transformation to specified points and corresponding transformation to their normals if present; if region is nullptr, all valid points are modified Generated from method MR.PointCloud.transform.

Property Documentation

◆ normals

new unsafe MR.VertCoords MR.PointCloud.normals
getprotected set

unit normal directions of points (can be empty if no normals are known)

◆ points

new unsafe MR.VertCoords MR.PointCloud.points
getprotected set

coordinates of points

◆ validPoints

new unsafe MR.VertBitSet MR.PointCloud.validPoints
getprotected set

only points and normals corresponding to set bits here are valid


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