Table of Contents

Class Sweptable

Namespace
Hi.Machining
Assembly
HiCbtr.dll

Sweptable geometry.

public class Sweptable : IGetSweptable, IVolumeRemover, IExpandToBox3d, IDisposable
Inheritance
Sweptable
Implements
Inherited Members
Extension Methods

Constructors

Sweptable(Stl, double)

Ctor.

public Sweptable(Stl stl, double nativeTopoStlFractionTolerance)

Parameters

stl Stl

stl

nativeTopoStlFractionTolerance double

Fraction tolerance for native topology STL.

Properties

NativeReplicaCount

Internal Use Only. The number of per-thread replicas the native table holds - one per thread that has swept this sweptable, dead threads' included until the dispose (play-core migration P14, D2 / D4); 0 once disposed.

public int NativeReplicaCount { get; }

Property Value

int

NativeStl

Get geometry.

public NativeStl NativeStl { get; }

Property Value

NativeStl

geoemtry

NativeTopoStl3d

Get geometry.

public NativeTopoStl3d NativeTopoStl3d { get; }

Property Value

NativeTopoStl3d

geoemtry

NativeTopoStl3wfr

Gets the native topology STL with fraction tolerance.

public NativeTopoStl3wfr NativeTopoStl3wfr { get; }

Property Value

NativeTopoStl3wfr

PinCount

Internal Use Only. The pins held now (the facts' seam).

public int PinCount { get; }

Property Value

int

PinnedTableHandle

Internal Use Only (play-core migration P17). The native replica table's handle for the pipeline's in-record (sweptable), valid while the caller holds a pin (TryPin()): Zero when nobody holds one, whether or not the object is disposed.

public nint PinnedTableHandle { get; }

Property Value

nint

Stl

Gets the STL geometry.

public Stl Stl { get; }

Property Value

Stl

Methods

Dispose()

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

public void Dispose()

Dispose(bool)

protected virtual void Dispose(bool disposing)

Parameters

disposing bool

ExpandToBox3d(ref box3d_t)

Expands the destination box. This function is usually used to compute the bounding box of elements. box3d_t is a value type, so the destination is passed by reference (the C++ expand_to_box3d(box3&) shape); an implementation writes dst = dst.Expanded(...) or forwards ref dst to its parts.

public void ExpandToBox3d(ref box3d_t dst)

Parameters

dst box3d_t

Destination box, expanded in place

GetSweptable(double)

Get Sweptable.

public Sweptable GetSweptable(double fractionTolerance)

Parameters

fractionTolerance double

The fraction tolerance for the sweptable.

Returns

Sweptable

Sweptable

Sweep(mat4d_t, mat4d_t)

Get swept geometry.

public CachedTris Sweep(mat4d_t pre, mat4d_t cur)

Parameters

pre mat4d_t

previous transform matrix

cur mat4d_t

current transform matrix

Returns

CachedTris

Swept geometry

Sweep(mat4d_t, double)

Sweep. only available for the geometry that does not contains near point or points on the same line on the same plane.

public CachedTris Sweep(mat4d_t cur, double fractionTolerance)

Parameters

cur mat4d_t

Current transform matrix

fractionTolerance double

Fraction tolerance for the operation

Returns

CachedTris

Swept geometry as cached triangles

TryPin()

Internal Use Only (play-core migration P17). One more pin on the native replica table for a step the native pipeline sweeps on it: true and the pin taken while this object is not disposed, so that PinnedTableHandle stays valid until the matching Unpin(); false after a dispose, when the step is submitted as the empty cut instead. Every true answer is paired with one Unpin().

public bool TryPin()

Returns

bool

Unpin()

Internal Use Only (play-core migration P17). One pin back (TryPin()); the last pin frees the table when a Dispose() ran meanwhile, under the sweep gate's write side as the dispose would have.

public void Unpin()