From 30ed755a5d50f34edae23c457dc5b38faa87b184 Mon Sep 17 00:00:00 2001 From: viambot Date: Fri, 17 May 2024 16:49:18 +0000 Subject: [PATCH] [WORKFLOW] Updating protos from viamrobotics/api, commit: 01a87a04f77aa0a151a0572618cc27315e639b4b --- .../main/gen/com/viam/common/v1/Common.java | 238 +++++----- .../com/viam/service/motion/v1/Motion.java | 419 +++++++++++++++--- .../service/navigation/v1/Navigation.java | 96 ++-- .../viam/app/mltraining/v1/MlTraining.java | 228 +++++++++- .../gen/viam/app/packages/v1/Packages.java | 88 +++- core/sdk/src/main/resources/protofds/viam.api | Bin 496793 -> 499869 bytes 6 files changed, 857 insertions(+), 212 deletions(-) diff --git a/core/sdk/src/main/gen/com/viam/common/v1/Common.java b/core/sdk/src/main/gen/com/viam/common/v1/Common.java index 35c1af36e..41b00f347 100644 --- a/core/sdk/src/main/gen/com/viam/common/v1/Common.java +++ b/core/sdk/src/main/gen/com/viam/common/v1/Common.java @@ -6058,13 +6058,13 @@ public static com.google.protobuf.Parser parser() { } } - public interface GeoObstacleOrBuilder extends - // @@protoc_insertion_point(interface_extends:viam.common.v1.GeoObstacle) + public interface GeoGeometryOrBuilder extends + // @@protoc_insertion_point(interface_extends:viam.common.v1.GeoGeometry) com.google.protobuf.MessageLiteOrBuilder { /** *
-     * Location of the obstacle
+     * Location of the geometry
      * 
* * .viam.common.v1.GeoPoint location = 1 [json_name = "location"]; @@ -6073,7 +6073,7 @@ public interface GeoObstacleOrBuilder extends boolean hasLocation(); /** *
-     * Location of the obstacle
+     * Location of the geometry
      * 
* * .viam.common.v1.GeoPoint location = 1 [json_name = "location"]; @@ -6083,7 +6083,7 @@ public interface GeoObstacleOrBuilder extends /** *
-     * Geometries that describe the obstacle, where embedded Pose data is with respect to the specified location
+     * Geometries associated with the location, where embedded Pose data is with respect to the specified location
      * 
* * repeated .viam.common.v1.Geometry geometries = 2 [json_name = "geometries"]; @@ -6092,7 +6092,7 @@ public interface GeoObstacleOrBuilder extends getGeometriesList(); /** *
-     * Geometries that describe the obstacle, where embedded Pose data is with respect to the specified location
+     * Geometries associated with the location, where embedded Pose data is with respect to the specified location
      * 
* * repeated .viam.common.v1.Geometry geometries = 2 [json_name = "geometries"]; @@ -6100,7 +6100,7 @@ public interface GeoObstacleOrBuilder extends com.viam.common.v1.Common.Geometry getGeometries(int index); /** *
-     * Geometries that describe the obstacle, where embedded Pose data is with respect to the specified location
+     * Geometries associated with the location, where embedded Pose data is with respect to the specified location
      * 
* * repeated .viam.common.v1.Geometry geometries = 2 [json_name = "geometries"]; @@ -6109,18 +6109,17 @@ public interface GeoObstacleOrBuilder extends } /** *
-   * GeoObstacle contains information about the geometric structure of an obstacle and the location of the obstacle,
-   * captured in latitude and longitude.
+   * GeoGeometry contains information describing Geometry(s) that is located at a GeoPoint
    * 
* - * Protobuf type {@code viam.common.v1.GeoObstacle} + * Protobuf type {@code viam.common.v1.GeoGeometry} */ - public static final class GeoObstacle extends + public static final class GeoGeometry extends com.google.protobuf.GeneratedMessageLite< - GeoObstacle, GeoObstacle.Builder> implements - // @@protoc_insertion_point(message_implements:viam.common.v1.GeoObstacle) - GeoObstacleOrBuilder { - private GeoObstacle() { + GeoGeometry, GeoGeometry.Builder> implements + // @@protoc_insertion_point(message_implements:viam.common.v1.GeoGeometry) + GeoGeometryOrBuilder { + private GeoGeometry() { geometries_ = emptyProtobufList(); } private int bitField0_; @@ -6128,7 +6127,7 @@ private GeoObstacle() { private com.viam.common.v1.Common.GeoPoint location_; /** *
-     * Location of the obstacle
+     * Location of the geometry
      * 
* * .viam.common.v1.GeoPoint location = 1 [json_name = "location"]; @@ -6139,7 +6138,7 @@ public boolean hasLocation() { } /** *
-     * Location of the obstacle
+     * Location of the geometry
      * 
* * .viam.common.v1.GeoPoint location = 1 [json_name = "location"]; @@ -6150,7 +6149,7 @@ public com.viam.common.v1.Common.GeoPoint getLocation() { } /** *
-     * Location of the obstacle
+     * Location of the geometry
      * 
* * .viam.common.v1.GeoPoint location = 1 [json_name = "location"]; @@ -6162,7 +6161,7 @@ private void setLocation(com.viam.common.v1.Common.GeoPoint value) { } /** *
-     * Location of the obstacle
+     * Location of the geometry
      * 
* * .viam.common.v1.GeoPoint location = 1 [json_name = "location"]; @@ -6181,7 +6180,7 @@ private void mergeLocation(com.viam.common.v1.Common.GeoPoint value) { } /** *
-     * Location of the obstacle
+     * Location of the geometry
      * 
* * .viam.common.v1.GeoPoint location = 1 [json_name = "location"]; @@ -6194,7 +6193,7 @@ private void mergeLocation(com.viam.common.v1.Common.GeoPoint value) { private com.google.protobuf.Internal.ProtobufList geometries_; /** *
-     * Geometries that describe the obstacle, where embedded Pose data is with respect to the specified location
+     * Geometries associated with the location, where embedded Pose data is with respect to the specified location
      * 
* * repeated .viam.common.v1.Geometry geometries = 2 [json_name = "geometries"]; @@ -6205,7 +6204,7 @@ public java.util.List getGeometriesList() { } /** *
-     * Geometries that describe the obstacle, where embedded Pose data is with respect to the specified location
+     * Geometries associated with the location, where embedded Pose data is with respect to the specified location
      * 
* * repeated .viam.common.v1.Geometry geometries = 2 [json_name = "geometries"]; @@ -6216,7 +6215,7 @@ public java.util.List getGeometriesList() { } /** *
-     * Geometries that describe the obstacle, where embedded Pose data is with respect to the specified location
+     * Geometries associated with the location, where embedded Pose data is with respect to the specified location
      * 
* * repeated .viam.common.v1.Geometry geometries = 2 [json_name = "geometries"]; @@ -6227,7 +6226,7 @@ public int getGeometriesCount() { } /** *
-     * Geometries that describe the obstacle, where embedded Pose data is with respect to the specified location
+     * Geometries associated with the location, where embedded Pose data is with respect to the specified location
      * 
* * repeated .viam.common.v1.Geometry geometries = 2 [json_name = "geometries"]; @@ -6238,7 +6237,7 @@ public com.viam.common.v1.Common.Geometry getGeometries(int index) { } /** *
-     * Geometries that describe the obstacle, where embedded Pose data is with respect to the specified location
+     * Geometries associated with the location, where embedded Pose data is with respect to the specified location
      * 
* * repeated .viam.common.v1.Geometry geometries = 2 [json_name = "geometries"]; @@ -6257,7 +6256,7 @@ private void ensureGeometriesIsMutable() { /** *
-     * Geometries that describe the obstacle, where embedded Pose data is with respect to the specified location
+     * Geometries associated with the location, where embedded Pose data is with respect to the specified location
      * 
* * repeated .viam.common.v1.Geometry geometries = 2 [json_name = "geometries"]; @@ -6270,7 +6269,7 @@ private void setGeometries( } /** *
-     * Geometries that describe the obstacle, where embedded Pose data is with respect to the specified location
+     * Geometries associated with the location, where embedded Pose data is with respect to the specified location
      * 
* * repeated .viam.common.v1.Geometry geometries = 2 [json_name = "geometries"]; @@ -6282,7 +6281,7 @@ private void addGeometries(com.viam.common.v1.Common.Geometry value) { } /** *
-     * Geometries that describe the obstacle, where embedded Pose data is with respect to the specified location
+     * Geometries associated with the location, where embedded Pose data is with respect to the specified location
      * 
* * repeated .viam.common.v1.Geometry geometries = 2 [json_name = "geometries"]; @@ -6295,7 +6294,7 @@ private void addGeometries( } /** *
-     * Geometries that describe the obstacle, where embedded Pose data is with respect to the specified location
+     * Geometries associated with the location, where embedded Pose data is with respect to the specified location
      * 
* * repeated .viam.common.v1.Geometry geometries = 2 [json_name = "geometries"]; @@ -6308,7 +6307,7 @@ private void addAllGeometries( } /** *
-     * Geometries that describe the obstacle, where embedded Pose data is with respect to the specified location
+     * Geometries associated with the location, where embedded Pose data is with respect to the specified location
      * 
* * repeated .viam.common.v1.Geometry geometries = 2 [json_name = "geometries"]; @@ -6318,7 +6317,7 @@ private void clearGeometries() { } /** *
-     * Geometries that describe the obstacle, where embedded Pose data is with respect to the specified location
+     * Geometries associated with the location, where embedded Pose data is with respect to the specified location
      * 
* * repeated .viam.common.v1.Geometry geometries = 2 [json_name = "geometries"]; @@ -6328,50 +6327,50 @@ private void removeGeometries(int index) { geometries_.remove(index); } - public static com.viam.common.v1.Common.GeoObstacle parseFrom( + public static com.viam.common.v1.Common.GeoGeometry parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return com.google.protobuf.GeneratedMessageLite.parseFrom( DEFAULT_INSTANCE, data); } - public static com.viam.common.v1.Common.GeoObstacle parseFrom( + public static com.viam.common.v1.Common.GeoGeometry parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return com.google.protobuf.GeneratedMessageLite.parseFrom( DEFAULT_INSTANCE, data, extensionRegistry); } - public static com.viam.common.v1.Common.GeoObstacle parseFrom( + public static com.viam.common.v1.Common.GeoGeometry parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return com.google.protobuf.GeneratedMessageLite.parseFrom( DEFAULT_INSTANCE, data); } - public static com.viam.common.v1.Common.GeoObstacle parseFrom( + public static com.viam.common.v1.Common.GeoGeometry parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return com.google.protobuf.GeneratedMessageLite.parseFrom( DEFAULT_INSTANCE, data, extensionRegistry); } - public static com.viam.common.v1.Common.GeoObstacle parseFrom(byte[] data) + public static com.viam.common.v1.Common.GeoGeometry parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return com.google.protobuf.GeneratedMessageLite.parseFrom( DEFAULT_INSTANCE, data); } - public static com.viam.common.v1.Common.GeoObstacle parseFrom( + public static com.viam.common.v1.Common.GeoGeometry parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return com.google.protobuf.GeneratedMessageLite.parseFrom( DEFAULT_INSTANCE, data, extensionRegistry); } - public static com.viam.common.v1.Common.GeoObstacle parseFrom(java.io.InputStream input) + public static com.viam.common.v1.Common.GeoGeometry parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageLite.parseFrom( DEFAULT_INSTANCE, input); } - public static com.viam.common.v1.Common.GeoObstacle parseFrom( + public static com.viam.common.v1.Common.GeoGeometry parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -6379,24 +6378,24 @@ public static com.viam.common.v1.Common.GeoObstacle parseFrom( DEFAULT_INSTANCE, input, extensionRegistry); } - public static com.viam.common.v1.Common.GeoObstacle parseDelimitedFrom(java.io.InputStream input) + public static com.viam.common.v1.Common.GeoGeometry parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return parseDelimitedFrom(DEFAULT_INSTANCE, input); } - public static com.viam.common.v1.Common.GeoObstacle parseDelimitedFrom( + public static com.viam.common.v1.Common.GeoGeometry parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry); } - public static com.viam.common.v1.Common.GeoObstacle parseFrom( + public static com.viam.common.v1.Common.GeoGeometry parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageLite.parseFrom( DEFAULT_INSTANCE, input); } - public static com.viam.common.v1.Common.GeoObstacle parseFrom( + public static com.viam.common.v1.Common.GeoGeometry parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -6407,24 +6406,23 @@ public static com.viam.common.v1.Common.GeoObstacle parseFrom( public static Builder newBuilder() { return (Builder) DEFAULT_INSTANCE.createBuilder(); } - public static Builder newBuilder(com.viam.common.v1.Common.GeoObstacle prototype) { + public static Builder newBuilder(com.viam.common.v1.Common.GeoGeometry prototype) { return DEFAULT_INSTANCE.createBuilder(prototype); } /** *
-     * GeoObstacle contains information about the geometric structure of an obstacle and the location of the obstacle,
-     * captured in latitude and longitude.
+     * GeoGeometry contains information describing Geometry(s) that is located at a GeoPoint
      * 
* - * Protobuf type {@code viam.common.v1.GeoObstacle} + * Protobuf type {@code viam.common.v1.GeoGeometry} */ public static final class Builder extends com.google.protobuf.GeneratedMessageLite.Builder< - com.viam.common.v1.Common.GeoObstacle, Builder> implements - // @@protoc_insertion_point(builder_implements:viam.common.v1.GeoObstacle) - com.viam.common.v1.Common.GeoObstacleOrBuilder { - // Construct using com.viam.common.v1.Common.GeoObstacle.newBuilder() + com.viam.common.v1.Common.GeoGeometry, Builder> implements + // @@protoc_insertion_point(builder_implements:viam.common.v1.GeoGeometry) + com.viam.common.v1.Common.GeoGeometryOrBuilder { + // Construct using com.viam.common.v1.Common.GeoGeometry.newBuilder() private Builder() { super(DEFAULT_INSTANCE); } @@ -6432,7 +6430,7 @@ private Builder() { /** *
-       * Location of the obstacle
+       * Location of the geometry
        * 
