@vertexvis/stream-api 0.24.3-canary.0 → 0.24.3-canary.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2289,9 +2289,14 @@ Reader$1.prototype.bytes = function read_bytes() {
2289
2289
  this.pos += length;
2290
2290
  if (Array.isArray(this.buf)) // plain array
2291
2291
  return this.buf.slice(start, end);
2292
- return start === end // fix for IE 10/Win8 and others' subarray returning array of size 1
2293
- ? new this.buf.constructor(0)
2294
- : this._slice.call(this.buf, start, end);
2292
+
2293
+ if (start === end) { // fix for IE 10/Win8 and others' subarray returning array of size 1
2294
+ var nativeBuffer = util$2.Buffer;
2295
+ return nativeBuffer
2296
+ ? nativeBuffer.alloc(0)
2297
+ : new this.buf.constructor(0);
2298
+ }
2299
+ return this._slice.call(this.buf, start, end);
2295
2300
  };
2296
2301
 
2297
2302
  /**
@@ -18356,6 +18361,7 @@ const vertexvis = $root.vertexvis = (() => {
18356
18361
  * @property {vertexvis.protobuf.stream.IPhantomAttributes|null} [phantomItems] StreamAttributes phantomItems
18357
18362
  * @property {vertexvis.protobuf.stream.IFrameAttributes|null} [frames] StreamAttributes frames
18358
18363
  * @property {vertexvis.protobuf.stream.ISceneComparisonAttributes|null} [sceneComparison] StreamAttributes sceneComparison
18364
+ * @property {vertexvis.protobuf.stream.ICrossSectioningAttributes|null} [crossSectioningAttributes] StreamAttributes crossSectioningAttributes
18359
18365
  */
18360
18366
 
18361
18367
  /**
@@ -18453,6 +18459,14 @@ const vertexvis = $root.vertexvis = (() => {
18453
18459
  */
18454
18460
  StreamAttributes.prototype.sceneComparison = null;
18455
18461
 
