← Back to packages

Package intrinsic_proto.geometry

Service GeometryService

Message AxisAlignedBoundingBox

Message AxisAlignedBoundingBox2

Message AxisAlignedBoundingBox3

Message Box

Message Capsule

Message CreateGeometryRequest

Message Cylinder

Message Ellipsoid

Message Frustum

Message Geometry

Message GeometryData

Message GeometryStorageRefs

Message GeometryWithMetadata

Message GetGeometryRequest

Message GetRenderableRequest

Message LazyExactGeometry

Message MeshOctreeWrapping

Message MortonToPrimitiveEntry

Message Octree

Message OrientedBoundingBox

Message OrientedBoundingBox3

Message PrimitiveShape

Message PrimitiveShapeSet

Message Renderable

Message RenderableWithMetadata

Message Sphere

Message TransformedGeometryStorageRefs

Message TriangleMesh

Services

service GeometryService intrinsic/geometry/proto/geometry_service.proto

Geometry service is a mechanism for storing and retrieving geometry like meshes or primitives used within a world instance.

Gets the requested Geometry data. Includes computational geometry data as well as the optional Renderable data if available. The Renderable data will be at original quality.

Gets the requested Renderable data at the requested LOD(Level of Detail).

Adds new geometry data to the service that can be fetched later.

Messages

message AxisAlignedBoundingBox intrinsic/geometry/proto/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/axis_aligned_bounding_box.proto

Bounding box for 2D.

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

message AxisAlignedBoundingBox3 intrinsic/geometry/proto/axis_aligned_bounding_box.proto

Bounding box for 3D.

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

message Box intrinsic/geometry/proto/primitives.proto

Field Type Description
1 size intrinsic_proto.Vector3

message Capsule intrinsic/geometry/proto/primitives.proto

Field Type Description
1 length double
2 radius double

message CreateGeometryRequest intrinsic/geometry/proto/geometry_service.proto

Request message for adding new geometry to the geometry service

Field Type Description
1 data intrinsic_proto.geometry.GeometryData

The geometry data to store.

message Cylinder intrinsic/geometry/proto/primitives.proto

Field Type Description
1 length double
2 radius double

message Ellipsoid intrinsic/geometry/proto/primitives.proto

Field Type Description
1 radii intrinsic_proto.Vector3

message Frustum intrinsic/geometry/proto/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 Geometry intrinsic/geometry/proto/geometry.proto

Shared Geometry representation. Contains both the computational geometry data as well as an optional renderable data available for the shape.

Field Type Description
4 exact_geometry intrinsic_proto.geometry.LazyExactGeometry

The computational geometry representation.

oneof renderable_type
2 renderable intrinsic_proto.geometry.Renderable

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

3 generated_renderable intrinsic_proto.geometry.Renderable

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

message GeometryData intrinsic/geometry/proto/geometry_service_types.proto

Field Type Description
oneof data
1 geometry_v0 intrinsic_proto.geometry.Geometry

The full geometry object Deprecated, will be removed soon. Use inline_geometry instead.

2 obj_data bytes

Obj file format, in string format

3 gltf_bytes bytes

Gltf compressed data in binary format.

4 primitive_set_v0 intrinsic_proto.geometry.PrimitiveShapeSet

Supported primitives shapes like box and sphere Deprecated, will be removed soon. Use primitive_set instead.

5 stl_bytes bytes

Stl file format, in binary format or 8bit ASCII encoding.

8 primitive_set intrinsic_proto.geometry.v1.TransformedPrimitiveShapeSet

Supported primitives shapes like box and sphere

9 inline_geometry intrinsic_proto.geometry.v1.InlineGeometry

The full geometry object, supports primitives as well.

message GeometryStorageRefs intrinsic/geometry/proto/geometry_storage_refs.proto

GeometryStorageRefs is intended to be an (mostly) opaque container of references to storage objects e.g. CAS URIs. The constituent fields provide no guarantees of uniqueness.

Field Type Description
1 fingerprint string
2 geometry_ref string

A reference to the stored geometry proto e.g. a CAS URI.

3 renderable_ref string

A reference to the stored renderable proto e.g. a CAS URI.

message GeometryWithMetadata intrinsic/geometry/proto/geometry_service_types.proto

Response message for getting geometry from the geometry service.

Field Type Description
2 geometry_v0 intrinsic_proto.geometry.Geometry

The geometry data for the requested geometry object. Deprecated, will be removed soon. Use inline_geometry instead.

3 geometry_storage_refs_v0 intrinsic_proto.geometry.GeometryStorageRefs

Deprecated, will be removed soon. Use geometry_storage_refs instead.

4 geometry_storage_refs intrinsic_proto.geometry.v1.GeometryStorageRefs

The references to the stored geometry artifacts.

5 inline_geometry intrinsic_proto.geometry.v1.InlineGeometry

The geometry data for the requested geometry object.

message GetGeometryRequest intrinsic/geometry/proto/geometry_service.proto

