Package intrinsic_proto.geometry
Message
AxisAlignedBoundingBox
Message
AxisAlignedBoundingBox2
Message
AxisAlignedBoundingBox3
Message
MortonToPrimitiveEntry
Message
RenderableWithMetadata
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.
rpc GetGeometry
Request: intrinsic_proto.geometry.GetGeometryRequest
Response:
intrinsic_proto.geometry.GeometryWithMetadata
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.
rpc GetRenderable
Request: intrinsic_proto.geometry.GetRenderableRequest
Response:
intrinsic_proto.geometry.RenderableWithMetadata
Gets the requested Renderable data at the requested LOD(Level of Detail).
rpc CreateGeometry
Request: intrinsic_proto.geometry.CreateGeometryRequest
Response:
intrinsic_proto.geometry.GeometryWithMetadata
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 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. |