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

polyline that stores points of type V Generated from class MR.Polyline3. This is the const half of the class. More...

+ Inheritance diagram for MR.Const_Polyline3:

Classes

struct  _Underlying
 
struct  _UnderlyingShared
 

Public Member Functions

virtual void Dispose ()
 
unsafe Const_Polyline3 ()
 Constructs an empty (default-constructed) instance.
 
unsafe Const_Polyline3 (MR._ByValue_Polyline3 _other)
 Generated from constructor MR.Polyline3.Polyline3.
 
unsafe Const_Polyline3 (MR.Std.Const_Vector_MRVector3f contour)
 creates polyline from one contour (open or closed) Generated from constructor MR.Polyline3.Polyline3.
 
unsafe Const_Polyline3 (MR.Std.Const_Vector_StdVectorMRVector3f contours)
 creates polyline from several contours (each can be open or closed) Generated from constructor MR.Polyline3.Polyline3.
 
unsafe Const_Polyline3 (MR.Std.Const_Vector_MRVertId comp2firstVert, MR._ByValue_VertCoords ps)
 creates comp2firstVert.size()-1 not-closed polylines each pair (a,b) of indices in
 
unsafe MR.Vector3f orgPnt (MR.EdgeId e)
 returns coordinates of the edge origin Generated from method MR.Polyline3.orgPnt.
 
unsafe MR.Vector3f destPnt (MR.EdgeId e)
 returns coordinates of the edge destination Generated from method MR.Polyline3.destPnt.
 
unsafe MR.Vector3f edgePoint (MR.EdgeId e, float f)
 returns a point on the edge: origin point for f=0 and destination point for f=1 Generated from method MR.Polyline3.edgePoint.
 
unsafe MR.Vector3f edgePoint (MR.Const_EdgePoint ep)
 computes coordinates of point given as edge and relative position on it Generated from method MR.Polyline3.edgePoint.
 
unsafe MR.Vector3f edgeCenter (MR.EdgeId e)
 returns edge's centroid Generated from method MR.Polyline3.edgeCenter.
 
unsafe MR.Vector3f edgeVector (MR.EdgeId e)
 returns vector equal to edge destination point minus edge origin point Generated from method MR.Polyline3.edgeVector.
 
unsafe MR.LineSegm3f edgeSegment (MR.EdgeId e)
 returns line segment of given edge Generated from method MR.Polyline3.edgeSegment.
 
unsafe MR.EdgePoint toEdgePoint (MR.VertId v)
 converts vertex into edge-point representation Generated from method MR.Polyline3.toEdgePoint.
 
unsafe MR.EdgePoint toEdgePoint (MR.EdgeId e, in MR.Vector3f p)
 converts edge and point's coordinates into edge-point representation Generated from method MR.Polyline3.toEdgePoint.
 
unsafe float edgeLength (MR.EdgeId e)
 returns Euclidean length of the edge Generated from method MR.Polyline3.edgeLength.
 
unsafe float edgeLengthSq (MR.EdgeId e)
 returns squared Euclidean length of the edge (faster to compute than length) Generated from method MR.Polyline3.edgeLengthSq.
 
unsafe MR.Vector3f loopDirArea (MR.EdgeId e)
 calculates directed loop area if iterating in e direction .z = FLT_MAX if e does not represent a loop Generated from method MR.Polyline3.loopDirArea.
 
unsafe float totalLength ()
 returns total length of the polyline Generated from method MR.Polyline3.totalLength.
 
unsafe float averageEdgeLength ()
 returns average edge length in the polyline Generated from method MR.Polyline3.averageEdgeLength.
 
unsafe MR.Const_AABBTreePolyline3 getAABBTree ()
 returns cached aabb-tree for this polyline, creating it if it did not exist in a thread-safe manner Generated from method MR.Polyline3.getAABBTree.
 
unsafe MR.? Const_AABBTreePolyline3 getAABBTreeNotCreate ()
 returns cached aabb-tree for this polyline, but does not create it if it did not exist Generated from method MR.Polyline3.getAABBTreeNotCreate.
 
unsafe MR.Box3f getBoundingBox ()
 returns the minimal bounding box containing all valid vertices (implemented via getAABBTree()) Generated from method MR.Polyline3.getBoundingBox.
 
unsafe MR.Box3f computeBoundingBox (MR.AffineXf3f? toWorld=null)
 passes through all valid points and finds the minimal bounding box containing all of them
 
unsafe MR.Vector3f findCenterFromPoints ()
 Generated from method MR.Polyline3.findCenterFromPoints.
 
unsafe MR.Std.Vector_StdVectorMRVector3f contours (MR.Std.Vector_StdVectorMRVertId? vertMap=null)
 convert Polyline to simple contour structures with vector of points inside
 
unsafe ulong heapBytes ()
 returns the amount of memory this object occupies on heap Generated from method MR.Polyline3.heapBytes.
 

Static Public Member Functions

static unsafe implicit operator Const_Polyline3 (MR.Std.Const_Vector_MRVector3f contour)
 creates polyline from one contour (open or closed) Generated from constructor MR.Polyline3.Polyline3.
 
static unsafe implicit operator Const_Polyline3 (MR.Std.Const_Vector_StdVectorMRVector3f contours)
 creates polyline from several contours (each can be open or closed) Generated from constructor MR.Polyline3.Polyline3.
 

Protected Member Functions

unsafe void _LateMakeShared (_Underlying *ptr)
 
virtual unsafe void Dispose (bool disposing)
 

Properties

override unsafe bool _IsOwning [get]
 Check if the underlying shared pointer is owning or not.
 
unsafe MR.Const_PolylineTopology topology [get]
 
unsafe MR.Const_VertCoords points [get]
 
- Properties inherited from MR.Misc.SharedObject< Const_Polyline3 >
override bool _IsOwning [get]
 This checks if the shared_ptr itself is owning or not, rather than whether we own our shared_ptr, which isn't a given. The derived classes have to implement this, since it depends on the specific shared_ptr type.
 
bool _IsOwningSharedPtr [get]
 This checks if we own the underlying shared_ptr instance, regardless of whether it owns the underlying object, which is orthogonal. We repurpose _IsOwningVal for this.
 

Detailed Description

polyline that stores points of type V Generated from class MR.Polyline3. This is the const half of the class.

Constructor & Destructor Documentation

◆ Const_Polyline3()

unsafe MR.Const_Polyline3.Const_Polyline3 ( MR.Std.Const_Vector_MRVertId comp2firstVert,
MR._ByValue_VertCoords ps )
inline

creates comp2firstVert.size()-1 not-closed polylines each pair (a,b) of indices in

Parameters
comp2firstVertdefines vertex range of a polyline [a,b)
pspoint coordinates Generated from constructor MR.Polyline3.Polyline3.

Member Function Documentation

◆ computeBoundingBox()

unsafe MR.Box3f MR.Const_Polyline3.computeBoundingBox ( MR.AffineXf3f? toWorld = null)
inline

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.Polyline3.computeBoundingBox.

◆ contours()

unsafe MR.Std.Vector_StdVectorMRVector3f MR.Const_Polyline3.contours ( MR.Std.Vector_StdVectorMRVertId? vertMap = null)
inline

convert Polyline to simple contour structures with vector of points inside

if all even edges are consistently oriented, then the output contours will be oriented the same

Parameters
vertMapoptional output map for for each contour point to corresponding VertId Generated from method MR.Polyline3.contours.

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