Request message for getting geometry from the geometry service.

Field Type Description
2 geometry_storage_refs_v0 intrinsic_proto.geometry.GeometryStorageRefs

The references to the stored geometry being requested. Deprecated, will be removed soon. Use geometry_storage_refs instead.

3 geometry_storage_refs intrinsic_proto.geometry.v1.GeometryStorageRefs

The references to the stored geometry being requested.

message GetRenderableRequest intrinsic/geometry/proto/geometry_service.proto

Request message for getting renderable data from the geometry service.

Field Type Description
2 lod_level uint32

The LOD to use when fetching the renderable data. 0 means the original quality and any number above that will simplify the geometry. The higher the number the more simplified it will be.

3 geometry_storage_refs_v0 intrinsic_proto.geometry.GeometryStorageRefs

The references to the stored geometry being requested. Deprecated, will be removed soon. Use geometry_storage_refs instead.

4 geometry_storage_refs intrinsic_proto.geometry.v1.GeometryStorageRefs

The references to the stored geometry being requested.

message LazyExactGeometry intrinsic/geometry/proto/lazy_exact_geometry.proto

Computational geometry representation of Geometry.

Field Type Description
4 mesh_octree_wrapping intrinsic_proto.geometry.MeshOctreeWrapping

An optional Octree based wrapping that segments the mesh into an octree

5 primitive_set intrinsic_proto.geometry.PrimitiveShapeSet

An optional set of primitives that represent the geometry.

6 triangle_mesh intrinsic_proto.geometry.TriangleMesh

The mesh representation of this Geometry.

message MeshOctreeWrapping intrinsic/geometry/proto/mesh_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.Octree

The octree structure.

3 morton_to_primitives repeated intrinsic_proto.geometry.MeshOctreeWrapping.MortonToPrimitiveEntry

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

message MortonToPrimitiveEntry (Nested in intrinsic_proto.geometry.MeshOctreeWrapping ) intrinsic/geometry/proto/mesh_octree_wrapping.proto

Field Type Description
1 code uint64
2 primitives repeated int32

message Octree intrinsic/geometry/proto/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.AxisAlignedBoundingBox3
7 max_depth uint32

message OrientedBoundingBox intrinsic/geometry/proto/oriented_bounding_box.proto

Generic oriented bounding box for the n-dimensional case. For 3D, use specialized types (see below). Note that the number of dimensions is only implicitly encoded in the axis_aligned_box.

Field Type Description
1 axis_aligned_box intrinsic_proto.geometry.AxisAlignedBoundingBox
2 ref_t_box intrinsic_proto.Pose

Pose of the box frame in the reference frame.

message OrientedBoundingBox3 intrinsic/geometry/proto/oriented_bounding_box.proto

An oriented 3-D bounding box

Field Type Description
1 dimensions intrinsic_proto.Vector3

Full-length dimensions of the bounding box.

2 ref_t_box intrinsic_proto.Pose

Pose of the center of the box in the reference frame.

message PrimitiveShape intrinsic/geometry/proto/lazy_exact_geometry.proto

A primitives based representation of a geometric shape.

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

message PrimitiveShapeSet intrinsic/geometry/proto/lazy_exact_geometry.proto

A set of primitives grouped together.

Field Type Description
1 primitives repeated intrinsic_proto.geometry.PrimitiveShape

message Renderable intrinsic/geometry/proto/renderable.proto

Renderable representation of Geometry.

Field Type Description
1 gltf_string bytes

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

message RenderableWithMetadata intrinsic/geometry/proto/geometry_service_types.proto

Response message for getting renderable data from the geometry service.

Field Type Description
2 lod_level uint32

The LOD level used when fetching the renderable data. 0 means the original quality and any number above that will simplify the geometry. The higher the number the more simplified it will be.

3 renderable_v0 intrinsic_proto.geometry.Renderable

The renderable data itself. Deprecated, will be removed soon. Use renderable instead.

4 geometry_storage_refs_v0 intrinsic_proto.geometry.GeometryStorageRefs

The references to the stored geometry artifacts. Deprecated, will be removed soon. Use geometry_storage_refs instead.

5 geometry_storage_refs intrinsic_proto.geometry.v1.GeometryStorageRefs

The references to the stored geometry artifacts.

6 renderable intrinsic_proto.geometry.v1.Renderable

The renderable data itself.

message Sphere intrinsic/geometry/proto/primitives.proto

Field Type Description
1 radius double

message TransformedGeometryStorageRefs intrinsic/geometry/proto/transformed_geometry_storage_refs.proto

A proto holding the Geometry refs and a transform similar to the TransformedGeometry object.

Field Type Description
1 geometry_storage_refs intrinsic_proto.geometry.GeometryStorageRefs

The references to the stored geometry.

2 ref_t_shape_aff intrinsic_proto.Matrixd

This is a 4x4 affine transform from the reference frame to this shape.

message TriangleMesh intrinsic/geometry/proto/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.