Helper functions for particle traces


computeGridPoints, normal, numU, numV, groupSpacing)

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

  • center (cee.Vec3Like) – The center of the grid of generated points

  • normal (cee.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.

Return type



An array of Vec3 points forming a grid as specified. The grid will contain numU*numV 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.

seedPointsFromPointsAndNormals, normalArr, modelBoundingBox, planeFilter)

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 (cee.BoundingBox) – Model bounding box. Used to figure out how much to nudge the seed points to be inside the volume

  • planeFilter (cee.Plane) – If a plane is passed in this parameter, only centroids that are on or very close to this plane will be used.

Return type



An array of Vec3 points.