API Reference > geometry-core > CartesianGeometry > Point3dArray Point3dArray Class The Point3dArray class contains static methods that act on arrays of 3d points. Methods Name Description constructor(): Point3dArray centroid(points: IndexedXYZCollection, result?: Point3d): Point3d Static return simple average of all coordinates. cloneDeepJSONNumberArrays(data: MultiLineStringDataVariant): number[][] Static return similarly-structured array, array of arrays, etc, with the lowest level point data specifically structured as arrays of 3 numbers [1,2,3] cloneDeepXYZPoint3dArrays(data: MultiLineStringDataVariant): any[] Static return similarly-structured array, array of arrays, etc, with the lowest level point data specifically structured as Point3d. clonePoint2dArray(data: Readonly<WritableXYAndZ>[]): Point2d[] Static Return an array containing Point2d with xy parts of each Point3d clonePoint3dArray(data: XYZProps[] | Float64Array): Point3d[] Static Return an array containing clones of the Point3d data[] cloneWithMaxEdgeLength(points: Point3d[], maxEdgeLength: number): Point3d[] Static clone points in the input array, inserting points within each edge to limit edge length. cloneXYZPropsAsFloat64Array(data: XYZProps[]): Float64Array Static clone an array of XYZProps data, specifically as flattened array of number cloneXYZPropsAsNumberArray(data: XYZProps[]): number[][] Static clone an array of XYZProps data, specifically as arrays of 3 numbers closestPointIndex(data: Readonly<WritableXYAndZ>[], spacePoint: Readonly<WritableXYAndZ>): number Static Return the index of the closest point in the array (full xyz) computeConvexHullXY(points: Point3d[], hullPoints: Point3d[], insidePoints: Point3d[], addClosurePoint: boolean = false): void Static Computes the hull of the XY projection of points. createRange(data: MultiLineStringDataVariant): Range3d Static Point3dArray.createRange(data) is deprecated. Deprecated evaluateTrilinearDerivativeTransform(points: Point3d[], u: number, v: number, w: number, result?: Transform): Transform Static Compute a point and derivatives wrt uvw by trilinear mapping. evaluateTrilinearPoint(points: Point3d[], u: number, v: number, w: number, result?: Point3d): Point3d Static Compute a point by trilinear mapping. evaluateTrilinearWeights(weights: Float64Array, u0: number, u1: number, v0: number, v1: number, w0: number, w1: number): void Static Compute the 8 weights of trilinear mapping indexOfMostDistantPoint(points: Point3d[], spacePoint: XYZ, farVector: Vector3d): undefined | number Static Return the index of the point most distant from spacePoint indexOfPointWithMaxCrossProductMagnitude(points: Point3d[], spacePoint: Point3d, vector: Vector3d, farVector: Vector3d): undefined | number Static return the index of the point whose vector from space point has the largest magnitude of cross product with given vector. isAlmostEqual(dataA: undefined | Point3d[] | Float64Array, dataB: undefined | Point3d[] | Float64Array): boolean Static Apply Geometry.isAlmostEqual to corresponding coordinates isCloseToPlane(data: Point3d[] | Float64Array, plane: Plane3dByOriginAndUnitNormal, tolerance: number = Geometry.smallMetricDistance): boolean Static return true iff all points' altitudes are within tolerance of the plane. minMaxPoints(data: Point3d[]): undefined | { maxXPoint: Point3d, maxYPoint: Point3d, minXPoint: Point3d, minYPoint: Point3d } Static Return (clones of) points in data[] with min and max x and y parts. multiplyInPlace(transform: Transform, xyz: Float64Array): void Static multiply a transform times each x,y,z triple and replace the x,y,z in the packed array packToFloat64Array(data: Point3d[]): Float64Array Static pack x,y,z to Float64Array sumEdgeLengths(data: Point3d[] | Float64Array, addClosureEdge: boolean = false): number Static Sum lengths of edges. sumWeightedX(weights: Float64Array, points: Point3d[]): number Static sum the weighted x components from a point array. sumWeightedY(weights: Float64Array, points: Point3d[]): number Static sum the weighted x components from a point array. sumWeightedZ(weights: Float64Array, points: Point3d[]): number Static sum the weighted x components from a point array. unpackNumbersToNestedArrays(data: Float64Array, numPerBlock: number): any[] Static return an 2-dimensional array containing all the values of data in arrays of numPerBlock unpackNumbersToNestedArraysIJK(data: Float64Array, numPerBlock: number, numPerRow: number): any[] Static return an 3-dimensional array containing all the values of data in arrays numPerRow blocks of numPerBlock unpackNumbersToPoint3dArray(data: number[] | Float64Array): Point3d[] Static unpack from a number array or Float64Array to an array of Point3d Defined in geometry3d/PointHelpers.ts Line 358 Last Updated: 11 June, 2024