18462
+ /**
18463
+ * StreamAttributes crossSectioningAttributes.
18464
+ * @member {vertexvis.protobuf.stream.ICrossSectioningAttributes|null|undefined} crossSectioningAttributes
18465
+ * @memberof vertexvis.protobuf.stream.StreamAttributes
18466
+ * @instance
18467
+ */
18468
+ StreamAttributes.prototype.crossSectioningAttributes = null;
18469
+
18456
18470
  /**
18457
18471
  * Creates a new StreamAttributes instance using the specified properties.
18458
18472
  * @function create
@@ -18497,6 +18511,8 @@ const vertexvis = $root.vertexvis = (() => {
18497
18511
  $root.vertexvis.protobuf.stream.FrameAttributes.encode(message.frames, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim();
18498
18512
  if (message.sceneComparison != null && Object.hasOwnProperty.call(message, "sceneComparison"))
18499
18513
  $root.vertexvis.protobuf.stream.SceneComparisonAttributes.encode(message.sceneComparison, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim();
18514
+ if (message.crossSectioningAttributes != null && Object.hasOwnProperty.call(message, "crossSectioningAttributes"))
18515
+ $root.vertexvis.protobuf.stream.CrossSectioningAttributes.encode(message.crossSectioningAttributes, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim();
18500
18516
  return writer;
18501
18517
  };
18502
18518
 
@@ -18561,6 +18577,9 @@ const vertexvis = $root.vertexvis = (() => {
18561
18577
  case 11:
18562
18578
  message.sceneComparison = $root.vertexvis.protobuf.stream.SceneComparisonAttributes.decode(reader, reader.uint32());
18563
18579
  break;
18580
+ case 12:
18581
+ message.crossSectioningAttributes = $root.vertexvis.protobuf.stream.CrossSectioningAttributes.decode(reader, reader.uint32());
18582
+ break;
18564
18583
  default:
18565
18584
  reader.skipType(tag & 7);
18566
18585
  break;
@@ -18642,6 +18661,11 @@ const vertexvis = $root.vertexvis = (() => {
18642
18661
  if (error)
18643
18662
  return "sceneComparison." + error;
18644
18663
  }
18664
+ if (message.crossSectioningAttributes != null && message.hasOwnProperty("crossSectioningAttributes")) {
18665
+ let error = $root.vertexvis.protobuf.stream.CrossSectioningAttributes.verify(message.crossSectioningAttributes);
18666
+ if (error)
18667
+ return "crossSectioningAttributes." + error;
18668
+ }
18645
18669
  return null;
18646
18670
  };
18647
18671
 
@@ -18701,6 +18725,11 @@ const vertexvis = $root.vertexvis = (() => {
18701
18725
  throw TypeError(".vertexvis.protobuf.stream.StreamAttributes.sceneComparison: object expected");
18702
18726
  message.sceneComparison = $root.vertexvis.protobuf.stream.SceneComparisonAttributes.fromObject(object.sceneComparison);
18703
18727
  }
18728
+ if (object.crossSectioningAttributes != null) {
18729
+ if (typeof object.crossSectioningAttributes !== "object")
18730
+ throw TypeError(".vertexvis.protobuf.stream.StreamAttributes.crossSectioningAttributes: object expected");
18731
+ message.crossSectioningAttributes = $root.vertexvis.protobuf.stream.CrossSectioningAttributes.fromObject(object.crossSectioningAttributes);
18732
+ }
18704
18733
  return message;
18705
18734
  };
18706
18735
 
@@ -18728,6 +18757,7 @@ const vertexvis = $root.vertexvis = (() => {
18728
18757
  object.phantomItems = null;
18729
18758
  object.frames = null;
18730
18759
  object.sceneComparison = null;
18760
+ object.crossSectioningAttributes = null;
18731
18761
  }
18732
18762
  if (message.depthBuffers != null && message.hasOwnProperty("depthBuffers"))
18733
18763
  object.depthBuffers = $root.vertexvis.protobuf.stream.DepthBufferAttributes.toObject(message.depthBuffers, options);
@@ -18749,6 +18779,8 @@ const vertexvis = $root.vertexvis = (() => {
18749
18779
  object.frames = $root.vertexvis.protobuf.stream.FrameAttributes.toObject(message.frames, options);
18750
18780
  if (message.sceneComparison != null && message.hasOwnProperty("sceneComparison"))
18751
18781
  object.sceneComparison = $root.vertexvis.protobuf.stream.SceneComparisonAttributes.toObject(message.sceneComparison, options);
18782
+ if (message.crossSectioningAttributes != null && message.hasOwnProperty("crossSectioningAttributes"))
18783
+ object.crossSectioningAttributes = $root.vertexvis.protobuf.stream.CrossSectioningAttributes.toObject(message.crossSectioningAttributes, options);
18752
18784
  return object;
18753
18785
  };
18754
18786
 
@@ -19818,6 +19850,221 @@ const vertexvis = $root.vertexvis = (() => {
19818
19850
  return SceneComparisonAttributes;
19819
19851
  })();
19820
19852
 
19853
+ stream.CrossSectioningAttributes = (function() {
19854
+
19855
+ /**
19856
+ * Properties of a CrossSectioningAttributes.
19857
+ * @memberof vertexvis.protobuf.stream
19858
+ * @interface ICrossSectioningAttributes
19859
+ * @property {boolean|null} [endCapEnabled] CrossSectioningAttributes endCapEnabled
19860
+ * @property {vertexvis.protobuf.core.IRGBi|null} [endCapColor] CrossSectioningAttributes endCapColor
19861
+ */
19862
+
19863
+ /**
19864
+ * Constructs a new CrossSectioningAttributes.
19865
+ * @memberof vertexvis.protobuf.stream
19866
+ * @classdesc Represents a CrossSectioningAttributes.
19867
+ * @implements ICrossSectioningAttributes
19868
+ * @constructor
19869
+ * @param {vertexvis.protobuf.stream.ICrossSectioningAttributes=} [properties] Properties to set
19870
+ */
19871
+ function CrossSectioningAttributes(properties) {
19872
+ if (properties)
19873
+ for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
19874
+ if (properties[keys[i]] != null)
19875
+ this[keys[i]] = properties[keys[i]];
19876
+ }
19877
+
19878
+ /**
19879
+ * CrossSectioningAttributes endCapEnabled.
19880
+ * @member {boolean} endCapEnabled
19881
+ * @memberof vertexvis.protobuf.stream.CrossSectioningAttributes
19882
+ * @instance
19883
+ */
19884
+ CrossSectioningAttributes.prototype.endCapEnabled = false;
19885
+
19886
+ /**
19887
+ * CrossSectioningAttributes endCapColor.
19888
+ * @member {vertexvis.protobuf.core.IRGBi|null|undefined} endCapColor
19889
+ * @memberof vertexvis.protobuf.stream.CrossSectioningAttributes
19890
+ * @instance
19891
+ */
19892
+ CrossSectioningAttributes.prototype.endCapColor = null;
19893
+
19894
+ /**
19895
+ * Creates a new CrossSectioningAttributes instance using the specified properties.
19896
+ * @function create
19897
+ * @memberof vertexvis.protobuf.stream.CrossSectioningAttributes
19898
+ * @static
19899
+ * @param {vertexvis.protobuf.stream.ICrossSectioningAttributes=} [properties] Properties to set
19900
+ * @returns {vertexvis.protobuf.stream.CrossSectioningAttributes} CrossSectioningAttributes instance
19901
+ */
19902
+ CrossSectioningAttributes.create = function create(properties) {
19903
+ return new CrossSectioningAttributes(properties);
19904
+ };
19905
+
19906
+ /**
19907
+ * Encodes the specified CrossSectioningAttributes message. Does not implicitly {@link vertexvis.protobuf.stream.CrossSectioningAttributes.verify|verify} messages.
19908
+ * @function encode
19909
+ * @memberof vertexvis.protobuf.stream.CrossSectioningAttributes
19910
+ * @static
19911
+ * @param {vertexvis.protobuf.stream.ICrossSectioningAttributes} message CrossSectioningAttributes message or plain object to encode
19912
+ * @param {$protobuf.Writer} [writer] Writer to encode to
19913
+ * @returns {$protobuf.Writer} Writer
19914
+ */
19915
+ CrossSectioningAttributes.encode = function encode(message, writer) {
19916
+ if (!writer)
19917
+ writer = $Writer.create();
19918
+ if (message.endCapEnabled != null && Object.hasOwnProperty.call(message, "endCapEnabled"))
19919
+ writer.uint32(/* id 1, wireType 0 =*/8).bool(message.endCapEnabled);
19920
+ if (message.endCapColor != null && Object.hasOwnProperty.call(message, "endCapColor"))
19921
+ $root.vertexvis.protobuf.core.RGBi.encode(message.endCapColor, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
19922
+ return writer;
19923
+ };
19924
+
19925
+ /**
19926
+ * Encodes the specified CrossSectioningAttributes message, length delimited. Does not implicitly {@link vertexvis.protobuf.stream.CrossSectioningAttributes.verify|verify} messages.
19927
+ * @function encodeDelimited
19928
+ * @memberof vertexvis.protobuf.stream.CrossSectioningAttributes
19929
+ * @static
19930
+ * @param {vertexvis.protobuf.stream.ICrossSectioningAttributes} message CrossSectioningAttributes message or plain object to encode
19931
+ * @param {$protobuf.Writer} [writer] Writer to encode to
19932
+ * @returns {$protobuf.Writer} Writer
19933
+ */
19934
+ CrossSectioningAttributes.encodeDelimited = function encodeDelimited(message, writer) {
19935
+ return this.encode(message, writer).ldelim();
19936
+ };
19937
+
19938
+ /**
19939
+ * Decodes a CrossSectioningAttributes message from the specified reader or buffer.
19940
+ * @function decode
19941
+ * @memberof vertexvis.protobuf.stream.CrossSectioningAttributes
19942
+ * @static
19943
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
19944
+ * @param {number} [length] Message length if known beforehand
19945
+ * @returns {vertexvis.protobuf.stream.CrossSectioningAttributes} CrossSectioningAttributes
19946
+ * @throws {Error} If the payload is not a reader or valid buffer
19947
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
19948
+ */
19949
+ CrossSectioningAttributes.decode = function decode(reader, length) {
19950
+ if (!(reader instanceof $Reader))
19951
+ reader = $Reader.create(reader);
19952
+ let end = length === undefined ? reader.len : reader.pos + length, message = new $root.vertexvis.protobuf.stream.CrossSectioningAttributes();
19953
+ while (reader.pos < end) {
19954
+ let tag = reader.uint32();
19955
+ switch (tag >>> 3) {
19956
+ case 1:
19957
+ message.endCapEnabled = reader.bool();
19958
+ break;
19959
+ case 2:
19960
+ message.endCapColor = $root.vertexvis.protobuf.core.RGBi.decode(reader, reader.uint32());
19961
+ break;
19962
+ default:
19963
+ reader.skipType(tag & 7);
19964
+ break;
19965
+ }
19966
+ }
19967
+ return message;
19968
+ };
19969
+
19970
+ /**
19971
+ * Decodes a CrossSectioningAttributes message from the specified reader or buffer, length delimited.
19972
+ * @function decodeDelimited
19973
+ * @memberof vertexvis.protobuf.stream.CrossSectioningAttributes
19974
+ * @static
19975
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
19976
+ * @returns {vertexvis.protobuf.stream.CrossSectioningAttributes} CrossSectioningAttributes
19977
+ * @throws {Error} If the payload is not a reader or valid buffer
19978
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
19979
+ */
19980
+ CrossSectioningAttributes.decodeDelimited = function decodeDelimited(reader) {
19981
+ if (!(reader instanceof $Reader))
19982
+ reader = new $Reader(reader);
19983
+ return this.decode(reader, reader.uint32());
19984
+ };
19985
+
19986
+ /**
19987
+ * Verifies a CrossSectioningAttributes message.
19988
+ * @function verify
19989
+ * @memberof vertexvis.protobuf.stream.CrossSectioningAttributes
19990
+ * @static
19991
+ * @param {Object.<string,*>} message Plain object to verify
19992
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
19993
+ */
19994
+ CrossSectioningAttributes.verify = function verify(message) {
19995
+ if (typeof message !== "object" || message === null)
19996
+ return "object expected";
19997
+ if (message.endCapEnabled != null && message.hasOwnProperty("endCapEnabled"))
19998
+ if (typeof message.endCapEnabled !== "boolean")
19999
+ return "endCapEnabled: boolean expected";
20000
+ if (message.endCapColor != null && message.hasOwnProperty("endCapColor")) {
20001
+ let error = $root.vertexvis.protobuf.core.RGBi.verify(message.endCapColor);
20002
+ if (error)
20003
+ return "endCapColor." + error;
20004
+ }
20005
+ return null;
20006
+ };
20007
+
20008
+ /**
20009
+ * Creates a CrossSectioningAttributes message from a plain object. Also converts values to their respective internal types.
20010
+ * @function fromObject
20011
+ * @memberof vertexvis.protobuf.stream.CrossSectioningAttributes
20012
+ * @static
20013
+ * @param {Object.<string,*>} object Plain object
20014
+ * @returns {vertexvis.protobuf.stream.CrossSectioningAttributes} CrossSectioningAttributes
20015
+ */
20016
+ CrossSectioningAttributes.fromObject = function fromObject(object) {
20017
+ if (object instanceof $root.vertexvis.protobuf.stream.CrossSectioningAttributes)
20018
+ return object;
20019
+ let message = new $root.vertexvis.protobuf.stream.CrossSectioningAttributes();
20020
+ if (object.endCapEnabled != null)
20021
+ message.endCapEnabled = Boolean(object.endCapEnabled);
20022
+ if (object.endCapColor != null) {
20023
+ if (typeof object.endCapColor !== "object")
20024
+ throw TypeError(".vertexvis.protobuf.stream.CrossSectioningAttributes.endCapColor: object expected");
20025
+ message.endCapColor = $root.vertexvis.protobuf.core.RGBi.fromObject(object.endCapColor);
20026
+ }
20027
+ return message;
20028
+ };
20029
+
20030
+ /**
20031
+ * Creates a plain object from a CrossSectioningAttributes message. Also converts values to other types if specified.
20032
+ * @function toObject
20033
+ * @memberof vertexvis.protobuf.stream.CrossSectioningAttributes
20034
+ * @static
20035
+ * @param {vertexvis.protobuf.stream.CrossSectioningAttributes} message CrossSectioningAttributes
20036
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
20037
+ * @returns {Object.<string,*>} Plain object
20038
+ */
20039
+ CrossSectioningAttributes.toObject = function toObject(message, options) {
20040
+ if (!options)
20041
+ options = {};
20042
+ let object = {};
20043
+ if (options.defaults) {
20044
+ object.endCapEnabled = false;
20045
+ object.endCapColor = null;
20046
+ }
20047
+ if (message.endCapEnabled != null && message.hasOwnProperty("endCapEnabled"))
20048
+ object.endCapEnabled = message.endCapEnabled;
20049
+ if (message.endCapColor != null && message.hasOwnProperty("endCapColor"))
20050
+ object.endCapColor = $root.vertexvis.protobuf.core.RGBi.toObject(message.endCapColor, options);
20051
+ return object;
20052
+ };
20053
+
20054
+ /**
20055
+ * Converts this CrossSectioningAttributes to JSON.
20056
+ * @function toJSON
20057
+ * @memberof vertexvis.protobuf.stream.CrossSectioningAttributes
20058
+ * @instance
20059
+ * @returns {Object.<string,*>} JSON object
20060
+ */
20061
+ CrossSectioningAttributes.prototype.toJSON = function toJSON() {
20062
+ return this.constructor.toObject(this, minimal.util.toJSONOptions);
20063
+ };
20064
+
20065
+ return CrossSectioningAttributes;
20066
+ })();
20067
+
19821
20068
  stream.FrameAttributes = (function() {
19822
20069
 
19823
20070
  /**
@@ -28371,6 +28618,7 @@ const vertexvis = $root.vertexvis = (() => {
28371
28618
  * @property {vertexvis.protobuf.core.IBoundingBox3f|null} [boundingBox] FlyToPayload boundingBox
28372
28619
  * @property {vertexvis.protobuf.stream.ICamera|null} [camera] FlyToPayload camera
28373
28620
  * @property {vertexvis.protobuf.stream.ISceneViewStateIdentifier|null} [sceneViewStateIdentifier] FlyToPayload sceneViewStateIdentifier
28621
+ * @property {vertexvis.protobuf.stream.ISceneItemQueryExpression|null} [sceneItemQueryExpression] FlyToPayload sceneItemQueryExpression
28374
28622
  * @property {vertexvis.protobuf.stream.ICamera|null} [baseCamera] FlyToPayload baseCamera
28375
28623
  */
28376
28624
 
@@ -28445,6 +28693,14 @@ const vertexvis = $root.vertexvis = (() => {
28445
28693
  */
28446
28694
  FlyToPayload.prototype.sceneViewStateIdentifier = null;
28447
28695
 
28696
+ /**
28697
+ * FlyToPayload sceneItemQueryExpression.
28698
+ * @member {vertexvis.protobuf.stream.ISceneItemQueryExpression|null|undefined} sceneItemQueryExpression
28699
+ * @memberof vertexvis.protobuf.stream.FlyToPayload
28700
+ * @instance
28701
+ */
28702
+ FlyToPayload.prototype.sceneItemQueryExpression = null;
28703
+
28448
28704
  /**
28449
28705
  * FlyToPayload baseCamera.
28450
28706
  * @member {vertexvis.protobuf.stream.ICamera|null|undefined} baseCamera
@@ -28458,12 +28714,12 @@ const vertexvis = $root.vertexvis = (() => {
28458
28714
 
28459
28715
  /**
28460
28716
  * FlyToPayload flyToType.
28461
- * @member {"itemId"|"itemSuppliedId"|"boundingBox"|"camera"|"sceneViewStateIdentifier"|undefined} flyToType
28717
+ * @member {"itemId"|"itemSuppliedId"|"boundingBox"|"camera"|"sceneViewStateIdentifier"|"sceneItemQueryExpression"|undefined} flyToType
28462
28718
  * @memberof vertexvis.protobuf.stream.FlyToPayload
28463
28719
  * @instance
28464
28720
  */
28465
28721
  Object.defineProperty(FlyToPayload.prototype, "flyToType", {
28466
- get: $util.oneOfGetter($oneOfFields = ["itemId", "itemSuppliedId", "boundingBox", "camera", "sceneViewStateIdentifier"]),
28722
+ get: $util.oneOfGetter($oneOfFields = ["itemId", "itemSuppliedId", "boundingBox", "camera", "sceneViewStateIdentifier", "sceneItemQueryExpression"]),
28467
28723
  set: $util.oneOfSetter($oneOfFields)
28468
28724
  });
28469
28725
 
@@ -28507,6 +28763,8 @@ const vertexvis = $root.vertexvis = (() => {
28507
28763
  $root.vertexvis.protobuf.stream.Camera.encode(message.baseCamera, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim();
28508
28764
  if (message.sceneViewStateIdentifier != null && Object.hasOwnProperty.call(message, "sceneViewStateIdentifier"))
28509
28765
  $root.vertexvis.protobuf.stream.SceneViewStateIdentifier.encode(message.sceneViewStateIdentifier, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim();
28766
+ if (message.sceneItemQueryExpression != null && Object.hasOwnProperty.call(message, "sceneItemQueryExpression"))
28767
+ $root.vertexvis.protobuf.stream.SceneItemQueryExpression.encode(message.sceneItemQueryExpression, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim();
28510
28768
  return writer;
28511
28769
  };
28512
28770
 
@@ -28562,6 +28820,9 @@ const vertexvis = $root.vertexvis = (() => {
28562
28820
  case 8:
28563
28821
  message.sceneViewStateIdentifier = $root.vertexvis.protobuf.stream.SceneViewStateIdentifier.decode(reader, reader.uint32());
28564
28822
  break;
28823
+ case 10:
28824
+ message.sceneItemQueryExpression = $root.vertexvis.protobuf.stream.SceneItemQueryExpression.decode(reader, reader.uint32());
28825
+ break;
28565
28826
  case 7:
28566
28827
  message.baseCamera = $root.vertexvis.protobuf.stream.Camera.decode(reader, reader.uint32());
28567
28828
  break;
@@ -28656,6 +28917,16 @@ const vertexvis = $root.vertexvis = (() => {
28656
28917
  return "sceneViewStateIdentifier." + error;
28657
28918
  }
28658
28919
  }
28920
+ if (message.sceneItemQueryExpression != null && message.hasOwnProperty("sceneItemQueryExpression")) {
28921
+ if (properties.flyToType === 1)
28922
+ return "flyToType: multiple values";
28923
+ properties.flyToType = 1;
28924
+ {
28925
+ let error = $root.vertexvis.protobuf.stream.SceneItemQueryExpression.verify(message.sceneItemQueryExpression);
28926
+ if (error)
28927
+ return "sceneItemQueryExpression." + error;
28928
+ }
28929
+ }
28659
28930
  if (message.baseCamera != null && message.hasOwnProperty("baseCamera")) {
28660
28931
  let error = $root.vertexvis.protobuf.stream.Camera.verify(message.baseCamera);
28661
28932
  if (error)
@@ -28708,6 +28979,11 @@ const vertexvis = $root.vertexvis = (() => {
28708
28979
  throw TypeError(".vertexvis.protobuf.stream.FlyToPayload.sceneViewStateIdentifier: object expected");
28709
28980
  message.sceneViewStateIdentifier = $root.vertexvis.protobuf.stream.SceneViewStateIdentifier.fromObject(object.sceneViewStateIdentifier);
28710
28981
  }
28982
+ if (object.sceneItemQueryExpression != null) {
28983
+ if (typeof object.sceneItemQueryExpression !== "object")
28984
+ throw TypeError(".vertexvis.protobuf.stream.FlyToPayload.sceneItemQueryExpression: object expected");
28985
+ message.sceneItemQueryExpression = $root.vertexvis.protobuf.stream.SceneItemQueryExpression.fromObject(object.sceneItemQueryExpression);
28986
+ }
28711
28987
  if (object.baseCamera != null) {
28712
28988
  if (typeof object.baseCamera !== "object")
28713
28989
  throw TypeError(".vertexvis.protobuf.stream.FlyToPayload.baseCamera: object expected");
@@ -28765,6 +29041,11 @@ const vertexvis = $root.vertexvis = (() => {
28765
29041
  if (options.oneofs)
28766
29042
  object.flyToType = "sceneViewStateIdentifier";
28767
29043
  }
29044
+ if (message.sceneItemQueryExpression != null && message.hasOwnProperty("sceneItemQueryExpression")) {
29045
+ object.sceneItemQueryExpression = $root.vertexvis.protobuf.stream.SceneItemQueryExpression.toObject(message.sceneItemQueryExpression, options);
29046
+ if (options.oneofs)
29047
+ object.flyToType = "sceneItemQueryExpression";
29048
+ }
28768
29049
  return object;
28769
29050
  };
28770
29051
 
@@ -48833,6 +49114,119 @@ function parseEpochMillis(millis) {
48833
49114
  return { seconds: seconds * (millis < 0 ? -1 : 1), nanos: nanos };
48834
49115
  }
48835
49116
 
49117
+ function validateBoundingBox(boundingBox) {
49118
+ var boundingBoxXMaxValid = (boundingBox === null || boundingBox === void 0 ? void 0 : boundingBox.xmax) != null && Number.isFinite(boundingBox.xmax);
49119
+ var boundingBoxXMinValid = (boundingBox === null || boundingBox === void 0 ? void 0 : boundingBox.xmin) != null && Number.isFinite(boundingBox.xmin);
49120
+ var boundingBoxYMaxValid = (boundingBox === null || boundingBox === void 0 ? void 0 : boundingBox.ymax) != null && Number.isFinite(boundingBox.ymax);
49121
+ var boundingBoxYMinValid = (boundingBox === null || boundingBox === void 0 ? void 0 : boundingBox.ymin) != null && Number.isFinite(boundingBox.ymin);
49122
+ var boundingBoxZMaxValid = (boundingBox === null || boundingBox === void 0 ? void 0 : boundingBox.zmax) != null && Number.isFinite(boundingBox.zmax);
49123
+ var boundingBoxZMinValid = (boundingBox === null || boundingBox === void 0 ? void 0 : boundingBox.zmin) != null && Number.isFinite(boundingBox.zmin);
49124
+ return (boundingBoxXMaxValid &&
49125
+ boundingBoxXMinValid &&
49126
+ boundingBoxYMaxValid &&
49127
+ boundingBoxYMinValid &&
49128
+ boundingBoxZMaxValid &&
49129
+ boundingBoxZMinValid);
49130
+ }
49131
+ function validateCamera(camera) {
49132
+ // If a perspective camera is provided, verify it is valid
49133
+ if (camera.perspective != null) {
49134
+ var perspectiveCameraIsValid = validatePerspectiveCamera(camera.perspective);
49135
+ return perspectiveCameraIsValid;
49136
+ }
49137
+ // If an orthographic camera is provided, verify it is valid
49138
+ if (camera.orthographic != null) {
49139
+ var orthographicCameraIsValid = validateOrthographicCamera(camera.orthographic);
49140
+ return orthographicCameraIsValid;
49141
+ }
49142
+ return false;
49143
+ }
49144
+ function validatePerspectiveCamera(camera) {
49145
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
49146
+ var lookAtXValid = ((_a = camera.lookAt) === null || _a === void 0 ? void 0 : _a.x) != null && Number.isFinite(camera.lookAt.x);
49147
+ var lookAtYValid = ((_b = camera.lookAt) === null || _b === void 0 ? void 0 : _b.y) != null && Number.isFinite(camera.lookAt.y);
49148
+ var lookAtZValid = ((_c = camera.lookAt) === null || _c === void 0 ? void 0 : _c.z) != null && Number.isFinite(camera.lookAt.z);
49149
+ var positionXValid = ((_d = camera.position) === null || _d === void 0 ? void 0 : _d.x) != null && Number.isFinite(camera.position.x);
49150
+ var positionYValid = ((_e = camera.position) === null || _e === void 0 ? void 0 : _e.y) != null && Number.isFinite(camera.position.y);
49151
+ var positionZValid = ((_f = camera.position) === null || _f === void 0 ? void 0 : _f.z) != null && Number.isFinite(camera.position.z);
49152
+ var upXValid = ((_g = camera.up) === null || _g === void 0 ? void 0 : _g.x) != null && Number.isFinite(camera.up.x);
49153
+ var upYValid = ((_h = camera.up) === null || _h === void 0 ? void 0 : _h.y) != null && Number.isFinite(camera.up.y);
49154
+ var upZValid = ((_j = camera.up) === null || _j === void 0 ? void 0 : _j.z) != null && Number.isFinite(camera.up.z);
49155
+ // Validate up vector has non-zero length
49156
+ var upVectorValid = validateVector({ x: (_k = camera === null || camera === void 0 ? void 0 : camera.up) === null || _k === void 0 ? void 0 : _k.x, y: (_l = camera === null || camera === void 0 ? void 0 : camera.up) === null || _l === void 0 ? void 0 : _l.y, z: (_m = camera === null || camera === void 0 ? void 0 : camera.up) === null || _m === void 0 ? void 0 : _m.z }, true);
49157
+ return (lookAtXValid &&
49158
+ lookAtYValid &&
49159
+ lookAtZValid &&
49160
+ positionXValid &&
49161
+ positionYValid &&
49162
+ positionZValid &&
49163
+ upXValid &&
49164
+ upYValid &&
49165
+ upZValid &&
49166
+ upVectorValid);
49167
+ }
49168
+ function validateOrthographicCamera(camera) {
49169
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
49170
+ var fovHeightValid = camera.fovHeight != null && Number.isFinite(camera.fovHeight);
49171
+ var lookAtXValid = ((_a = camera.lookAt) === null || _a === void 0 ? void 0 : _a.x) != null && Number.isFinite(camera.lookAt.x);
49172
+ var lookAtYValid = ((_b = camera.lookAt) === null || _b === void 0 ? void 0 : _b.y) != null && Number.isFinite(camera.lookAt.y);
49173
+ var lookAtZValid = ((_c = camera.lookAt) === null || _c === void 0 ? void 0 : _c.z) != null && Number.isFinite(camera.lookAt.z);
49174
+ var upXValid = ((_d = camera.up) === null || _d === void 0 ? void 0 : _d.x) != null && Number.isFinite(camera.up.x);
49175
+ var upYValid = ((_e = camera.up) === null || _e === void 0 ? void 0 : _e.y) != null && Number.isFinite(camera.up.y);
49176
+ var upZValid = ((_f = camera.up) === null || _f === void 0 ? void 0 : _f.z) != null && Number.isFinite(camera.up.z);
49177
+ var viewVectorXValid = ((_g = camera.viewVector) === null || _g === void 0 ? void 0 : _g.x) != null && Number.isFinite(camera.viewVector.x);
49178
+ var viewVectorYValid = ((_h = camera.viewVector) === null || _h === void 0 ? void 0 : _h.y) != null && Number.isFinite(camera.viewVector.y);
49179
+ var viewVectorZValid = ((_j = camera.viewVector) === null || _j === void 0 ? void 0 : _j.z) != null && Number.isFinite(camera.viewVector.z);
49180
+ // Validate up vector has non-zero length
49181
+ var upVectorValid = validateVector({ x: (_k = camera === null || camera === void 0 ? void 0 : camera.up) === null || _k === void 0 ? void 0 : _k.x, y: (_l = camera === null || camera === void 0 ? void 0 : camera.up) === null || _l === void 0 ? void 0 : _l.y, z: (_m = camera === null || camera === void 0 ? void 0 : camera.up) === null || _m === void 0 ? void 0 : _m.z }, true);
49182
+ return (fovHeightValid &&
49183
+ lookAtXValid &&
49184
+ lookAtYValid &&
49185
+ lookAtZValid &&
49186
+ viewVectorXValid &&
49187
+ viewVectorYValid &&
49188
+ viewVectorZValid &&
49189
+ upXValid &&
49190
+ upYValid &&
49191
+ upZValid &&
49192
+ upVectorValid);
49193
+ }
49194
+ function validateDimensions(dimensions) {
49195
+ var heightValid = (dimensions === null || dimensions === void 0 ? void 0 : dimensions.height) != null &&
49196
+ Number.isFinite(dimensions.height) &&
49197
+ dimensions.height > 0;
49198
+ var widthValid = (dimensions === null || dimensions === void 0 ? void 0 : dimensions.width) != null &&
49199
+ Number.isFinite(dimensions.width) &&
49200
+ dimensions.width > 0;
49201
+ return heightValid && widthValid;
49202
+ }
49203
+ function validateNumber(number) {
49204
+ return number != null && Number.isFinite(number);
49205
+ }
49206
+ function validatePoint(point) {
49207
+ var xValid = (point === null || point === void 0 ? void 0 : point.x) != null && Number.isFinite(point.x);
49208
+ var yValid = (point === null || point === void 0 ? void 0 : point.y) != null && Number.isFinite(point.y);
49209
+ return xValid && yValid;
49210
+ }
49211
+ function validateVector(vector, verifyNonZeroLength) {
49212
+ var xValid = (vector === null || vector === void 0 ? void 0 : vector.x) != null && Number.isFinite(vector.x);
49213
+ var yValid = (vector === null || vector === void 0 ? void 0 : vector.y) != null && Number.isFinite(vector.y);
49214
+ var zValid = (vector === null || vector === void 0 ? void 0 : vector.z) != null && Number.isFinite(vector.z);
49215
+ var vectorComponentsValid = xValid && yValid && zValid;
49216
+ if (verifyNonZeroLength) {
49217
+ if ((vector === null || vector === void 0 ? void 0 : vector.x) != null && (vector === null || vector === void 0 ? void 0 : vector.y) != null && (vector === null || vector === void 0 ? void 0 : vector.z) != null) {
49218
+ var vectorMagnitudeSquared = vector.x * vector.x + vector.y * vector.y + vector.z * vector.z;
49219
+ var vectorHasNonZeroLength = vectorMagnitudeSquared !== 0;
49220
+ return vectorComponentsValid && vectorHasNonZeroLength;
49221
+ }
49222
+ else {
49223
+ // If one or more components are undefined, then the vector does not have non-zero length
49224
+ return false;
49225
+ }
49226
+ }
49227
+ return vectorComponentsValid;
49228
+ }
49229
+
48836
49230
  var WebSocketClientImpl = /** @class */ (function () {
48837
49231
  function WebSocketClientImpl() {
48838
49232
  var _this = this;
@@ -49075,6 +49469,14 @@ var StreamApi = /** @class */ (function () {
49075
49469
  */
49076
49470
  StreamApi.prototype.replaceCamera = function (payload, withResponse) {
49077
49471
  if (withResponse === void 0) { withResponse = true; }
49472
+ // If a camera is provided, verify it is valid
49473
+ if (payload.camera != null) {
49474
+ var cameraIsValid = validateCamera(payload.camera);
49475
+ if (!cameraIsValid) {
49476
+ console.warn('Invalid camera provided. Canceling replaceCamera operation.');
49477
+ return Promise.resolve({});
49478
+ }
49479
+ }
49078
49480
  return this.sendRequest({ updateCamera: payload }, withResponse);
49079
49481
  };
49080
49482
  /**
@@ -49094,6 +49496,30 @@ var StreamApi = /** @class */ (function () {
49094
49496
  */
49095
49497
  StreamApi.prototype.flyTo = function (payload, withResponse) {
49096
49498
  if (withResponse === void 0) { withResponse = true; }
49499
+ // If a bounding box is provided, verify it is valid
49500
+ if (payload.boundingBox != null) {
49501
+ var validBoundingBox = validateBoundingBox(payload.boundingBox);
49502
+ if (!validBoundingBox) {
49503
+ console.warn('Invalid bounding box provided. Canceling flyTo operation.');
49504
+ return Promise.resolve({});
49505
+ }
49506
+ }
49507
+ // If a camera is provided, verify it is valid
49508
+ if (payload.camera != null) {
49509
+ var cameraIsValid = validateCamera(payload.camera);
49510
+ if (!cameraIsValid) {
49511
+ console.warn('Invalid camera provided. Canceling flyTo operation.');
49512
+ return Promise.resolve({});
49513
+ }
49514
+ }
49515
+ // If a base camera is provided, verify it is valid
49516
+ if (payload.baseCamera != null) {
49517
+ var baseCameraIsValid = validateCamera(payload.baseCamera);
49518
+ if (!baseCameraIsValid) {
49519
+ console.warn('Invalid base camera provided. Canceling flyTo operation.');
49520
+ return Promise.resolve({});
49521
+ }
49522
+ }
49097
49523
  return this.sendRequest({ flyTo: payload }, withResponse);
49098
49524
  };
49099
49525
  /**
@@ -49129,6 +49555,14 @@ var StreamApi = /** @class */ (function () {
49129
49555
  */
49130
49556
  StreamApi.prototype.updateDimensions = function (payload, withResponse) {
49131
49557
  if (withResponse === void 0) { withResponse = true; }
49558
+ // Verify the provided dimensions are valid
49559
+ if (payload.dimensions != null) {
49560
+ var validDimensions = validateDimensions(payload.dimensions);
49561
+ if (!validDimensions) {
49562
+ console.warn('Invalid dimensions provided. Canceling updateDimensions operation.');
49563
+ return Promise.resolve({});
49564
+ }
49565
+ }
49132
49566
  return this.sendRequest({ updateDimensions: payload }, withResponse);
49133
49567
  };
49134
49568
  /**
@@ -49148,7 +49582,18 @@ var StreamApi = /** @class */ (function () {
49148
49582
  * Defaults to `true`.
49149
49583
  */
49150
49584
  StreamApi.prototype.updateCrossSectioning = function (payload, withResponse) {
49585
+ var _a, _b;
49151
49586
  if (withResponse === void 0) { withResponse = true; }
49587
+ // If a section plane is provided, verify it is valid
49588
+ var invalidSectionPlane = (_b = (_a = payload.crossSectioning) === null || _a === void 0 ? void 0 : _a.sectionPlanes) === null || _b === void 0 ? void 0 : _b.some(function (plane) {
49589
+ var validNormal = plane.normal != null && validateVector(plane.normal, true);
49590
+ var validOffset = plane.offset != null && validateNumber(plane.offset);
49591
+ return !validNormal || !validOffset;
49592
+ });
49593
+ if (invalidSectionPlane) {
49594
+ console.warn('Invalid cross section plane provided. Canceling updateCrossSectioning operation.');
49595
+ return Promise.resolve({});
49596
+ }
49152
49597
  return this.sendRequest({ updateCrossSectioning: payload }, withResponse);
49153
49598
  };
49154
49599
  /**
@@ -49184,6 +49629,14 @@ var StreamApi = /** @class */ (function () {
49184
49629
  */
49185
49630
  StreamApi.prototype.hitItems = function (payload, withResponse) {
49186
49631
  if (withResponse === void 0) { withResponse = true; }
49632
+ // If a point is provided, verify it is valid
49633
+ if (payload.point != null) {
49634
+ var validPoint = validatePoint(payload.point);
49635
+ if (!validPoint) {
49636
+ console.warn('Invalid point provided. Canceling hitItems operation.');
49637
+ return Promise.resolve({});
49638
+ }
49639
+ }
49187
49640
  return this.sendRequest({ hitItems: payload }, withResponse);
49188
49641
  };
49189
49642
  /**