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

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

Inheritance diagram for MR.Polyline3:

Public Member Functions

unsafe Polyline3 ()
 Constructs an empty (default-constructed) instance.
unsafe Polyline3 (MR._ByValue_Polyline3 _other)
 Generated from constructor MR.Polyline3.Polyline3.
 Polyline3 (Const_Polyline3 _other)
 Generated from constructor MR.Polyline3.Polyline3.
 Polyline3 (Polyline3 _other)
 Generated from constructor MR.Polyline3.Polyline3.
unsafe Polyline3 (MR.Std.Const_Vector_MRVector3f contour)
 creates polyline from one contour (open or closed) Generated from constructor MR.Polyline3.Polyline3.
unsafe 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 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.Polyline3 assign (MR._ByValue_Polyline3 _other)
 Generated from method MR::Polyline3::operator=.
unsafe MR.EdgeId addFromPoints (MR.Vector3f? vs, ulong num, bool closed)
 adds connected line in this, passing progressively via points *[vs, vs+num)
unsafe MR.EdgeId addFromPoints (MR.Vector3f? vs, ulong num)
 adds connected line in this, passing progressively via points *[vs, vs+num)
unsafe void addPart (MR.Const_Polyline3 from, MR.VertMap? outVmap=null, MR.WholeEdgeMap? outEmap=null)
 appends polyline (from) in addition to this polyline: creates new edges, verts and points;
unsafe void addPartByMask (MR.Const_Polyline3 from, MR.Const_UndirectedEdgeBitSet mask, MR.VertMap? outVmap=null, MR.EdgeMap? outEmap=null)
 appends polyline (from) in addition to this polyline: creates new edges, verts and points Generated from method MR.Polyline3.addPartByMask.
unsafe void pack (MR.VertMap? outVmap=null, MR.WholeEdgeMap? outEmap=null)
 tightly packs all arrays eliminating lone edges and invalid verts and points, optionally returns mappings: old.id -> new.id Generated from method MR.Polyline3.pack.
unsafe void transform (in MR.AffineXf3f xf)
 applies given transformation to all valid polyline vertices Generated from method MR.Polyline3.transform.
unsafe MR.EdgeId splitEdge (MR.EdgeId e, in MR.Vector3f newVertPos)
 split given edge on two parts: dest(returned-edge) = org(e) - newly created vertex, org(returned-edge) = org(e-before-split), dest(e) = dest(e-before-split) Generated from method MR.Polyline3.splitEdge.
unsafe MR.EdgeId splitEdge (MR.EdgeId e)
 Generated from method MR.Polyline3.splitEdge.
unsafe void invalidateCaches ()
 Invalidates caches (e.g. aabb-tree) after a change in polyline Generated from method MR.Polyline3.invalidateCaches.
unsafe MR.EdgeId addFromEdgePath (MR.Const_Mesh mesh, MR.Std.Const_Vector_MREdgeId path)
 adds path to this polyline
unsafe MR.EdgeId addFromSurfacePath (MR.Const_Mesh mesh, MR.Std.Const_Vector_MREdgePoint path)
 adds path to this polyline
unsafe MR.EdgeId addFromGeneralSurfacePath (MR.Const_Mesh mesh, MR.Const_MeshTriPoint start, MR.Std.Const_Vector_MREdgePoint path, MR.Const_MeshTriPoint end)
 adds general path = start-path-end (where both start and end are optional) to this polyline
unsafe void mirror (MR.Const_Plane3f plane)
 reflects the polyline from a given plane. Enabled only for Polyline3f Generated from method MR.Polyline3.mirror<MR.Vector3f>.
