Skip to content
Shapemetry

@huukhanhnguyen/types / objects/pointCloud

objects/pointCloud

PointCloudData

PointCloudData = { points: PointEntity[]; }

Geometry-tier point-cloud data document — the bag of points, a sibling of instances[] under the object.

points

points: PointEntity[]


PointCloudInstance

PointCloudInstance = BaseInstance & { material?: string; }


PointCloudObject

PointCloudObject = BaseObject & { data: PointCloudData; instances: PointCloudInstance[]; type: "pointCloud"; }

An object whose data is points and nothing else.

The name is the industry's (Blender OB_POINTCLOUD, Rhino ON_PointCloud). A point intersects nothing and cuts nothing, so a cloud never needs the boolean/offset/trim machinery the other content kinds do.


PointEntity

PointEntity = { attributes?: Record<string, unknown> | null; position: Point; size?: number; }

One point of a cloud. An IMPORTED cloud (LIDAR, photogrammetry) carries per-point claims straight from its source format, so the point is a record rather than a bare position.

attributes?

optional attributes?: Record<string, unknown> | null

Opaque per-point claims (colour, classification, intensity, …). Absent or null === no claims.

position

position: Point

size?

optional size?: number

Display size/radius for this point. Absent === renderer default. Named directly rather than buried in attributes because it is near-universal: USD UsdGeomPoints.widths, Houdini pscale, Blender's point-cloud radius.

Last updated: 📖 1 min readEdit on GitHub