← Back to packages

Package intrinsic_proto.geometry.v1

Message AxisAlignedBoundingBox

Message AxisAlignedBoundingBox2

Message AxisAlignedBoundingBox3

Message Box

Message Capsule

Message Cylinder

Message Ellipsoid

Message ExactGeometry

Message Frustum

Message GeometricTransform

Message Geometry

Message GeometryOptions

Message GeometryProvenance

Message GeometryStorageRefs

Message InlineGeometry

Message MaterialProperties

Message MortonToPrimitiveEntry

Message Octree

Message OctreeWrapping

Message PrimitiveShape

Message Renderable

Message Sphere

Message TransformedGeometry

Message TransformedPrimitiveShape

Message TransformedPrimitiveShapeSet

Message TriangleMesh

Messages

message AxisAlignedBoundingBox intrinsic/geometry/proto/v1/axis_aligned_bounding_box.proto

Generic bounding box for the n-dimensional case. For 2D and 3D, use specialized types (see below). Note that the number of dimensions is only implicitly encoded in the length of min_points and max_points (when set). However, we also consider a bounding box valid when min_points and max_points are empty (this corresponds then to an empty bounding box).

Field Type Description
1 min_points repeated double
2 max_points repeated double

message AxisAlignedBoundingBox2 intrinsic/geometry/proto/v1/axis_aligned_bounding_box.proto

Bounding box for 2D.

Field Type Description
1 min intrinsic_proto.Vector2
2 max intrinsic_proto.Vector2

message AxisAlignedBoundingBox3 intrinsic/geometry/proto/v1/axis_aligned_bounding_box.proto

Bounding box for 3D.

Field Type Description
1 min intrinsic_proto.Vector3
2 max intrinsic_proto.Vector3

message Box intrinsic/geometry/proto/v1/primitives.proto

Field Type Description
1 size intrinsic_proto.Vector3

message Capsule intrinsic/geometry/proto/v1/primitives.proto

Field Type Description
1 length double
2 radius double

message Cylinder intrinsic/geometry/proto/v1/primitives.proto

Field Type Description
1 length double
2 radius double

message Ellipsoid intrinsic/geometry/proto/v1/primitives.proto

Field Type Description
1 radii intrinsic_proto.Vector3

message ExactGeometry intrinsic/geometry/proto/v1/exact_geometry.proto

Computational geometry representation of Geometry.

Field Type Description
4 octree_wrapping optional intrinsic_proto.geometry.v1.OctreeWrapping

An optional Octree based wrapping that segments the raw data into an octree

5 options intrinsic_proto.geometry.v1.GeometryOptions

Runtime options for this geometry.

oneof data
1 primitive_set intrinsic_proto.geometry.v1.TransformedPrimitiveShapeSet
2 triangle_mesh intrinsic_proto.geometry.v1.TriangleMesh

The mesh representation of this Geometry.

message Frustum intrinsic/geometry/proto/v1/primitives.proto

A pyramid frustum extending in the +z direction with its tip at the origin

Field Type Description
1 x_angle double

The angle in radians between the x-z plane and two the frustum planes that intersect the x-axis

2 y_angle double

The angle in radians between the y-z plane and the frustum planes that intersect the y-axis.

3 min_z_distance double

Distance in meters from the origin to the frustum cut plane near the tip

4 max_z_distance double

Distance in meters from the origin to the frustum base plane

message GeometricTransform intrinsic/geometry/proto/v1/geometric_transform.proto

A proto representation of a geometric transform. It allows for both an affine matrix representation and a Translation/Rotation/Scale representation.

Field Type Description
oneof data
1 matrix4d intrinsic_proto.Matrixd

A 4x4 affine transform matrix

message Geometry intrinsic/geometry/proto/v1/geometry.proto

A single piece of geometry represented as a reference to a stored geometry proto or as the inlined geometry proto itself.

Field Type Description
4 material_overrides optional intrinsic_proto.geometry.v1.MaterialProperties

Overrides to apply to the renderable.

5 provenance intrinsic_proto.geometry.v1.GeometryProvenance

The previous version of this geometry data if one existed.

oneof data
2 geo_ref intrinsic_proto.geometry.v1.GeometryStorageRefs
3 inline_geometry_data intrinsic_proto.geometry.v1.InlineGeometry

message GeometryOptions intrinsic/geometry/proto/v1/geometry_options.proto

Runtime options for a Geometry.

Field Type Description
1 fill_inside_for_distance_queries optional bool

If set, the octree will be filled on the inside when constructing the octree for distance queries. This is only used when generating new octree wrappings from an existing mesh or point cloud. This is not used when loading a pre-existing octree wrapping like the one stored in the ExactGeometry proto.

message GeometryProvenance intrinsic/geometry/proto/v1/geometry.proto

Information about a previous version of a geometry. Importantly this does not include the ref_t_shape from a transformed geometry in the history.

Field Type Description
1 human_readable_update_reason string

Use as a descriptor for what operation was performed to update the geometry from oneof data.

oneof data
2 geometry_data_uri string

A reference to the stored geometry proto e.g. a CAS URI that represents the previous version of this geometry. Encoded as intrinsic_proto.geometry.v1.Geometry instance.

3 geometry_data intrinsic_proto.geometry.v1.Geometry

The actual data for the previous version of this geometry.

message GeometryStorageRefs intrinsic/geometry/proto/v1/geometry_storage_refs.proto

GeometryStorageRefs is intended to be an opaque container of references to storage objects e.g. CAS URIs. The constituent fields provide no guarantees of uniqueness. Can be used to recreate an intrinsic_proto.geometry.v1.InlineGeometry instance

Field Type Description
1 exact_geometry_ref string

A reference to the stored geometry proto e.g. a CAS URI. Encoded as intrinsic_proto.geometry.v1.ExactGeometry instance.