Public Member Functions inherited from MR.Const_Polyline3
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.
 Const_Polyline3 (Const_Polyline3 _other)
 Generated from constructor MR.Polyline3.Polyline3.
 Const_Polyline3 (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 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 Polyline3 (MR.Std.Const_Vector_StdVectorMRVector3f contours)
 creates polyline from several contours (each can be open or closed) Generated from constructor MR.Polyline3.Polyline3.
Static Public Member Functions inherited from MR.Const_Polyline3
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.

Properties

new unsafe MR.PolylineTopology topology [get, protected set]
new unsafe MR.VertCoords points [get, protected set]
Properties inherited from MR.Const_Polyline3
unsafe MR.Const_PolylineTopology topology [get, protected set]
unsafe MR.Const_VertCoords points [get, protected set]

Additional Inherited Members

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

Detailed Description

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

Constructor & Destructor Documentation

◆ Polyline3() [1/7]

unsafe MR.Polyline3.Polyline3 ( )
inline

Constructs an empty (default-constructed) instance.

◆ Polyline3() [2/7]

unsafe MR.Polyline3.Polyline3 ( MR._ByValue_Polyline3 _other)
inline

Generated from constructor MR.Polyline3.Polyline3.

◆ Polyline3() [3/7]

MR.Polyline3.Polyline3 ( Const_Polyline3 _other)
inline

Generated from constructor MR.Polyline3.Polyline3.

◆ Polyline3() [4/7]

MR.Polyline3.Polyline3 ( Polyline3 _other)
inline

Generated from constructor MR.Polyline3.Polyline3.

◆ Polyline3() [5/7]

unsafe MR.Polyline3.Polyline3 ( MR.Std.Const_Vector_MRVector3f contour)
inline

creates polyline from one contour (open or closed) Generated from constructor MR.Polyline3.Polyline3.

◆ Polyline3() [6/7]

unsafe MR.Polyline3.Polyline3 ( MR.Std.Const_Vector_StdVectorMRVector3f contours)
inline

creates polyline from several contours (each can be open or closed) Generated from constructor MR.Polyline3.Polyline3.

◆ Polyline3() [7/7]

unsafe MR.Polyline3.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

◆ addFromEdgePath()

unsafe MR.EdgeId MR.Polyline3.addFromEdgePath ( MR.Const_Mesh mesh,
MR.Std.Const_Vector_MREdgeId path )
inline

adds path to this polyline

Returns
the edge from first new to second new vertex Generated from method MR.Polyline3.addFromEdgePath.

◆ addFromGeneralSurfacePath()

unsafe MR.EdgeId MR.Polyline3.addFromGeneralSurfacePath ( MR.Const_Mesh mesh,
MR.Const_MeshTriPoint start,
MR.Std.Const_Vector_MREdgePoint path,
MR.Const_MeshTriPoint end )
inline

adds general path = start-path-end (where both start and end are optional) to this polyline

Returns
the edge from first new to second new vertex Generated from method MR.Polyline3.addFromGeneralSurfacePath.

◆ addFromPoints() [1/2]

unsafe MR.EdgeId MR.Polyline3.addFromPoints ( MR.Vector3f? vs,
ulong num )
inline

adds connected line in this, passing progressively via points *[vs, vs+num)

if num > 2 && vs[0] == vs[num-1] then a closed line is created

Returns
the edge from first new to second new vertex Generated from method MR.Polyline3.addFromPoints.

◆ addFromPoints() [2/2]

unsafe MR.EdgeId MR.Polyline3.addFromPoints ( MR.Vector3f? vs,
ulong num,
bool closed )
inline

adds connected line in this, passing progressively via points *[vs, vs+num)

if closed argument is true then the last and the first points will be additionally connected

Returns
the edge from first new to second new vertex Generated from method MR.Polyline3.addFromPoints.

◆ addFromSurfacePath()

unsafe MR.EdgeId MR.Polyline3.addFromSurfacePath ( MR.Const_Mesh mesh,
MR.Std.Const_Vector_MREdgePoint path )
inline

adds path to this polyline

Returns
the edge from first new to second new vertex Generated from method MR.Polyline3.addFromSurfacePath.

◆ addPart()

unsafe void MR.Polyline3.addPart ( MR.Const_Polyline3 from,
MR.VertMap? outVmap = null,
MR.WholeEdgeMap? outEmap = null )
inline

appends polyline (from) in addition to this polyline: creates new edges, verts and points;

Parameters
outVmap,outEmap(optionally) returns mappings: from.id -> this.id Generated from method MR.Polyline3.addPart.

◆ addPartByMask()

unsafe void MR.Polyline3.addPartByMask ( MR.Const_Polyline3 from,
MR.Const_UndirectedEdgeBitSet mask,
MR.VertMap? outVmap = null,
MR.EdgeMap? outEmap = null )
inline

appends polyline (from) in addition to this polyline: creates new edges, verts and points Generated from method MR.Polyline3.addPartByMask.

◆ assign()

unsafe MR.Polyline3 MR.Polyline3.assign ( MR._ByValue_Polyline3 _other)
inline

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

◆ invalidateCaches()

unsafe void MR.Polyline3.invalidateCaches ( )
inline

Invalidates caches (e.g. aabb-tree) after a change in polyline Generated from method MR.Polyline3.invalidateCaches.

◆ mirror()

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

reflects the polyline from a given plane. Enabled only for Polyline3f Generated from method MR.Polyline3.mirror<MR.Vector3f>.

◆ operator Polyline3() [1/2]

unsafe implicit MR.Polyline3.operator Polyline3 ( MR.Std.Const_Vector_MRVector3f contour)
inlinestatic

creates polyline from one contour (open or closed) Generated from constructor MR.Polyline3.Polyline3.

◆ operator Polyline3() [2/2]

unsafe implicit MR.Polyline3.operator Polyline3 ( MR.Std.Const_Vector_StdVectorMRVector3f contours)
inlinestatic

creates polyline from several contours (each can be open or closed) Generated from constructor MR.Polyline3.Polyline3.

◆ pack()

unsafe void MR.Polyline3.pack ( MR.VertMap? outVmap = null,
MR.WholeEdgeMap? outEmap = null )
inline

tightly packs all arrays eliminating lone edges and invalid verts and points, optionally returns mappings: old.id -> new.id Generated from method MR.Polyline3.pack.

◆ splitEdge() [1/2]

unsafe MR.EdgeId MR.Polyline3.splitEdge ( MR.EdgeId e)
inline

Generated from method MR.Polyline3.splitEdge.

◆ splitEdge() [2/2]

unsafe MR.EdgeId MR.Polyline3.splitEdge ( MR.EdgeId e,
in MR.Vector3f newVertPos )
inline

split given edge on two parts: dest(returned-edge) = org(e) - newly created vertex, org(returned-edge) = org(e-before-split), dest(e) = dest(e-before-split) Generated from method MR.Polyline3.splitEdge.

◆ transform()

unsafe void MR.Polyline3.transform ( in MR.AffineXf3f xf)
inline

applies given transformation to all valid polyline vertices Generated from method MR.Polyline3.transform.

Property Documentation

◆ points

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

◆ topology

new unsafe MR.PolylineTopology MR.Polyline3.topology
getprotected set

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