• Public
  • Public/Protected
  • All

Class ParticleTraceUtils

Helper functions for particle traces


  • ParticleTraceUtils



Static computeGridPoints

  • 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.


    • 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 seedPointsFromPointsAndNormals

  • seedPointsFromPointsAndNormals(pointArr: ArrayLike<number>, normalArr: ArrayLike<number>, modelBoundingBox: BoundingBox, planeFilter?: Plane): Vec3[]
  • Compute seed points based on the centroids of the visible element surfaces of a part.


    • pointArr: ArrayLike<number>

      The result of a QueryPartSurfacePositions

    • normalArr: ArrayLike<number>

      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

    • Optional 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.

Generated using TypeDoc