2 renderable_ref string

A reference to the stored renderable proto e.g. a CAS URI. Encoded as intrinsic_proto.geometry.v1.Renderable instance.

3 keep_renderable bool

Whether the to keep the renderable because it was user provided as opposed to being auto generated by the system.

message InlineGeometry intrinsic/geometry/proto/v1/inline_geometry.proto

Field Type Description
1 exact_geometry intrinsic_proto.geometry.v1.ExactGeometry

The computational geometry representation.

oneof renderable_type
2 renderable intrinsic_proto.geometry.v1.Renderable

If renderable is specified then this proto contains a unique (user provided) renderable that should be maintained.

3 generated_renderable intrinsic_proto.geometry.v1.Renderable

If generated_renderable is specified then this proto contains a cached generated renderable and does not have to be maintained.

message MaterialProperties intrinsic/geometry/proto/v1/material.proto

Material properties that can be applied to a geometry.

Field Type Description
1 base_color optional google.type.Color

Base Color controls non-reflective surface detail for non-metallic surfaces. Defaults to Gray50(R=0.5,G=0.5,B=0.5) if not specified.

2 metalness optional double

Metalness controls how the surface reflects light, either as raw metal or as a non-metallic (dielectric) surface. At full metalness, the surface is fully reflective and the base color controls the reflection strength and color. At zero metalness, the surface is fully reflective only at grazing angles, and the base color has no effect on specular reflection. Metalness is in the range [0, 1]. Defaults to 1.0 if not specified.

3 roughness optional double

Roughness defines micro-surface bumpiness, which essentially controls how blurry or sharp reflections will be. Roughness is in the range [0, 1]. Defaults to 1.0 if not specified.

4 transmission optional double

Transmission is used to describe the percentage of light that is transmitted through the surface of the material and handles infinitely thin volumes (e.g. stain or transparent foil). This effect, as opposed to alpha coverage, more accurately represents refractive materials like glass and water, which also show visible reflections. Transmission is in the range [0, 1]. Defaults to 0.0 if not specified.

message MortonToPrimitiveEntry (Nested in intrinsic_proto.geometry.v1.OctreeWrapping ) intrinsic/geometry/proto/v1/octree_wrapping.proto

Field Type Description
1 code uint64
2 primitives repeated int32

message Octree intrinsic/geometry/proto/v1/octree.proto

Octree representation.

Field Type Description
2 is_child_k_leaf bytes
3 has_child_k bytes
4 morton_list repeated uint64
6 workspace_bounding_box intrinsic_proto.geometry.v1.AxisAlignedBoundingBox3
7 max_depth uint32

message OctreeWrapping intrinsic/geometry/proto/v1/octree_wrapping.proto

Wrapping context for describing how a octree wraps a mesh. This data structure contains both the octree and the associations between octree voxels and the primitives contained in the corresponding mesh.

Field Type Description
1 octree intrinsic_proto.geometry.v1.Octree

The octree structure.

3 morton_to_primitives repeated intrinsic_proto.geometry.v1.OctreeWrapping.MortonToPrimitiveEntry

The associations between the voxels and the primitives in the mesh.

message PrimitiveShape intrinsic/geometry/proto/v1/primitive_shape.proto

A primitives based representation of a geometric shape.

Field Type Description
oneof shape
1 box intrinsic_proto.geometry.v1.Box
2 capsule intrinsic_proto.geometry.v1.Capsule
3 cylinder intrinsic_proto.geometry.v1.Cylinder
4 ellipsoid intrinsic_proto.geometry.v1.Ellipsoid
5 frustum intrinsic_proto.geometry.v1.Frustum
6 sphere intrinsic_proto.geometry.v1.Sphere

message Renderable intrinsic/geometry/proto/v1/renderable.proto

Renderable representation of Geometry.

Field Type Description
1 glb_bytes bytes

GLB representation of a geometric shape. May have gone through a lossy process to be generated.

message Sphere intrinsic/geometry/proto/v1/primitives.proto

Field Type Description
1 radius double

message TransformedGeometry intrinsic/geometry/proto/v1/transformed_geometry.proto

Field Type Description
1 geometry intrinsic_proto.geometry.v1.Geometry

The geometric data for the shape.

2 ref_t_shape intrinsic_proto.geometry.v1.GeometricTransform

The geometric transform from the reference frame to the shape.

message TransformedPrimitiveShape intrinsic/geometry/proto/v1/transformed_primitive_shape.proto

A transformed primitive shape.

Field Type Description
1 shape intrinsic_proto.geometry.v1.PrimitiveShape

The geometric data for the shape.

2 ref_t_shape intrinsic_proto.geometry.v1.GeometricTransform

The geometric transform from the reference frame to the shape.

message TransformedPrimitiveShapeSet intrinsic/geometry/proto/v1/transformed_primitive_shape_set.proto

A set of transformed primitive shapes, which are used to represent a geometry.

Field Type Description
1 primitives repeated intrinsic_proto.geometry.v1.TransformedPrimitiveShape

message TriangleMesh intrinsic/geometry/proto/v1/triangle_mesh.proto

Represents a triangle mesh with faces and vertices specified within. The expectation is three dimensional vertices and triangles for the faces. Specified in row major order.

Field Type Description
3 vertices repeated double

The vertices as a flat array, in row major order. Example ordering: x1, y1, z1, x2, y2, z2. This produces vertices like v1=(x1, y1, z1) and v2=(x2,y2,z2)

6 faces repeated int32

The faces as a flat array, in row major order. Example ordering: v1, v2, v3, v4, v5, v6. This produces faces like f1=(v1, v2, v3) and f2=(v4, v5, v6). Where v1-v6 are indexes into the parsed set of vertices produced from the vertices field.