ParticleTraceUtils

class cee.ug.ParticleTraceUtils()

Helper functions for particle traces

Constructors

cee.ug.ParticleTraceUtils.constructor()
ParticleTraceUtils(): ParticleTraceUtils

Returns: ParticleTraceUtils

Methods

static cee.ug.ParticleTraceUtils.computeGridPoints()

static

computeGridPoints(center: Vec3Like, normal: Vec3Like, numU: number, numV: number, groupSpacing: number): Vec3[]

Computes a grid of points based on the given point and normal and returns the array of points

Useful for generating particle trace seed points. All grid points will be in the plane specified by the given center and normal, centered around the center.

Parameters

center: Vec3Like

The center of the grid of generated points

normal: Vec3Like

The normal of the surface which the grid points will be on.

numU: number

Number of grid point in the U direction.

numV: number

Number of grid points in the V direction.

groupSpacing: number

The distance between each point in the grid.

Returns: Vec3[]

An array of Vec3 points forming a grid as specified. The grid will contain numU*numV points.
static cee.ug.ParticleTraceUtils.seedPointsFromPointsAndNormals()

static

seedPointsFromPointsAndNormals(pointArr: ArrayLike, normalArr: ArrayLike, modelBoundingBox: BoundingBox, planeFilter: Plane): Vec3[]

Compute seed points based on the centroids of the visible element surfaces of a part.

Parameters

pointArr: ArrayLike

The result of a QueryPartSurfacePositions

normalArr: ArrayLike

Per point normals. The normal is used to nudge the seed point a bit in the opposite direction of the normal. This is to cater for the seed point being inside the volume and not outside due to numeric precision.

modelBoundingBox: BoundingBox

Model bounding box. Used to figure out how much to nudge the seed points to be inside the volume

planeFilter: Plane

If a plane is passed in this parameter, only centroids that are on or very close to this plane will be used.

Returns: Vec3[]

An array of Vec3 points.