* * .viam.common.v1.GeoPoint location = 1 [json_name = "location"]; @@ -6443,7 +6441,7 @@ public boolean hasLocation() { } /** *
-       * Location of the obstacle
+       * Location of the geometry
        * 
* * .viam.common.v1.GeoPoint location = 1 [json_name = "location"]; @@ -6454,7 +6452,7 @@ public com.viam.common.v1.Common.GeoPoint getLocation() { } /** *
-       * Location of the obstacle
+       * Location of the geometry
        * 
* * .viam.common.v1.GeoPoint location = 1 [json_name = "location"]; @@ -6466,7 +6464,7 @@ public Builder setLocation(com.viam.common.v1.Common.GeoPoint value) { } /** *
-       * Location of the obstacle
+       * Location of the geometry
        * 
* * .viam.common.v1.GeoPoint location = 1 [json_name = "location"]; @@ -6479,7 +6477,7 @@ public Builder setLocation( } /** *
-       * Location of the obstacle
+       * Location of the geometry
        * 
* * .viam.common.v1.GeoPoint location = 1 [json_name = "location"]; @@ -6491,7 +6489,7 @@ public Builder mergeLocation(com.viam.common.v1.Common.GeoPoint value) { } /** *
-       * Location of the obstacle
+       * Location of the geometry
        * 
* * .viam.common.v1.GeoPoint location = 1 [json_name = "location"]; @@ -6503,7 +6501,7 @@ public Builder mergeLocation(com.viam.common.v1.Common.GeoPoint value) { /** *
-       * Geometries that describe the obstacle, where embedded Pose data is with respect to the specified location
+       * Geometries associated with the location, where embedded Pose data is with respect to the specified location
        * 
* * repeated .viam.common.v1.Geometry geometries = 2 [json_name = "geometries"]; @@ -6515,7 +6513,7 @@ public java.util.List getGeometriesList() { } /** *
-       * Geometries that describe the obstacle, where embedded Pose data is with respect to the specified location
+       * Geometries associated with the location, where embedded Pose data is with respect to the specified location
        * 
* * repeated .viam.common.v1.Geometry geometries = 2 [json_name = "geometries"]; @@ -6525,7 +6523,7 @@ public int getGeometriesCount() { return instance.getGeometriesCount(); }/** *
-       * Geometries that describe the obstacle, where embedded Pose data is with respect to the specified location
+       * Geometries associated with the location, where embedded Pose data is with respect to the specified location
        * 
* * repeated .viam.common.v1.Geometry geometries = 2 [json_name = "geometries"]; @@ -6536,7 +6534,7 @@ public com.viam.common.v1.Common.Geometry getGeometries(int index) { } /** *
-       * Geometries that describe the obstacle, where embedded Pose data is with respect to the specified location
+       * Geometries associated with the location, where embedded Pose data is with respect to the specified location
        * 
* * repeated .viam.common.v1.Geometry geometries = 2 [json_name = "geometries"]; @@ -6549,7 +6547,7 @@ public Builder setGeometries( } /** *
-       * Geometries that describe the obstacle, where embedded Pose data is with respect to the specified location
+       * Geometries associated with the location, where embedded Pose data is with respect to the specified location
        * 
* * repeated .viam.common.v1.Geometry geometries = 2 [json_name = "geometries"]; @@ -6563,7 +6561,7 @@ public Builder setGeometries( } /** *
-       * Geometries that describe the obstacle, where embedded Pose data is with respect to the specified location
+       * Geometries associated with the location, where embedded Pose data is with respect to the specified location
        * 
* * repeated .viam.common.v1.Geometry geometries = 2 [json_name = "geometries"]; @@ -6575,7 +6573,7 @@ public Builder addGeometries(com.viam.common.v1.Common.Geometry value) { } /** *
-       * Geometries that describe the obstacle, where embedded Pose data is with respect to the specified location
+       * Geometries associated with the location, where embedded Pose data is with respect to the specified location
        * 
* * repeated .viam.common.v1.Geometry geometries = 2 [json_name = "geometries"]; @@ -6588,7 +6586,7 @@ public Builder addGeometries( } /** *
-       * Geometries that describe the obstacle, where embedded Pose data is with respect to the specified location
+       * Geometries associated with the location, where embedded Pose data is with respect to the specified location
        * 
* * repeated .viam.common.v1.Geometry geometries = 2 [json_name = "geometries"]; @@ -6601,7 +6599,7 @@ public Builder addGeometries( } /** *
-       * Geometries that describe the obstacle, where embedded Pose data is with respect to the specified location
+       * Geometries associated with the location, where embedded Pose data is with respect to the specified location
        * 
* * repeated .viam.common.v1.Geometry geometries = 2 [json_name = "geometries"]; @@ -6615,7 +6613,7 @@ public Builder addGeometries( } /** *
-       * Geometries that describe the obstacle, where embedded Pose data is with respect to the specified location
+       * Geometries associated with the location, where embedded Pose data is with respect to the specified location
        * 
* * repeated .viam.common.v1.Geometry geometries = 2 [json_name = "geometries"]; @@ -6628,7 +6626,7 @@ public Builder addAllGeometries( } /** *
-       * Geometries that describe the obstacle, where embedded Pose data is with respect to the specified location
+       * Geometries associated with the location, where embedded Pose data is with respect to the specified location
        * 
* * repeated .viam.common.v1.Geometry geometries = 2 [json_name = "geometries"]; @@ -6640,7 +6638,7 @@ public Builder clearGeometries() { } /** *
-       * Geometries that describe the obstacle, where embedded Pose data is with respect to the specified location
+       * Geometries associated with the location, where embedded Pose data is with respect to the specified location
        * 
* * repeated .viam.common.v1.Geometry geometries = 2 [json_name = "geometries"]; @@ -6651,7 +6649,7 @@ public Builder removeGeometries(int index) { return this; } - // @@protoc_insertion_point(builder_scope:viam.common.v1.GeoObstacle) + // @@protoc_insertion_point(builder_scope:viam.common.v1.GeoGeometry) } @java.lang.Override @java.lang.SuppressWarnings({"unchecked", "fallthrough"}) @@ -6660,7 +6658,7 @@ protected final java.lang.Object dynamicMethod( java.lang.Object arg0, java.lang.Object arg1) { switch (method) { case NEW_MUTABLE_INSTANCE: { - return new com.viam.common.v1.Common.GeoObstacle(); + return new com.viam.common.v1.Common.GeoGeometry(); } case NEW_BUILDER: { return new Builder(); @@ -6682,13 +6680,13 @@ protected final java.lang.Object dynamicMethod( return DEFAULT_INSTANCE; } case GET_PARSER: { - com.google.protobuf.Parser parser = PARSER; + com.google.protobuf.Parser parser = PARSER; if (parser == null) { - synchronized (com.viam.common.v1.Common.GeoObstacle.class) { + synchronized (com.viam.common.v1.Common.GeoGeometry.class) { parser = PARSER; if (parser == null) { parser = - new DefaultInstanceBasedParser( + new DefaultInstanceBasedParser( DEFAULT_INSTANCE); PARSER = parser; } @@ -6707,24 +6705,24 @@ protected final java.lang.Object dynamicMethod( } - // @@protoc_insertion_point(class_scope:viam.common.v1.GeoObstacle) - private static final com.viam.common.v1.Common.GeoObstacle DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:viam.common.v1.GeoGeometry) + private static final com.viam.common.v1.Common.GeoGeometry DEFAULT_INSTANCE; static { - GeoObstacle defaultInstance = new GeoObstacle(); + GeoGeometry defaultInstance = new GeoGeometry(); // New instances are implicitly immutable so no need to make // immutable. DEFAULT_INSTANCE = defaultInstance; com.google.protobuf.GeneratedMessageLite.registerDefaultInstance( - GeoObstacle.class, defaultInstance); + GeoGeometry.class, defaultInstance); } - public static com.viam.common.v1.Common.GeoObstacle getDefaultInstance() { + public static com.viam.common.v1.Common.GeoGeometry getDefaultInstance() { return DEFAULT_INSTANCE; } - private static volatile com.google.protobuf.Parser PARSER; + private static volatile com.google.protobuf.Parser PARSER; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return DEFAULT_INSTANCE.getParserForType(); } } @@ -7380,7 +7378,8 @@ public interface WorldStateOrBuilder extends /** *
-     * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to another, or to attach moving geometries to the frame system. This field is optional
+     * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to
+     * another, or to attach moving geometries to the frame system. This field is optional
      * 
* * repeated .viam.common.v1.Transform transforms = 3 [json_name = "transforms"]; @@ -7389,7 +7388,8 @@ public interface WorldStateOrBuilder extends getTransformsList(); /** *
-     * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to another, or to attach moving geometries to the frame system. This field is optional
+     * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to
+     * another, or to attach moving geometries to the frame system. This field is optional
      * 
* * repeated .viam.common.v1.Transform transforms = 3 [json_name = "transforms"]; @@ -7397,7 +7397,8 @@ public interface WorldStateOrBuilder extends com.viam.common.v1.Common.Transform getTransforms(int index); /** *
-     * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to another, or to attach moving geometries to the frame system. This field is optional
+     * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to
+     * another, or to attach moving geometries to the frame system. This field is optional
      * 
* * repeated .viam.common.v1.Transform transforms = 3 [json_name = "transforms"]; @@ -7564,7 +7565,8 @@ private void removeObstacles(int index) { private com.google.protobuf.Internal.ProtobufList transforms_; /** *
-     * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to another, or to attach moving geometries to the frame system. This field is optional
+     * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to
+     * another, or to attach moving geometries to the frame system. This field is optional
      * 
* * repeated .viam.common.v1.Transform transforms = 3 [json_name = "transforms"]; @@ -7575,7 +7577,8 @@ public java.util.List getTransformsList() { } /** *
-     * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to another, or to attach moving geometries to the frame system. This field is optional
+     * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to
+     * another, or to attach moving geometries to the frame system. This field is optional
      * 
* * repeated .viam.common.v1.Transform transforms = 3 [json_name = "transforms"]; @@ -7586,7 +7589,8 @@ public java.util.List getTransformsList() { } /** *
-     * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to another, or to attach moving geometries to the frame system. This field is optional
+     * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to
+     * another, or to attach moving geometries to the frame system. This field is optional
      * 
* * repeated .viam.common.v1.Transform transforms = 3 [json_name = "transforms"]; @@ -7597,7 +7601,8 @@ public int getTransformsCount() { } /** *
-     * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to another, or to attach moving geometries to the frame system. This field is optional
+     * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to
+     * another, or to attach moving geometries to the frame system. This field is optional
      * 
* * repeated .viam.common.v1.Transform transforms = 3 [json_name = "transforms"]; @@ -7608,7 +7613,8 @@ public com.viam.common.v1.Common.Transform getTransforms(int index) { } /** *
-     * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to another, or to attach moving geometries to the frame system. This field is optional
+     * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to
+     * another, or to attach moving geometries to the frame system. This field is optional
      * 
* * repeated .viam.common.v1.Transform transforms = 3 [json_name = "transforms"]; @@ -7627,7 +7633,8 @@ private void ensureTransformsIsMutable() { /** *
-     * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to another, or to attach moving geometries to the frame system. This field is optional
+     * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to
+     * another, or to attach moving geometries to the frame system. This field is optional
      * 
* * repeated .viam.common.v1.Transform transforms = 3 [json_name = "transforms"]; @@ -7640,7 +7647,8 @@ private void setTransforms( } /** *
-     * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to another, or to attach moving geometries to the frame system. This field is optional
+     * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to
+     * another, or to attach moving geometries to the frame system. This field is optional
      * 
* * repeated .viam.common.v1.Transform transforms = 3 [json_name = "transforms"]; @@ -7652,7 +7660,8 @@ private void addTransforms(com.viam.common.v1.Common.Transform value) { } /** *
-     * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to another, or to attach moving geometries to the frame system. This field is optional
+     * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to
+     * another, or to attach moving geometries to the frame system. This field is optional
      * 
* * repeated .viam.common.v1.Transform transforms = 3 [json_name = "transforms"]; @@ -7665,7 +7674,8 @@ private void addTransforms( } /** *
-     * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to another, or to attach moving geometries to the frame system. This field is optional
+     * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to
+     * another, or to attach moving geometries to the frame system. This field is optional
      * 
* * repeated .viam.common.v1.Transform transforms = 3 [json_name = "transforms"]; @@ -7678,7 +7688,8 @@ private void addAllTransforms( } /** *
-     * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to another, or to attach moving geometries to the frame system. This field is optional
+     * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to
+     * another, or to attach moving geometries to the frame system. This field is optional
      * 
* * repeated .viam.common.v1.Transform transforms = 3 [json_name = "transforms"]; @@ -7688,7 +7699,8 @@ private void clearTransforms() { } /** *
-     * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to another, or to attach moving geometries to the frame system. This field is optional
+     * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to
+     * another, or to attach moving geometries to the frame system. This field is optional
      * 
* * repeated .viam.common.v1.Transform transforms = 3 [json_name = "transforms"]; @@ -7953,7 +7965,8 @@ public Builder removeObstacles(int index) { /** *
-       * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to another, or to attach moving geometries to the frame system. This field is optional
+       * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to
+       * another, or to attach moving geometries to the frame system. This field is optional
        * 
* * repeated .viam.common.v1.Transform transforms = 3 [json_name = "transforms"]; @@ -7965,7 +7978,8 @@ public java.util.List getTransformsList() { } /** *
-       * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to another, or to attach moving geometries to the frame system. This field is optional
+       * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to
+       * another, or to attach moving geometries to the frame system. This field is optional
        * 
* * repeated .viam.common.v1.Transform transforms = 3 [json_name = "transforms"]; @@ -7975,7 +7989,8 @@ public int getTransformsCount() { return instance.getTransformsCount(); }/** *
-       * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to another, or to attach moving geometries to the frame system. This field is optional
+       * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to
+       * another, or to attach moving geometries to the frame system. This field is optional
        * 
* * repeated .viam.common.v1.Transform transforms = 3 [json_name = "transforms"]; @@ -7986,7 +8001,8 @@ public com.viam.common.v1.Common.Transform getTransforms(int index) { } /** *
-       * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to another, or to attach moving geometries to the frame system. This field is optional
+       * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to
+       * another, or to attach moving geometries to the frame system. This field is optional
        * 
* * repeated .viam.common.v1.Transform transforms = 3 [json_name = "transforms"]; @@ -7999,7 +8015,8 @@ public Builder setTransforms( } /** *
-       * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to another, or to attach moving geometries to the frame system. This field is optional
+       * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to
+       * another, or to attach moving geometries to the frame system. This field is optional
        * 
* * repeated .viam.common.v1.Transform transforms = 3 [json_name = "transforms"]; @@ -8013,7 +8030,8 @@ public Builder setTransforms( } /** *
-       * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to another, or to attach moving geometries to the frame system. This field is optional
+       * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to
+       * another, or to attach moving geometries to the frame system. This field is optional
        * 
* * repeated .viam.common.v1.Transform transforms = 3 [json_name = "transforms"]; @@ -8025,7 +8043,8 @@ public Builder addTransforms(com.viam.common.v1.Common.Transform value) { } /** *
-       * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to another, or to attach moving geometries to the frame system. This field is optional
+       * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to
+       * another, or to attach moving geometries to the frame system. This field is optional
        * 
* * repeated .viam.common.v1.Transform transforms = 3 [json_name = "transforms"]; @@ -8038,7 +8057,8 @@ public Builder addTransforms( } /** *
-       * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to another, or to attach moving geometries to the frame system. This field is optional
+       * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to
+       * another, or to attach moving geometries to the frame system. This field is optional
        * 
* * repeated .viam.common.v1.Transform transforms = 3 [json_name = "transforms"]; @@ -8051,7 +8071,8 @@ public Builder addTransforms( } /** *
-       * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to another, or to attach moving geometries to the frame system. This field is optional
+       * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to
+       * another, or to attach moving geometries to the frame system. This field is optional
        * 
* * repeated .viam.common.v1.Transform transforms = 3 [json_name = "transforms"]; @@ -8065,7 +8086,8 @@ public Builder addTransforms( } /** *
-       * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to another, or to attach moving geometries to the frame system. This field is optional
+       * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to
+       * another, or to attach moving geometries to the frame system. This field is optional
        * 
* * repeated .viam.common.v1.Transform transforms = 3 [json_name = "transforms"]; @@ -8078,7 +8100,8 @@ public Builder addAllTransforms( } /** *
-       * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to another, or to attach moving geometries to the frame system. This field is optional
+       * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to
+       * another, or to attach moving geometries to the frame system. This field is optional
        * 
* * repeated .viam.common.v1.Transform transforms = 3 [json_name = "transforms"]; @@ -8090,7 +8113,8 @@ public Builder clearTransforms() { } /** *
-       * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to another, or to attach moving geometries to the frame system. This field is optional
+       * a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to
+       * another, or to attach moving geometries to the frame system. This field is optional
        * 
* * repeated .viam.common.v1.Transform transforms = 3 [json_name = "transforms"]; diff --git a/core/sdk/src/main/gen/com/viam/service/motion/v1/Motion.java b/core/sdk/src/main/gen/com/viam/service/motion/v1/Motion.java index 5f71a59cf..84502995f 100644 --- a/core/sdk/src/main/gen/com/viam/service/motion/v1/Motion.java +++ b/core/sdk/src/main/gen/com/viam/service/motion/v1/Motion.java @@ -4966,24 +4966,24 @@ public interface MoveOnGlobeRequestOrBuilder extends * Obstacles to be considered for motion planning * * - * repeated .viam.common.v1.GeoObstacle obstacles = 6 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 6 [json_name = "obstacles"]; */ - java.util.List + java.util.List getObstaclesList(); /** *
      * Obstacles to be considered for motion planning
      * 
* - * repeated .viam.common.v1.GeoObstacle obstacles = 6 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 6 [json_name = "obstacles"]; */ - com.viam.common.v1.Common.GeoObstacle getObstacles(int index); + com.viam.common.v1.Common.GeoGeometry getObstacles(int index); /** *
      * Obstacles to be considered for motion planning
      * 
* - * repeated .viam.common.v1.GeoObstacle obstacles = 6 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 6 [json_name = "obstacles"]; */ int getObstaclesCount(); @@ -5006,6 +5006,32 @@ public interface MoveOnGlobeRequestOrBuilder extends */ com.viam.service.motion.v1.Motion.MotionConfiguration getMotionConfiguration(); + /** + *
+     * Set of obstacles which the robot must remain within while navigating
+     * 
+ * + * repeated .viam.common.v1.GeoGeometry bounding_regions = 8 [json_name = "boundingRegions"]; + */ + java.util.List + getBoundingRegionsList(); + /** + *
+     * Set of obstacles which the robot must remain within while navigating
+     * 
+ * + * repeated .viam.common.v1.GeoGeometry bounding_regions = 8 [json_name = "boundingRegions"]; + */ + com.viam.common.v1.Common.GeoGeometry getBoundingRegions(int index); + /** + *
+     * Set of obstacles which the robot must remain within while navigating
+     * 
+ * + * repeated .viam.common.v1.GeoGeometry bounding_regions = 8 [json_name = "boundingRegions"]; + */ + int getBoundingRegionsCount(); + /** *
      * Additional arguments to the method
@@ -5036,6 +5062,7 @@ public  static final class MoveOnGlobeRequest extends
     private MoveOnGlobeRequest() {
       name_ = "";
       obstacles_ = emptyProtobufList();
+      boundingRegions_ = emptyProtobufList();
     }
     private int bitField0_;
     public static final int NAME_FIELD_NUMBER = 1;
@@ -5354,16 +5381,16 @@ private void mergeMovementSensorName(com.viam.common.v1.Common.ResourceName valu
     }
 
     public static final int OBSTACLES_FIELD_NUMBER = 6;
-    private com.google.protobuf.Internal.ProtobufList obstacles_;
+    private com.google.protobuf.Internal.ProtobufList obstacles_;
     /**
      * 
      * Obstacles to be considered for motion planning
      * 
* - * repeated .viam.common.v1.GeoObstacle obstacles = 6 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 6 [json_name = "obstacles"]; */ @java.lang.Override - public java.util.List getObstaclesList() { + public java.util.List getObstaclesList() { return obstacles_; } /** @@ -5371,9 +5398,9 @@ public java.util.List getObstaclesList() * Obstacles to be considered for motion planning *
* - * repeated .viam.common.v1.GeoObstacle obstacles = 6 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 6 [json_name = "obstacles"]; */ - public java.util.List + public java.util.List getObstaclesOrBuilderList() { return obstacles_; } @@ -5382,7 +5409,7 @@ public java.util.List getObstaclesList() * Obstacles to be considered for motion planning * * - * repeated .viam.common.v1.GeoObstacle obstacles = 6 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 6 [json_name = "obstacles"]; */ @java.lang.Override public int getObstaclesCount() { @@ -5393,10 +5420,10 @@ public int getObstaclesCount() { * Obstacles to be considered for motion planning * * - * repeated .viam.common.v1.GeoObstacle obstacles = 6 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 6 [json_name = "obstacles"]; */ @java.lang.Override - public com.viam.common.v1.Common.GeoObstacle getObstacles(int index) { + public com.viam.common.v1.Common.GeoGeometry getObstacles(int index) { return obstacles_.get(index); } /** @@ -5404,14 +5431,14 @@ public com.viam.common.v1.Common.GeoObstacle getObstacles(int index) { * Obstacles to be considered for motion planning * * - * repeated .viam.common.v1.GeoObstacle obstacles = 6 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 6 [json_name = "obstacles"]; */ - public com.viam.common.v1.Common.GeoObstacleOrBuilder getObstaclesOrBuilder( + public com.viam.common.v1.Common.GeoGeometryOrBuilder getObstaclesOrBuilder( int index) { return obstacles_.get(index); } private void ensureObstaclesIsMutable() { - com.google.protobuf.Internal.ProtobufList tmp = obstacles_; + com.google.protobuf.Internal.ProtobufList tmp = obstacles_; if (!tmp.isModifiable()) { obstacles_ = com.google.protobuf.GeneratedMessageLite.mutableCopy(tmp); @@ -5423,10 +5450,10 @@ private void ensureObstaclesIsMutable() { * Obstacles to be considered for motion planning * * - * repeated .viam.common.v1.GeoObstacle obstacles = 6 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 6 [json_name = "obstacles"]; */ private void setObstacles( - int index, com.viam.common.v1.Common.GeoObstacle value) { + int index, com.viam.common.v1.Common.GeoGeometry value) { value.getClass(); ensureObstaclesIsMutable(); obstacles_.set(index, value); @@ -5436,9 +5463,9 @@ private void setObstacles( * Obstacles to be considered for motion planning * * - * repeated .viam.common.v1.GeoObstacle obstacles = 6 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 6 [json_name = "obstacles"]; */ - private void addObstacles(com.viam.common.v1.Common.GeoObstacle value) { + private void addObstacles(com.viam.common.v1.Common.GeoGeometry value) { value.getClass(); ensureObstaclesIsMutable(); obstacles_.add(value); @@ -5448,10 +5475,10 @@ private void addObstacles(com.viam.common.v1.Common.GeoObstacle value) { * Obstacles to be considered for motion planning * * - * repeated .viam.common.v1.GeoObstacle obstacles = 6 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 6 [json_name = "obstacles"]; */ private void addObstacles( - int index, com.viam.common.v1.Common.GeoObstacle value) { + int index, com.viam.common.v1.Common.GeoGeometry value) { value.getClass(); ensureObstaclesIsMutable(); obstacles_.add(index, value); @@ -5461,10 +5488,10 @@ private void addObstacles( * Obstacles to be considered for motion planning * * - * repeated .viam.common.v1.GeoObstacle obstacles = 6 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 6 [json_name = "obstacles"]; */ private void addAllObstacles( - java.lang.Iterable values) { + java.lang.Iterable values) { ensureObstaclesIsMutable(); com.google.protobuf.AbstractMessageLite.addAll( values, obstacles_); @@ -5474,7 +5501,7 @@ private void addAllObstacles( * Obstacles to be considered for motion planning * * - * repeated .viam.common.v1.GeoObstacle obstacles = 6 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 6 [json_name = "obstacles"]; */ private void clearObstacles() { obstacles_ = emptyProtobufList(); @@ -5484,7 +5511,7 @@ private void clearObstacles() { * Obstacles to be considered for motion planning * * - * repeated .viam.common.v1.GeoObstacle obstacles = 6 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 6 [json_name = "obstacles"]; */ private void removeObstacles(int index) { ensureObstaclesIsMutable(); @@ -5557,6 +5584,144 @@ private void mergeMotionConfiguration(com.viam.service.motion.v1.Motion.MotionCo bitField0_ = (bitField0_ & ~0x00000010); } + public static final int BOUNDING_REGIONS_FIELD_NUMBER = 8; + private com.google.protobuf.Internal.ProtobufList boundingRegions_; + /** + *
+     * Set of obstacles which the robot must remain within while navigating
+     * 
+ * + * repeated .viam.common.v1.GeoGeometry bounding_regions = 8 [json_name = "boundingRegions"]; + */ + @java.lang.Override + public java.util.List getBoundingRegionsList() { + return boundingRegions_; + } + /** + *
+     * Set of obstacles which the robot must remain within while navigating
+     * 
+ * + * repeated .viam.common.v1.GeoGeometry bounding_regions = 8 [json_name = "boundingRegions"]; + */ + public java.util.List + getBoundingRegionsOrBuilderList() { + return boundingRegions_; + } + /** + *
+     * Set of obstacles which the robot must remain within while navigating
+     * 
+ * + * repeated .viam.common.v1.GeoGeometry bounding_regions = 8 [json_name = "boundingRegions"]; + */ + @java.lang.Override + public int getBoundingRegionsCount() { + return boundingRegions_.size(); + } + /** + *
+     * Set of obstacles which the robot must remain within while navigating
+     * 
+ * + * repeated .viam.common.v1.GeoGeometry bounding_regions = 8 [json_name = "boundingRegions"]; + */ + @java.lang.Override + public com.viam.common.v1.Common.GeoGeometry getBoundingRegions(int index) { + return boundingRegions_.get(index); + } + /** + *
+     * Set of obstacles which the robot must remain within while navigating
+     * 
+ * + * repeated .viam.common.v1.GeoGeometry bounding_regions = 8 [json_name = "boundingRegions"]; + */ + public com.viam.common.v1.Common.GeoGeometryOrBuilder getBoundingRegionsOrBuilder( + int index) { + return boundingRegions_.get(index); + } + private void ensureBoundingRegionsIsMutable() { + com.google.protobuf.Internal.ProtobufList tmp = boundingRegions_; + if (!tmp.isModifiable()) { + boundingRegions_ = + com.google.protobuf.GeneratedMessageLite.mutableCopy(tmp); + } + } + + /** + *
+     * Set of obstacles which the robot must remain within while navigating
+     * 
+ * + * repeated .viam.common.v1.GeoGeometry bounding_regions = 8 [json_name = "boundingRegions"]; + */ + private void setBoundingRegions( + int index, com.viam.common.v1.Common.GeoGeometry value) { + value.getClass(); + ensureBoundingRegionsIsMutable(); + boundingRegions_.set(index, value); + } + /** + *
+     * Set of obstacles which the robot must remain within while navigating
+     * 
+ * + * repeated .viam.common.v1.GeoGeometry bounding_regions = 8 [json_name = "boundingRegions"]; + */ + private void addBoundingRegions(com.viam.common.v1.Common.GeoGeometry value) { + value.getClass(); + ensureBoundingRegionsIsMutable(); + boundingRegions_.add(value); + } + /** + *
+     * Set of obstacles which the robot must remain within while navigating
+     * 
+ * + * repeated .viam.common.v1.GeoGeometry bounding_regions = 8 [json_name = "boundingRegions"]; + */ + private void addBoundingRegions( + int index, com.viam.common.v1.Common.GeoGeometry value) { + value.getClass(); + ensureBoundingRegionsIsMutable(); + boundingRegions_.add(index, value); + } + /** + *
+     * Set of obstacles which the robot must remain within while navigating
+     * 
+ * + * repeated .viam.common.v1.GeoGeometry bounding_regions = 8 [json_name = "boundingRegions"]; + */ + private void addAllBoundingRegions( + java.lang.Iterable values) { + ensureBoundingRegionsIsMutable(); + com.google.protobuf.AbstractMessageLite.addAll( + values, boundingRegions_); + } + /** + *
+     * Set of obstacles which the robot must remain within while navigating
+     * 
+ * + * repeated .viam.common.v1.GeoGeometry bounding_regions = 8 [json_name = "boundingRegions"]; + */ + private void clearBoundingRegions() { + boundingRegions_ = emptyProtobufList(); + } + /** + *
+     * Set of obstacles which the robot must remain within while navigating
+     * 
+ * + * repeated .viam.common.v1.GeoGeometry bounding_regions = 8 [json_name = "boundingRegions"]; + */ + private void removeBoundingRegions(int index) { + ensureBoundingRegionsIsMutable(); + boundingRegions_.remove(index); + } + public static final int EXTRA_FIELD_NUMBER = 99; private com.google.protobuf.Struct extra_; /** @@ -6059,10 +6224,10 @@ public Builder mergeMovementSensorName(com.viam.common.v1.Common.ResourceName va * Obstacles to be considered for motion planning * * - * repeated .viam.common.v1.GeoObstacle obstacles = 6 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 6 [json_name = "obstacles"]; */ @java.lang.Override - public java.util.List getObstaclesList() { + public java.util.List getObstaclesList() { return java.util.Collections.unmodifiableList( instance.getObstaclesList()); } @@ -6071,7 +6236,7 @@ public java.util.List getObstaclesList() * Obstacles to be considered for motion planning * * - * repeated .viam.common.v1.GeoObstacle obstacles = 6 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 6 [json_name = "obstacles"]; */ @java.lang.Override public int getObstaclesCount() { @@ -6081,10 +6246,10 @@ public int getObstaclesCount() { * Obstacles to be considered for motion planning * * - * repeated .viam.common.v1.GeoObstacle obstacles = 6 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 6 [json_name = "obstacles"]; */ @java.lang.Override - public com.viam.common.v1.Common.GeoObstacle getObstacles(int index) { + public com.viam.common.v1.Common.GeoGeometry getObstacles(int index) { return instance.getObstacles(index); } /** @@ -6092,10 +6257,10 @@ public com.viam.common.v1.Common.GeoObstacle getObstacles(int index) { * Obstacles to be considered for motion planning * * - * repeated .viam.common.v1.GeoObstacle obstacles = 6 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 6 [json_name = "obstacles"]; */ public Builder setObstacles( - int index, com.viam.common.v1.Common.GeoObstacle value) { + int index, com.viam.common.v1.Common.GeoGeometry value) { copyOnWrite(); instance.setObstacles(index, value); return this; @@ -6105,10 +6270,10 @@ public Builder setObstacles( * Obstacles to be considered for motion planning * * - * repeated .viam.common.v1.GeoObstacle obstacles = 6 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 6 [json_name = "obstacles"]; */ public Builder setObstacles( - int index, com.viam.common.v1.Common.GeoObstacle.Builder builderForValue) { + int index, com.viam.common.v1.Common.GeoGeometry.Builder builderForValue) { copyOnWrite(); instance.setObstacles(index, builderForValue.build()); @@ -6119,9 +6284,9 @@ public Builder setObstacles( * Obstacles to be considered for motion planning * * - * repeated .viam.common.v1.GeoObstacle obstacles = 6 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 6 [json_name = "obstacles"]; */ - public Builder addObstacles(com.viam.common.v1.Common.GeoObstacle value) { + public Builder addObstacles(com.viam.common.v1.Common.GeoGeometry value) { copyOnWrite(); instance.addObstacles(value); return this; @@ -6131,10 +6296,10 @@ public Builder addObstacles(com.viam.common.v1.Common.GeoObstacle value) { * Obstacles to be considered for motion planning * * - * repeated .viam.common.v1.GeoObstacle obstacles = 6 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 6 [json_name = "obstacles"]; */ public Builder addObstacles( - int index, com.viam.common.v1.Common.GeoObstacle value) { + int index, com.viam.common.v1.Common.GeoGeometry value) { copyOnWrite(); instance.addObstacles(index, value); return this; @@ -6144,10 +6309,10 @@ public Builder addObstacles( * Obstacles to be considered for motion planning * * - * repeated .viam.common.v1.GeoObstacle obstacles = 6 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 6 [json_name = "obstacles"]; */ public Builder addObstacles( - com.viam.common.v1.Common.GeoObstacle.Builder builderForValue) { + com.viam.common.v1.Common.GeoGeometry.Builder builderForValue) { copyOnWrite(); instance.addObstacles(builderForValue.build()); return this; @@ -6157,10 +6322,10 @@ public Builder addObstacles( * Obstacles to be considered for motion planning * * - * repeated .viam.common.v1.GeoObstacle obstacles = 6 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 6 [json_name = "obstacles"]; */ public Builder addObstacles( - int index, com.viam.common.v1.Common.GeoObstacle.Builder builderForValue) { + int index, com.viam.common.v1.Common.GeoGeometry.Builder builderForValue) { copyOnWrite(); instance.addObstacles(index, builderForValue.build()); @@ -6171,10 +6336,10 @@ public Builder addObstacles( * Obstacles to be considered for motion planning * * - * repeated .viam.common.v1.GeoObstacle obstacles = 6 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 6 [json_name = "obstacles"]; */ public Builder addAllObstacles( - java.lang.Iterable values) { + java.lang.Iterable values) { copyOnWrite(); instance.addAllObstacles(values); return this; @@ -6184,7 +6349,7 @@ public Builder addAllObstacles( * Obstacles to be considered for motion planning * * - * repeated .viam.common.v1.GeoObstacle obstacles = 6 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 6 [json_name = "obstacles"]; */ public Builder clearObstacles() { copyOnWrite(); @@ -6196,7 +6361,7 @@ public Builder clearObstacles() { * Obstacles to be considered for motion planning * * - * repeated .viam.common.v1.GeoObstacle obstacles = 6 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 6 [json_name = "obstacles"]; */ public Builder removeObstacles(int index) { copyOnWrite(); @@ -6275,6 +6440,156 @@ public Builder mergeMotionConfiguration(com.viam.service.motion.v1.Motion.Motion return this; } + /** + *
+       * Set of obstacles which the robot must remain within while navigating
+       * 
+ * + * repeated .viam.common.v1.GeoGeometry bounding_regions = 8 [json_name = "boundingRegions"]; + */ + @java.lang.Override + public java.util.List getBoundingRegionsList() { + return java.util.Collections.unmodifiableList( + instance.getBoundingRegionsList()); + } + /** + *
+       * Set of obstacles which the robot must remain within while navigating
+       * 
+ * + * repeated .viam.common.v1.GeoGeometry bounding_regions = 8 [json_name = "boundingRegions"]; + */ + @java.lang.Override + public int getBoundingRegionsCount() { + return instance.getBoundingRegionsCount(); + }/** + *
+       * Set of obstacles which the robot must remain within while navigating
+       * 
+ * + * repeated .viam.common.v1.GeoGeometry bounding_regions = 8 [json_name = "boundingRegions"]; + */ + @java.lang.Override + public com.viam.common.v1.Common.GeoGeometry getBoundingRegions(int index) { + return instance.getBoundingRegions(index); + } + /** + *
+       * Set of obstacles which the robot must remain within while navigating
+       * 
+ * + * repeated .viam.common.v1.GeoGeometry bounding_regions = 8 [json_name = "boundingRegions"]; + */ + public Builder setBoundingRegions( + int index, com.viam.common.v1.Common.GeoGeometry value) { + copyOnWrite(); + instance.setBoundingRegions(index, value); + return this; + } + /** + *
+       * Set of obstacles which the robot must remain within while navigating
+       * 
+ * + * repeated .viam.common.v1.GeoGeometry bounding_regions = 8 [json_name = "boundingRegions"]; + */ + public Builder setBoundingRegions( + int index, com.viam.common.v1.Common.GeoGeometry.Builder builderForValue) { + copyOnWrite(); + instance.setBoundingRegions(index, + builderForValue.build()); + return this; + } + /** + *
+       * Set of obstacles which the robot must remain within while navigating
+       * 
+ * + * repeated .viam.common.v1.GeoGeometry bounding_regions = 8 [json_name = "boundingRegions"]; + */ + public Builder addBoundingRegions(com.viam.common.v1.Common.GeoGeometry value) { + copyOnWrite(); + instance.addBoundingRegions(value); + return this; + } + /** + *
+       * Set of obstacles which the robot must remain within while navigating
+       * 
+ * + * repeated .viam.common.v1.GeoGeometry bounding_regions = 8 [json_name = "boundingRegions"]; + */ + public Builder addBoundingRegions( + int index, com.viam.common.v1.Common.GeoGeometry value) { + copyOnWrite(); + instance.addBoundingRegions(index, value); + return this; + } + /** + *
+       * Set of obstacles which the robot must remain within while navigating
+       * 
+ * + * repeated .viam.common.v1.GeoGeometry bounding_regions = 8 [json_name = "boundingRegions"]; + */ + public Builder addBoundingRegions( + com.viam.common.v1.Common.GeoGeometry.Builder builderForValue) { + copyOnWrite(); + instance.addBoundingRegions(builderForValue.build()); + return this; + } + /** + *
+       * Set of obstacles which the robot must remain within while navigating
+       * 
+ * + * repeated .viam.common.v1.GeoGeometry bounding_regions = 8 [json_name = "boundingRegions"]; + */ + public Builder addBoundingRegions( + int index, com.viam.common.v1.Common.GeoGeometry.Builder builderForValue) { + copyOnWrite(); + instance.addBoundingRegions(index, + builderForValue.build()); + return this; + } + /** + *
+       * Set of obstacles which the robot must remain within while navigating
+       * 
+ * + * repeated .viam.common.v1.GeoGeometry bounding_regions = 8 [json_name = "boundingRegions"]; + */ + public Builder addAllBoundingRegions( + java.lang.Iterable values) { + copyOnWrite(); + instance.addAllBoundingRegions(values); + return this; + } + /** + *
+       * Set of obstacles which the robot must remain within while navigating
+       * 
+ * + * repeated .viam.common.v1.GeoGeometry bounding_regions = 8 [json_name = "boundingRegions"]; + */ + public Builder clearBoundingRegions() { + copyOnWrite(); + instance.clearBoundingRegions(); + return this; + } + /** + *
+       * Set of obstacles which the robot must remain within while navigating
+       * 
+ * + * repeated .viam.common.v1.GeoGeometry bounding_regions = 8 [json_name = "boundingRegions"]; + */ + public Builder removeBoundingRegions(int index) { + copyOnWrite(); + instance.removeBoundingRegions(index); + return this; + } + /** *
        * Additional arguments to the method
@@ -6369,14 +6684,16 @@ protected final java.lang.Object dynamicMethod(
               "componentName_",
               "movementSensorName_",
               "obstacles_",
-              com.viam.common.v1.Common.GeoObstacle.class,
+              com.viam.common.v1.Common.GeoGeometry.class,
               "motionConfiguration_",
+              "boundingRegions_",
+              com.viam.common.v1.Common.GeoGeometry.class,
               "extra_",
             };
             java.lang.String info =
-                "\u0000\b\u0000\u0001\u0001c\b\u0000\u0001\u0000\u0001\u0208\u0002\u1009\u0000\u0003" +
-                "\u1000\u0001\u0004\u1009\u0002\u0005\u1009\u0003\u0006\u001b\u0007\u1009\u0004c\u1009" +
-                "\u0005";
+                "\u0000\t\u0000\u0001\u0001c\t\u0000\u0002\u0000\u0001\u0208\u0002\u1009\u0000\u0003" +
+                "\u1000\u0001\u0004\u1009\u0002\u0005\u1009\u0003\u0006\u001b\u0007\u1009\u0004\b" +
+                "\u001bc\u1009\u0005";
             return newMessageInfo(DEFAULT_INSTANCE, info, objects);
         }
         // fall through
diff --git a/core/sdk/src/main/gen/com/viam/service/navigation/v1/Navigation.java b/core/sdk/src/main/gen/com/viam/service/navigation/v1/Navigation.java
index 9ac74310b..1039a2058 100644
--- a/core/sdk/src/main/gen/com/viam/service/navigation/v1/Navigation.java
+++ b/core/sdk/src/main/gen/com/viam/service/navigation/v1/Navigation.java
@@ -5751,24 +5751,24 @@ public interface GetObstaclesResponseOrBuilder extends
      * List of all known geometries
      * 
* - * repeated .viam.common.v1.GeoObstacle obstacles = 1 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 1 [json_name = "obstacles"]; */ - java.util.List + java.util.List getObstaclesList(); /** *
      * List of all known geometries
      * 
* - * repeated .viam.common.v1.GeoObstacle obstacles = 1 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 1 [json_name = "obstacles"]; */ - com.viam.common.v1.Common.GeoObstacle getObstacles(int index); + com.viam.common.v1.Common.GeoGeometry getObstacles(int index); /** *
      * List of all known geometries
      * 
* - * repeated .viam.common.v1.GeoObstacle obstacles = 1 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 1 [json_name = "obstacles"]; */ int getObstaclesCount(); } @@ -5784,16 +5784,16 @@ private GetObstaclesResponse() { obstacles_ = emptyProtobufList(); } public static final int OBSTACLES_FIELD_NUMBER = 1; - private com.google.protobuf.Internal.ProtobufList obstacles_; + private com.google.protobuf.Internal.ProtobufList obstacles_; /** *
      * List of all known geometries
      * 
* - * repeated .viam.common.v1.GeoObstacle obstacles = 1 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 1 [json_name = "obstacles"]; */ @java.lang.Override - public java.util.List getObstaclesList() { + public java.util.List getObstaclesList() { return obstacles_; } /** @@ -5801,9 +5801,9 @@ public java.util.List getObstaclesList() * List of all known geometries * * - * repeated .viam.common.v1.GeoObstacle obstacles = 1 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 1 [json_name = "obstacles"]; */ - public java.util.List + public java.util.List getObstaclesOrBuilderList() { return obstacles_; } @@ -5812,7 +5812,7 @@ public java.util.List getObstaclesList() * List of all known geometries * * - * repeated .viam.common.v1.GeoObstacle obstacles = 1 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 1 [json_name = "obstacles"]; */ @java.lang.Override public int getObstaclesCount() { @@ -5823,10 +5823,10 @@ public int getObstaclesCount() { * List of all known geometries * * - * repeated .viam.common.v1.GeoObstacle obstacles = 1 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 1 [json_name = "obstacles"]; */ @java.lang.Override - public com.viam.common.v1.Common.GeoObstacle getObstacles(int index) { + public com.viam.common.v1.Common.GeoGeometry getObstacles(int index) { return obstacles_.get(index); } /** @@ -5834,14 +5834,14 @@ public com.viam.common.v1.Common.GeoObstacle getObstacles(int index) { * List of all known geometries * * - * repeated .viam.common.v1.GeoObstacle obstacles = 1 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 1 [json_name = "obstacles"]; */ - public com.viam.common.v1.Common.GeoObstacleOrBuilder getObstaclesOrBuilder( + public com.viam.common.v1.Common.GeoGeometryOrBuilder getObstaclesOrBuilder( int index) { return obstacles_.get(index); } private void ensureObstaclesIsMutable() { - com.google.protobuf.Internal.ProtobufList tmp = obstacles_; + com.google.protobuf.Internal.ProtobufList tmp = obstacles_; if (!tmp.isModifiable()) { obstacles_ = com.google.protobuf.GeneratedMessageLite.mutableCopy(tmp); @@ -5853,10 +5853,10 @@ private void ensureObstaclesIsMutable() { * List of all known geometries * * - * repeated .viam.common.v1.GeoObstacle obstacles = 1 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 1 [json_name = "obstacles"]; */ private void setObstacles( - int index, com.viam.common.v1.Common.GeoObstacle value) { + int index, com.viam.common.v1.Common.GeoGeometry value) { value.getClass(); ensureObstaclesIsMutable(); obstacles_.set(index, value); @@ -5866,9 +5866,9 @@ private void setObstacles( * List of all known geometries * * - * repeated .viam.common.v1.GeoObstacle obstacles = 1 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 1 [json_name = "obstacles"]; */ - private void addObstacles(com.viam.common.v1.Common.GeoObstacle value) { + private void addObstacles(com.viam.common.v1.Common.GeoGeometry value) { value.getClass(); ensureObstaclesIsMutable(); obstacles_.add(value); @@ -5878,10 +5878,10 @@ private void addObstacles(com.viam.common.v1.Common.GeoObstacle value) { * List of all known geometries * * - * repeated .viam.common.v1.GeoObstacle obstacles = 1 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 1 [json_name = "obstacles"]; */ private void addObstacles( - int index, com.viam.common.v1.Common.GeoObstacle value) { + int index, com.viam.common.v1.Common.GeoGeometry value) { value.getClass(); ensureObstaclesIsMutable(); obstacles_.add(index, value); @@ -5891,10 +5891,10 @@ private void addObstacles( * List of all known geometries * * - * repeated .viam.common.v1.GeoObstacle obstacles = 1 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 1 [json_name = "obstacles"]; */ private void addAllObstacles( - java.lang.Iterable values) { + java.lang.Iterable values) { ensureObstaclesIsMutable(); com.google.protobuf.AbstractMessageLite.addAll( values, obstacles_); @@ -5904,7 +5904,7 @@ private void addAllObstacles( * List of all known geometries * * - * repeated .viam.common.v1.GeoObstacle obstacles = 1 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 1 [json_name = "obstacles"]; */ private void clearObstacles() { obstacles_ = emptyProtobufList(); @@ -5914,7 +5914,7 @@ private void clearObstacles() { * List of all known geometries * * - * repeated .viam.common.v1.GeoObstacle obstacles = 1 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 1 [json_name = "obstacles"]; */ private void removeObstacles(int index) { ensureObstaclesIsMutable(); @@ -6023,10 +6023,10 @@ private Builder() { * List of all known geometries * * - * repeated .viam.common.v1.GeoObstacle obstacles = 1 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 1 [json_name = "obstacles"]; */ @java.lang.Override - public java.util.List getObstaclesList() { + public java.util.List getObstaclesList() { return java.util.Collections.unmodifiableList( instance.getObstaclesList()); } @@ -6035,7 +6035,7 @@ public java.util.List getObstaclesList() * List of all known geometries * * - * repeated .viam.common.v1.GeoObstacle obstacles = 1 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 1 [json_name = "obstacles"]; */ @java.lang.Override public int getObstaclesCount() { @@ -6045,10 +6045,10 @@ public int getObstaclesCount() { * List of all known geometries * * - * repeated .viam.common.v1.GeoObstacle obstacles = 1 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 1 [json_name = "obstacles"]; */ @java.lang.Override - public com.viam.common.v1.Common.GeoObstacle getObstacles(int index) { + public com.viam.common.v1.Common.GeoGeometry getObstacles(int index) { return instance.getObstacles(index); } /** @@ -6056,10 +6056,10 @@ public com.viam.common.v1.Common.GeoObstacle getObstacles(int index) { * List of all known geometries * * - * repeated .viam.common.v1.GeoObstacle obstacles = 1 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 1 [json_name = "obstacles"]; */ public Builder setObstacles( - int index, com.viam.common.v1.Common.GeoObstacle value) { + int index, com.viam.common.v1.Common.GeoGeometry value) { copyOnWrite(); instance.setObstacles(index, value); return this; @@ -6069,10 +6069,10 @@ public Builder setObstacles( * List of all known geometries * * - * repeated .viam.common.v1.GeoObstacle obstacles = 1 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 1 [json_name = "obstacles"]; */ public Builder setObstacles( - int index, com.viam.common.v1.Common.GeoObstacle.Builder builderForValue) { + int index, com.viam.common.v1.Common.GeoGeometry.Builder builderForValue) { copyOnWrite(); instance.setObstacles(index, builderForValue.build()); @@ -6083,9 +6083,9 @@ public Builder setObstacles( * List of all known geometries * * - * repeated .viam.common.v1.GeoObstacle obstacles = 1 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 1 [json_name = "obstacles"]; */ - public Builder addObstacles(com.viam.common.v1.Common.GeoObstacle value) { + public Builder addObstacles(com.viam.common.v1.Common.GeoGeometry value) { copyOnWrite(); instance.addObstacles(value); return this; @@ -6095,10 +6095,10 @@ public Builder addObstacles(com.viam.common.v1.Common.GeoObstacle value) { * List of all known geometries * * - * repeated .viam.common.v1.GeoObstacle obstacles = 1 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 1 [json_name = "obstacles"]; */ public Builder addObstacles( - int index, com.viam.common.v1.Common.GeoObstacle value) { + int index, com.viam.common.v1.Common.GeoGeometry value) { copyOnWrite(); instance.addObstacles(index, value); return this; @@ -6108,10 +6108,10 @@ public Builder addObstacles( * List of all known geometries * * - * repeated .viam.common.v1.GeoObstacle obstacles = 1 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 1 [json_name = "obstacles"]; */ public Builder addObstacles( - com.viam.common.v1.Common.GeoObstacle.Builder builderForValue) { + com.viam.common.v1.Common.GeoGeometry.Builder builderForValue) { copyOnWrite(); instance.addObstacles(builderForValue.build()); return this; @@ -6121,10 +6121,10 @@ public Builder addObstacles( * List of all known geometries * * - * repeated .viam.common.v1.GeoObstacle obstacles = 1 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 1 [json_name = "obstacles"]; */ public Builder addObstacles( - int index, com.viam.common.v1.Common.GeoObstacle.Builder builderForValue) { + int index, com.viam.common.v1.Common.GeoGeometry.Builder builderForValue) { copyOnWrite(); instance.addObstacles(index, builderForValue.build()); @@ -6135,10 +6135,10 @@ public Builder addObstacles( * List of all known geometries * * - * repeated .viam.common.v1.GeoObstacle obstacles = 1 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 1 [json_name = "obstacles"]; */ public Builder addAllObstacles( - java.lang.Iterable values) { + java.lang.Iterable values) { copyOnWrite(); instance.addAllObstacles(values); return this; @@ -6148,7 +6148,7 @@ public Builder addAllObstacles( * List of all known geometries * * - * repeated .viam.common.v1.GeoObstacle obstacles = 1 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 1 [json_name = "obstacles"]; */ public Builder clearObstacles() { copyOnWrite(); @@ -6160,7 +6160,7 @@ public Builder clearObstacles() { * List of all known geometries * * - * repeated .viam.common.v1.GeoObstacle obstacles = 1 [json_name = "obstacles"]; + * repeated .viam.common.v1.GeoGeometry obstacles = 1 [json_name = "obstacles"]; */ public Builder removeObstacles(int index) { copyOnWrite(); @@ -6185,7 +6185,7 @@ protected final java.lang.Object dynamicMethod( case BUILD_MESSAGE_INFO: { java.lang.Object[] objects = new java.lang.Object[] { "obstacles_", - com.viam.common.v1.Common.GeoObstacle.class, + com.viam.common.v1.Common.GeoGeometry.class, }; java.lang.String info = "\u0000\u0001\u0000\u0000\u0001\u0001\u0001\u0000\u0001\u0000\u0001\u001b"; diff --git a/core/sdk/src/main/gen/viam/app/mltraining/v1/MlTraining.java b/core/sdk/src/main/gen/viam/app/mltraining/v1/MlTraining.java index f2f72d6ce..57b48db83 100644 --- a/core/sdk/src/main/gen/viam/app/mltraining/v1/MlTraining.java +++ b/core/sdk/src/main/gen/viam/app/mltraining/v1/MlTraining.java @@ -1625,6 +1625,18 @@ public interface SubmitCustomTrainingJobRequestOrBuilder extends com.google.protobuf.ByteString getRegistryItemIdBytes(); + /** + * string registry_item_version = 6 [json_name = "registryItemVersion", (.tagger.v1.tags) = "bson:\"registry_item_version\" json:\"registry_item_version\""]; + * @return The registryItemVersion. + */ + java.lang.String getRegistryItemVersion(); + /** + * string registry_item_version = 6 [json_name = "registryItemVersion", (.tagger.v1.tags) = "bson:\"registry_item_version\" json:\"registry_item_version\""]; + * @return The bytes for registryItemVersion. + */ + com.google.protobuf.ByteString + getRegistryItemVersionBytes(); + /** * string organization_id = 3 [json_name = "organizationId", (.tagger.v1.tags) = "bson:\"organization_id\" json:\"organization_id\""]; * @return The organizationId. @@ -1672,6 +1684,7 @@ public static final class SubmitCustomTrainingJobRequest extends private SubmitCustomTrainingJobRequest() { datasetId_ = ""; registryItemId_ = ""; + registryItemVersion_ = ""; organizationId_ = ""; modelName_ = ""; modelVersion_ = ""; @@ -1770,6 +1783,53 @@ private void setRegistryItemIdBytes( } + public static final int REGISTRY_ITEM_VERSION_FIELD_NUMBER = 6; + private java.lang.String registryItemVersion_; + /** + * string registry_item_version = 6 [json_name = "registryItemVersion", (.tagger.v1.tags) = "bson:\"registry_item_version\" json:\"registry_item_version\""]; + * @return The registryItemVersion. + */ + @java.lang.Override + public java.lang.String getRegistryItemVersion() { + return registryItemVersion_; + } + /** + * string registry_item_version = 6 [json_name = "registryItemVersion", (.tagger.v1.tags) = "bson:\"registry_item_version\" json:\"registry_item_version\""]; + * @return The bytes for registryItemVersion. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getRegistryItemVersionBytes() { + return com.google.protobuf.ByteString.copyFromUtf8(registryItemVersion_); + } + /** + * string registry_item_version = 6 [json_name = "registryItemVersion", (.tagger.v1.tags) = "bson:\"registry_item_version\" json:\"registry_item_version\""]; + * @param value The registryItemVersion to set. + */ + private void setRegistryItemVersion( + java.lang.String value) { + java.lang.Class valueClass = value.getClass(); + + registryItemVersion_ = value; + } + /** + * string registry_item_version = 6 [json_name = "registryItemVersion", (.tagger.v1.tags) = "bson:\"registry_item_version\" json:\"registry_item_version\""]; + */ + private void clearRegistryItemVersion() { + + registryItemVersion_ = getDefaultInstance().getRegistryItemVersion(); + } + /** + * string registry_item_version = 6 [json_name = "registryItemVersion", (.tagger.v1.tags) = "bson:\"registry_item_version\" json:\"registry_item_version\""]; + * @param value The bytes for registryItemVersion to set. + */ + private void setRegistryItemVersionBytes( + com.google.protobuf.ByteString value) { + checkByteStringIsUtf8(value); + registryItemVersion_ = value.toStringUtf8(); + + } + public static final int ORGANIZATION_ID_FIELD_NUMBER = 3; private java.lang.String organizationId_; /** @@ -2106,6 +2166,55 @@ public Builder setRegistryItemIdBytes( return this; } + /** + * string registry_item_version = 6 [json_name = "registryItemVersion", (.tagger.v1.tags) = "bson:\"registry_item_version\" json:\"registry_item_version\""]; + * @return The registryItemVersion. + */ + @java.lang.Override + public java.lang.String getRegistryItemVersion() { + return instance.getRegistryItemVersion(); + } + /** + * string registry_item_version = 6 [json_name = "registryItemVersion", (.tagger.v1.tags) = "bson:\"registry_item_version\" json:\"registry_item_version\""]; + * @return The bytes for registryItemVersion. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getRegistryItemVersionBytes() { + return instance.getRegistryItemVersionBytes(); + } + /** + * string registry_item_version = 6 [json_name = "registryItemVersion", (.tagger.v1.tags) = "bson:\"registry_item_version\" json:\"registry_item_version\""]; + * @param value The registryItemVersion to set. + * @return This builder for chaining. + */ + public Builder setRegistryItemVersion( + java.lang.String value) { + copyOnWrite(); + instance.setRegistryItemVersion(value); + return this; + } + /** + * string registry_item_version = 6 [json_name = "registryItemVersion", (.tagger.v1.tags) = "bson:\"registry_item_version\" json:\"registry_item_version\""]; + * @return This builder for chaining. + */ + public Builder clearRegistryItemVersion() { + copyOnWrite(); + instance.clearRegistryItemVersion(); + return this; + } + /** + * string registry_item_version = 6 [json_name = "registryItemVersion", (.tagger.v1.tags) = "bson:\"registry_item_version\" json:\"registry_item_version\""]; + * @param value The bytes for registryItemVersion to set. + * @return This builder for chaining. + */ + public Builder setRegistryItemVersionBytes( + com.google.protobuf.ByteString value) { + copyOnWrite(); + instance.setRegistryItemVersionBytes(value); + return this; + } + /** * string organization_id = 3 [json_name = "organizationId", (.tagger.v1.tags) = "bson:\"organization_id\" json:\"organization_id\""]; * @return The organizationId. @@ -2274,10 +2383,11 @@ protected final java.lang.Object dynamicMethod( "organizationId_", "modelName_", "modelVersion_", + "registryItemVersion_", }; java.lang.String info = - "\u0000\u0005\u0000\u0000\u0001\u0005\u0005\u0000\u0000\u0000\u0001\u0208\u0002\u0208" + - "\u0003\u0208\u0004\u0208\u0005\u0208"; + "\u0000\u0006\u0000\u0000\u0001\u0006\u0006\u0000\u0000\u0000\u0001\u0208\u0002\u0208" + + "\u0003\u0208\u0004\u0208\u0005\u0208\u0006\u0208"; return newMessageInfo(DEFAULT_INSTANCE, info, objects); } // fall through @@ -4118,6 +4228,18 @@ public interface TrainingJobMetadataOrBuilder extends com.google.protobuf.ByteString getRegistryItemIdBytes(); + /** + * string registry_item_version = 20 [json_name = "registryItemVersion", (.tagger.v1.tags) = "bson:\"registry_item_version\" json:\"registry_item_version\""]; + * @return The registryItemVersion. + */ + java.lang.String getRegistryItemVersion(); + /** + * string registry_item_version = 20 [json_name = "registryItemVersion", (.tagger.v1.tags) = "bson:\"registry_item_version\" json:\"registry_item_version\""]; + * @return The bytes for registryItemVersion. + */ + com.google.protobuf.ByteString + getRegistryItemVersionBytes(); + /** * .viam.app.mltraining.v1.TrainingStatus status = 2 [json_name = "status", (.tagger.v1.tags) = "bson:\"status\" json:\"status\""]; * @return The enum numeric value on the wire for status. @@ -4236,6 +4358,7 @@ private TrainingJobMetadata() { modelName_ = ""; modelVersion_ = ""; registryItemId_ = ""; + registryItemVersion_ = ""; syncedModelId_ = ""; tags_ = com.google.protobuf.GeneratedMessageLite.emptyProtobufList(); } @@ -4678,6 +4801,53 @@ private void setRegistryItemIdBytes( } + public static final int REGISTRY_ITEM_VERSION_FIELD_NUMBER = 20; + private java.lang.String registryItemVersion_; + /** + * string registry_item_version = 20 [json_name = "registryItemVersion", (.tagger.v1.tags) = "bson:\"registry_item_version\" json:\"registry_item_version\""]; + * @return The registryItemVersion. + */ + @java.lang.Override + public java.lang.String getRegistryItemVersion() { + return registryItemVersion_; + } + /** + * string registry_item_version = 20 [json_name = "registryItemVersion", (.tagger.v1.tags) = "bson:\"registry_item_version\" json:\"registry_item_version\""]; + * @return The bytes for registryItemVersion. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getRegistryItemVersionBytes() { + return com.google.protobuf.ByteString.copyFromUtf8(registryItemVersion_); + } + /** + * string registry_item_version = 20 [json_name = "registryItemVersion", (.tagger.v1.tags) = "bson:\"registry_item_version\" json:\"registry_item_version\""]; + * @param value The registryItemVersion to set. + */ + private void setRegistryItemVersion( + java.lang.String value) { + java.lang.Class valueClass = value.getClass(); + + registryItemVersion_ = value; + } + /** + * string registry_item_version = 20 [json_name = "registryItemVersion", (.tagger.v1.tags) = "bson:\"registry_item_version\" json:\"registry_item_version\""]; + */ + private void clearRegistryItemVersion() { + + registryItemVersion_ = getDefaultInstance().getRegistryItemVersion(); + } + /** + * string registry_item_version = 20 [json_name = "registryItemVersion", (.tagger.v1.tags) = "bson:\"registry_item_version\" json:\"registry_item_version\""]; + * @param value The bytes for registryItemVersion to set. + */ + private void setRegistryItemVersionBytes( + com.google.protobuf.ByteString value) { + checkByteStringIsUtf8(value); + registryItemVersion_ = value.toStringUtf8(); + + } + public static final int STATUS_FIELD_NUMBER = 2; private int status_; /** @@ -5648,6 +5818,55 @@ public Builder setRegistryItemIdBytes( return this; } + /** + * string registry_item_version = 20 [json_name = "registryItemVersion", (.tagger.v1.tags) = "bson:\"registry_item_version\" json:\"registry_item_version\""]; + * @return The registryItemVersion. + */ + @java.lang.Override + public java.lang.String getRegistryItemVersion() { + return instance.getRegistryItemVersion(); + } + /** + * string registry_item_version = 20 [json_name = "registryItemVersion", (.tagger.v1.tags) = "bson:\"registry_item_version\" json:\"registry_item_version\""]; + * @return The bytes for registryItemVersion. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getRegistryItemVersionBytes() { + return instance.getRegistryItemVersionBytes(); + } + /** + * string registry_item_version = 20 [json_name = "registryItemVersion", (.tagger.v1.tags) = "bson:\"registry_item_version\" json:\"registry_item_version\""]; + * @param value The registryItemVersion to set. + * @return This builder for chaining. + */ + public Builder setRegistryItemVersion( + java.lang.String value) { + copyOnWrite(); + instance.setRegistryItemVersion(value); + return this; + } + /** + * string registry_item_version = 20 [json_name = "registryItemVersion", (.tagger.v1.tags) = "bson:\"registry_item_version\" json:\"registry_item_version\""]; + * @return This builder for chaining. + */ + public Builder clearRegistryItemVersion() { + copyOnWrite(); + instance.clearRegistryItemVersion(); + return this; + } + /** + * string registry_item_version = 20 [json_name = "registryItemVersion", (.tagger.v1.tags) = "bson:\"registry_item_version\" json:\"registry_item_version\""]; + * @param value The bytes for registryItemVersion to set. + * @return This builder for chaining. + */ + public Builder setRegistryItemVersionBytes( + com.google.protobuf.ByteString value) { + copyOnWrite(); + instance.setRegistryItemVersionBytes(value); + return this; + } + /** * .viam.app.mltraining.v1.TrainingStatus status = 2 [json_name = "status", (.tagger.v1.tags) = "bson:\"status\" json:\"status\""]; * @return The enum numeric value on the wire for status. @@ -6105,12 +6324,13 @@ protected final java.lang.Object dynamicMethod( "modelFramework_", "isCustomJob_", "registryItemId_", + "registryItemVersion_", }; java.lang.String info = - "\u0000\u0012\u0000\u0001\u0001\u0013\u0012\u0000\u0001\u0000\u0001\u1009\u0000\u0002" + + "\u0000\u0013\u0000\u0001\u0001\u0014\u0013\u0000\u0001\u0000\u0001\u1009\u0000\u0002" + "\f\u0003\u1009\u0002\u0004\u1009\u0003\u0005\u0208\u0007\u0208\b\u1009\u0001\t\u1009" + "\u0004\n\u1009\u0005\u000b\u0208\f\u0208\r\u0208\u000e\u0208\u000f\f\u0010\u021a" + - "\u0011\f\u0012\u0007\u0013\u0208"; + "\u0011\f\u0012\u0007\u0013\u0208\u0014\u0208"; return newMessageInfo(DEFAULT_INSTANCE, info, objects); } // fall through diff --git a/core/sdk/src/main/gen/viam/app/packages/v1/Packages.java b/core/sdk/src/main/gen/viam/app/packages/v1/Packages.java index c6fec1a3a..ae6a508fd 100644 --- a/core/sdk/src/main/gen/viam/app/packages/v1/Packages.java +++ b/core/sdk/src/main/gen/viam/app/packages/v1/Packages.java @@ -155,6 +155,17 @@ public interface FileInfoOrBuilder extends * @return The size. */ long getSize(); + + /** + * optional bool is_directory = 3 [json_name = "isDirectory"]; + * @return Whether the isDirectory field is set. + */ + boolean hasIsDirectory(); + /** + * optional bool is_directory = 3 [json_name = "isDirectory"]; + * @return The isDirectory. + */ + boolean getIsDirectory(); } /** * Protobuf type {@code viam.app.packages.v1.FileInfo} @@ -167,6 +178,7 @@ public static final class FileInfo extends private FileInfo() { name_ = ""; } + private int bitField0_; public static final int NAME_FIELD_NUMBER = 1; private java.lang.String name_; /** @@ -240,6 +252,40 @@ private void clearSize() { size_ = 0L; } + public static final int IS_DIRECTORY_FIELD_NUMBER = 3; + private boolean isDirectory_; + /** + * optional bool is_directory = 3 [json_name = "isDirectory"]; + * @return Whether the isDirectory field is set. + */ + @java.lang.Override + public boolean hasIsDirectory() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * optional bool is_directory = 3 [json_name = "isDirectory"]; + * @return The isDirectory. + */ + @java.lang.Override + public boolean getIsDirectory() { + return isDirectory_; + } + /** + * optional bool is_directory = 3 [json_name = "isDirectory"]; + * @param value The isDirectory to set. + */ + private void setIsDirectory(boolean value) { + bitField0_ |= 0x00000001; + isDirectory_ = value; + } + /** + * optional bool is_directory = 3 [json_name = "isDirectory"]; + */ + private void clearIsDirectory() { + bitField0_ = (bitField0_ & ~0x00000001); + isDirectory_ = false; + } + public static viam.app.packages.v1.Packages.FileInfo parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { @@ -414,6 +460,42 @@ public Builder clearSize() { return this; } + /** + * optional bool is_directory = 3 [json_name = "isDirectory"]; + * @return Whether the isDirectory field is set. + */ + @java.lang.Override + public boolean hasIsDirectory() { + return instance.hasIsDirectory(); + } + /** + * optional bool is_directory = 3 [json_name = "isDirectory"]; + * @return The isDirectory. + */ + @java.lang.Override + public boolean getIsDirectory() { + return instance.getIsDirectory(); + } + /** + * optional bool is_directory = 3 [json_name = "isDirectory"]; + * @param value The isDirectory to set. + * @return This builder for chaining. + */ + public Builder setIsDirectory(boolean value) { + copyOnWrite(); + instance.setIsDirectory(value); + return this; + } + /** + * optional bool is_directory = 3 [json_name = "isDirectory"]; + * @return This builder for chaining. + */ + public Builder clearIsDirectory() { + copyOnWrite(); + instance.clearIsDirectory(); + return this; + } + // @@protoc_insertion_point(builder_scope:viam.app.packages.v1.FileInfo) } @java.lang.Override @@ -430,12 +512,14 @@ protected final java.lang.Object dynamicMethod( } case BUILD_MESSAGE_INFO: { java.lang.Object[] objects = new java.lang.Object[] { + "bitField0_", "name_", "size_", + "isDirectory_", }; java.lang.String info = - "\u0000\u0002\u0000\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001\u0208\u0002\u0003" + - ""; + "\u0000\u0003\u0000\u0001\u0001\u0003\u0003\u0000\u0000\u0000\u0001\u0208\u0002\u0003" + + "\u0003\u1007\u0000"; return newMessageInfo(DEFAULT_INSTANCE, info, objects); } // fall through diff --git a/core/sdk/src/main/resources/protofds/viam.api b/core/sdk/src/main/resources/protofds/viam.api index 163ed9585d0ee059adea8d541752d58f4aecef26..338e4972e38f7d1f5510d0e65c12505caa16a587 100644 GIT binary patch delta 34265 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 delta 31299 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