Table of Contents

Class Tri3dUtil

Namespace
Hi.Geom
Assembly
HiGeom.dll

Utility of tri3d_t. Include generator of triangles from points.

public static class Tri3dUtil
Inheritance
Tri3dUtil
Inherited Members

Methods

GenTrisByAlignedLists(IList<vec3d_t>, IList<vec3d_t>, IList<tri3d_t>)

public static void GenTrisByAlignedLists(IList<vec3d_t> ps, IList<vec3d_t> rrps, IList<tri3d_t> dst)

Parameters

ps IList<vec3d_t>
rrps IList<vec3d_t>
dst IList<tri3d_t>

GenTrisByAlignedLoops(IList<vec3d_t>, IList<vec3d_t>, IList<tri3d_t>)

Generates triangles between two aligned loops of points.

public static void GenTrisByAlignedLoops(IList<vec3d_t> ps, IList<vec3d_t> rrps, IList<tri3d_t> dst)

Parameters

ps IList<vec3d_t>

First loop of points

rrps IList<vec3d_t>

Second loop of points

dst IList<tri3d_t>

The collection to add the generated triangles to

GenTrisByFan(IEnumerable<vec3d_t>)

Generates triangles in a fan pattern from a sequence of points; each triangle's normal is derived from its own vertices.

public static IEnumerable<tri3d_t> GenTrisByFan(this IEnumerable<vec3d_t> ps)

Parameters

ps IEnumerable<vec3d_t>

The sequence of points

Returns

IEnumerable<tri3d_t>

An enumerable of triangles forming a fan

GenTrisByFan(IEnumerable<vec3d_t>, vec3d_t)

Generates triangles in a fan pattern from a sequence of points, all carrying the given face normal.

public static IEnumerable<tri3d_t> GenTrisByFan(this IEnumerable<vec3d_t> ps, vec3d_t faceNormal)

Parameters

ps IEnumerable<vec3d_t>

The sequence of points

faceNormal vec3d_t

The face normal for every triangle

Returns

IEnumerable<tri3d_t>

An enumerable of triangles forming a fan

GenTrisByNumAlignment(List<vec3d_t>, List<vec3d_t>, IList<tri3d_t>)

Generates triangles between two lists of points with different numbers of points.

public static void GenTrisByNumAlignment(List<vec3d_t> psA, List<vec3d_t> psB, IList<tri3d_t> dst)

Parameters

psA List<vec3d_t>

First list of points

psB List<vec3d_t>

Second list of points

dst IList<tri3d_t>

The collection to add the generated triangles to

GenTrisByQuad(vec3d_t, vec3d_t, vec3d_t, vec3d_t, IList<tri3d_t>)

Generates two triangles from a quadrilateral defined by four points.

public static void GenTrisByQuad(vec3d_t p0, vec3d_t p1, vec3d_t p2, vec3d_t p3, IList<tri3d_t> dst)

Parameters

p0 vec3d_t

First point of the quadrilateral

p1 vec3d_t

Second point of the quadrilateral

p2 vec3d_t

Third point of the quadrilateral

p3 vec3d_t

Fourth point of the quadrilateral

dst IList<tri3d_t>

The collection to add the generated triangles to

GenTrisByStar(vec3d_t, IList<vec3d_t>, IList<tri3d_t>)

Generates triangles in a star pattern from a center point to a list of points.

public static void GenTrisByStar(vec3d_t starP, IList<vec3d_t> ps, IList<tri3d_t> dst)

Parameters

starP vec3d_t

The center point of the star

ps IList<vec3d_t>

The list of points forming the perimeter

dst IList<tri3d_t>

The collection to add the generated triangles to

GenTrisByStar(IList<vec3d_t>, vec3d_t, IList<tri3d_t>)

Generates triangles in a star pattern from a list of points to a center point.

public static void GenTrisByStar(IList<vec3d_t> ps, vec3d_t starP, IList<tri3d_t> dst)

Parameters

ps IList<vec3d_t>

The list of points forming the perimeter

starP vec3d_t

The center point of the star

dst IList<tri3d_t>

The collection to add the generated triangles to

GetSegmentsFromPlaneClip(IEnumerable<tri3d_t>, IFlat3d)

Gets line segments resulting from intersecting triangles with a clipping plane.

public static List<Segment3d> GetSegmentsFromPlaneClip(this IEnumerable<tri3d_t> tris, IFlat3d clipPlane)

Parameters

tris IEnumerable<tri3d_t>

The collection of triangles to clip

clipPlane IFlat3d

The clipping plane

Returns

List<Segment3d>

A list of line segments representing the intersection