@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.
@@ -2293,9 +2293,14 @@ Reader$1.prototype.bytes = function read_bytes() {
2293
2293
  this.pos += length;
2294
2294
  if (Array.isArray(this.buf)) // plain array
2295
2295
  return this.buf.slice(start, end);
2296
- return start === end // fix for IE 10/Win8 and others' subarray returning array of size 1
2297
- ? new this.buf.constructor(0)
2298
- : this._slice.call(this.buf, start, end);
2296
+
2297
+ if (start === end) { // fix for IE 10/Win8 and others' subarray returning array of size 1
2298
+ var nativeBuffer = util$2.Buffer;
2299
+ return nativeBuffer
2300
+ ? nativeBuffer.alloc(0)
2301
+ : new this.buf.constructor(0);
2302
+ }
2303
+ return this._slice.call(this.buf, start, end);
2299
2304
  };
2300
2305
 
2301
2306
  /**
@@ -18360,6 +18365,7 @@ const vertexvis = $root.vertexvis = (() => {
18360
18365
  * @property {vertexvis.protobuf.stream.IPhantomAttributes|null} [phantomItems] StreamAttributes phantomItems
18361
18366
  * @property {vertexvis.protobuf.stream.IFrameAttributes|null} [frames] StreamAttributes frames
18362
18367
  * @property {vertexvis.protobuf.stream.ISceneComparisonAttributes|null} [sceneComparison] StreamAttributes sceneComparison
18368
+ * @property {vertexvis.protobuf.stream.ICrossSectioningAttributes|null} [crossSectioningAttributes] StreamAttributes crossSectioningAttributes
18363
18369
  */
18364
18370
 
18365
18371
  /**
@@ -18457,6 +18463,14 @@ const vertexvis = $root.vertexvis = (() => {
18457
18463
  */
18458
18464
  StreamAttributes.prototype.sceneComparison = null;
18459
18465
 
18466
+ /**
18467
+ * StreamAttributes crossSectioningAttributes.
18468
+ * @member {vertexvis.protobuf.stream.ICrossSectioningAttributes|null|undefined} crossSectioningAttributes
18469
+ * @memberof vertexvis.protobuf.stream.StreamAttributes
18470
+ * @instance
18471
+ */
18472
+ StreamAttributes.prototype.crossSectioningAttributes = null;
18473
+
18460
18474
  /**
18461
18475
  * Creates a new StreamAttributes instance using the specified properties.
18462
18476
  * @function create
@@ -18501,6 +18515,8 @@ const vertexvis = $root.vertexvis = (() => {
18501
18515
  $root.vertexvis.protobuf.stream.FrameAttributes.encode(message.frames, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim();
18502
18516
  if (message.sceneComparison != null && Object.hasOwnProperty.call(message, "sceneComparison"))
18503
18517
  $root.vertexvis.protobuf.stream.SceneComparisonAttributes.encode(message.sceneComparison, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim();
18518
+ if (message.crossSectioningAttributes != null && Object.hasOwnProperty.call(message, "crossSectioningAttributes"))
18519
+ $root.vertexvis.protobuf.stream.CrossSectioningAttributes.encode(message.crossSectioningAttributes, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim();
18504
18520
  return writer;
18505
18521
  };
18506
18522
 
@@ -18565,6 +18581,9 @@ const vertexvis = $root.vertexvis = (() => {
18565
18581
  case 11:
18566
18582
  message.sceneComparison = $root.vertexvis.protobuf.stream.SceneComparisonAttributes.decode(reader, reader.uint32());
18567
18583
  break;
18584
+ case 12:
18585
+ message.crossSectioningAttributes = $root.vertexvis.protobuf.stream.CrossSectioningAttributes.decode(reader, reader.uint32());
18586
+ break;
18568
18587
  default:
18569
18588
  reader.skipType(tag & 7);
18570
18589
  break;
@@ -18646,6 +18665,11 @@ const vertexvis = $root.vertexvis = (() => {
18646
18665
  if (error)
18647
18666
  return "sceneComparison." + error;
18648
18667
  }
18668
+ if (message.crossSectioningAttributes != null && message.hasOwnProperty("crossSectioningAttributes")) {
18669
+ let error = $root.vertexvis.protobuf.stream.CrossSectioningAttributes.verify(message.crossSectioningAttributes);
18670
+ if (error)
18671
+ return "crossSectioningAttributes." + error;
18672
+ }
18649
18673
  return null;
18650
18674
  };
18651
18675
 
@@ -18705,6 +18729,11 @@ const vertexvis = $root.vertexvis = (() => {
18705
18729
  throw TypeError(".vertexvis.protobuf.stream.StreamAttributes.sceneComparison: object expected");
18706
18730
  message.sceneComparison = $root.vertexvis.protobuf.stream.SceneComparisonAttributes.fromObject(object.sceneComparison);
18707
18731
  }
18732
+ if (object.crossSectioningAttributes != null) {
18733
+ if (typeof object.crossSectioningAttributes !== "object")
18734
+ throw TypeError(".vertexvis.protobuf.stream.StreamAttributes.crossSectioningAttributes: object expected");
18735
+ message.crossSectioningAttributes = $root.vertexvis.protobuf.stream.CrossSectioningAttributes.fromObject(object.crossSectioningAttributes);
18736
+ }
18708
18737
  return message;
18709
18738
  };
18710
18739
 
@@ -18732,6 +18761,7 @@ const vertexvis = $root.vertexvis = (() => {
18732
18761
  object.phantomItems = null;
18733
18762
  object.frames = null;
18734
18763
  object.sceneComparison = null;
18764
+ object.crossSectioningAttributes = null;
18735
18765
  }
18736
18766
  if (message.depthBuffers != null && message.hasOwnProperty("depthBuffers"))
18737
18767
  object.depthBuffers = $root.vertexvis.protobuf.stream.DepthBufferAttributes.toObject(message.depthBuffers, options);
@@ -18753,6 +18783,8 @@ const vertexvis = $root.vertexvis = (() => {
18753
18783
  object.frames = $root.vertexvis.protobuf.stream.FrameAttributes.toObject(message.frames, options);
18754
18784
  if (message.sceneComparison != null && message.hasOwnProperty("sceneComparison"))
18755
18785
  object.sceneComparison = $root.vertexvis.protobuf.stream.SceneComparisonAttributes.toObject(message.sceneComparison, options);
18786
+ if (message.crossSectioningAttributes != null && message.hasOwnProperty("crossSectioningAttributes"))
18787
+ object.crossSectioningAttributes = $root.vertexvis.protobuf.stream.CrossSectioningAttributes.toObject(message.crossSectioningAttributes, options);
18756
18788
  return object;
18757
18789
  };
18758
18790
 
@@ -19822,6 +19854,221 @@ const vertexvis = $root.vertexvis = (() => {
19822
19854
  return SceneComparisonAttributes;
19823
19855
  })();
19824
19856
 
19857
+ stream.CrossSectioningAttributes = (function() {
19858
+
19859
+ /**
19860
+ * Properties of a CrossSectioningAttributes.
19861
+ * @memberof vertexvis.protobuf.stream
19862
+ * @interface ICrossSectioningAttributes
19863
+ * @property {boolean|null} [endCapEnabled] CrossSectioningAttributes endCapEnabled
19864
+ * @property {vertexvis.protobuf.core.IRGBi|null} [endCapColor] CrossSectioningAttributes endCapColor
19865
+ */
19866
+
19867
+ /**
19868
+ * Constructs a new CrossSectioningAttributes.
19869
+ * @memberof vertexvis.protobuf.stream
19870
+ * @classdesc Represents a CrossSectioningAttributes.
19871
+ * @implements ICrossSectioningAttributes
19872
+ * @constructor
19873
+ * @param {vertexvis.protobuf.stream.ICrossSectioningAttributes=} [properties] Properties to set
19874
+ */
19875
+ function CrossSectioningAttributes(properties) {
19876
+ if (properties)
19877
+ for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
19878
+ if (properties[keys[i]] != null)
19879
+ this[keys[i]] = properties[keys[i]];
19880
+ }
19881
+
19882
+ /**
19883
+ * CrossSectioningAttributes endCapEnabled.
19884
+ * @member {boolean} endCapEnabled
19885
+ * @memberof vertexvis.protobuf.stream.CrossSectioningAttributes
19886
+ * @instance
19887
+ */
19888
+ CrossSectioningAttributes.prototype.endCapEnabled = false;
19889
+
19890
+ /**
19891
+ * CrossSectioningAttributes endCapColor.
19892
+ * @member {vertexvis.protobuf.core.IRGBi|null|undefined} endCapColor
19893
+ * @memberof vertexvis.protobuf.stream.CrossSectioningAttributes
19894
+ * @instance
19895
+ */
19896
+ CrossSectioningAttributes.prototype.endCapColor = null;
19897
+
19898
+ /**
19899
+ * Creates a new CrossSectioningAttributes instance using the specified properties.
19900
+ * @function create
19901
+ * @memberof vertexvis.protobuf.stream.CrossSectioningAttributes
19902
+ * @static
19903
+ * @param {vertexvis.protobuf.stream.ICrossSectioningAttributes=} [properties] Properties to set
19904
+ * @returns {vertexvis.protobuf.stream.CrossSectioningAttributes} CrossSectioningAttributes instance
19905
+ */
19906
+ CrossSectioningAttributes.create = function create(properties) {
19907
+ return new CrossSectioningAttributes(properties);
19908
+ };
19909
+
19910
+ /**
19911
+ * Encodes the specified CrossSectioningAttributes message. Does not implicitly {@link vertexvis.protobuf.stream.CrossSectioningAttributes.verify|verify} messages.
19912
+ * @function encode
19913
+ * @memberof vertexvis.protobuf.stream.CrossSectioningAttributes
19914
+ * @static
19915
+ * @param {vertexvis.protobuf.stream.ICrossSectioningAttributes} message CrossSectioningAttributes message or plain object to encode
19916
+ * @param {$protobuf.Writer} [writer] Writer to encode to
19917
+ * @returns {$protobuf.Writer} Writer
19918
+ */
19919
+ CrossSectioningAttributes.encode = function encode(message, writer) {
19920
+ if (!writer)
19921
+ writer = $Writer.create();
19922
+ if (message.endCapEnabled != null && Object.hasOwnProperty.call(message, "endCapEnabled"))
19923
+ writer.uint32(/* id 1, wireType 0 =*/8).bool(message.endCapEnabled);
19924
+ if (message.endCapColor != null && Object.hasOwnProperty.call(message, "endCapColor"))
19925
+ $root.vertexvis.protobuf.core.RGBi.encode(message.endCapColor, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
19926
+ return writer;
19927
+ };
19928
+
19929
+ /**
19930
+ * Encodes the specified CrossSectioningAttributes message, length delimited. Does not implicitly {@link vertexvis.protobuf.stream.CrossSectioningAttributes.verify|verify} messages.
19931
+ * @function encodeDelimited
19932
+ * @memberof vertexvis.protobuf.stream.CrossSectioningAttributes
19933
+ * @static
19934
+ * @param {vertexvis.protobuf.stream.ICrossSectioningAttributes} message CrossSectioningAttributes message or plain object to encode
19935
+ * @param {$protobuf.Writer} [writer] Writer to encode to
19936
+ * @returns {$protobuf.Writer} Writer
19937
+ */
19938
+ CrossSectioningAttributes.encodeDelimited = function encodeDelimited(message, writer) {
19939
+ return this.encode(message, writer).ldelim();
19940
+ };
19941
+
19942
+ /**
19943
+ * Decodes a CrossSectioningAttributes message from the specified reader or buffer.
19944
+ * @function decode
19945
+ * @memberof vertexvis.protobuf.stream.CrossSectioningAttributes
19946
+ * @static
19947
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
19948
+ * @param {number} [length] Message length if known beforehand
19949
+ * @returns {vertexvis.protobuf.stream.CrossSectioningAttributes} CrossSectioningAttributes
19950
+ * @throws {Error} If the payload is not a reader or valid buffer
19951
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
19952
+ */
19953
+ CrossSectioningAttributes.decode = function decode(reader, length) {
19954
+ if (!(reader instanceof $Reader))
19955
+ reader = $Reader.create(reader);
19956
+ let end = length === undefined ? reader.len : reader.pos + length, message = new $root.vertexvis.protobuf.stream.CrossSectioningAttributes();
19957
+ while (reader.pos < end) {
19958
+ let tag = reader.uint32();
19959
+ switch (tag >>> 3) {
19960
+ case 1:
19961
+ message.endCapEnabled = reader.bool();
19962
+ break;
19963
+ case 2:
19964
+ message.endCapColor = $root.vertexvis.protobuf.core.RGBi.decode(reader, reader.uint32());
19965
+ break;
19966
+ default:
19967
+ reader.skipType(tag & 7);
19968
+ break;
19969
+ }
19970
+ }
19971
+ return message;
19972
+ };
19973
+
19974
+ /**
19975
+ * Decodes a CrossSectioningAttributes message from the specified reader or buffer, length delimited.
19976
+ * @function decodeDelimited
19977
+ * @memberof vertexvis.protobuf.stream.CrossSectioningAttributes
19978
+ * @static
19979
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
19980
+ * @returns {vertexvis.protobuf.stream.CrossSectioningAttributes} CrossSectioningAttributes
19981
+ * @throws {Error} If the payload is not a reader or valid buffer
19982
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
19983
+ */
19984
+ CrossSectioningAttributes.decodeDelimited = function decodeDelimited(reader) {
19985
+ if (!(reader instanceof $Reader))
19986
+ reader = new $Reader(reader);
19987
+ return this.decode(reader, reader.uint32());
19988
+ };
19989
+
19990
+ /**
19991
+ * Verifies a CrossSectioningAttributes message.
19992
+ * @function verify
19993
+ * @memberof vertexvis.protobuf.stream.CrossSectioningAttributes
19994
+ * @static
19995
+ * @param {Object.<string,*>} message Plain object to verify
19996
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
19997
+ */
19998
+ CrossSectioningAttributes.verify = function verify(message) {
19999
+ if (typeof message !== "object" || message === null)
20000
+ return "object expected";
20001
+ if (message.endCapEnabled != null && message.hasOwnProperty("endCapEnabled"))
20002
+ if (typeof message.endCapEnabled !== "boolean")
20003
+ return "endCapEnabled: boolean expected";
20004
+ if (message.endCapColor != null && message.hasOwnProperty("endCapColor")) {
20005
+ let error = $root.vertexvis.protobuf.core.RGBi.verify(message.endCapColor);
20006
+ if (error)
20007
+ return "endCapColor." + error;
20008
+ }
20009
+ return null;
20010
+ };
20011
+
20012
+ /**
20013
+ * Creates a CrossSectioningAttributes message from a plain object. Also converts values to their respective internal types.
20014
+ * @function fromObject
20015
+ * @memberof vertexvis.protobuf.stream.CrossSectioningAttributes
20016
+ * @static
20017
+ * @param {Object.<string,*>} object Plain object
20018
+ * @returns {vertexvis.protobuf.stream.CrossSectioningAttributes} CrossSectioningAttributes
20019
+ */
20020
+ CrossSectioningAttributes.fromObject = function fromObject(object) {
20021
+ if (object instanceof $root.vertexvis.protobuf.stream.CrossSectioningAttributes)
20022
+ return object;
20023
+ let message = new $root.vertexvis.protobuf.stream.CrossSectioningAttributes();
20024
+ if (object.endCapEnabled != null)
20025
+ message.endCapEnabled = Boolean(object.endCapEnabled);
20026
+ if (object.endCapColor != null) {
20027
+ if (typeof object.endCapColor !== "object")
20028
+ throw TypeError(".vertexvis.protobuf.stream.CrossSectioningAttributes.endCapColor: object expected");
20029
+ message.endCapColor = $root.vertexvis.protobuf.core.RGBi.fromObject(object.endCapColor);
20030
+ }
20031
+ return message;
20032
+ };
20033
+
20034
+ /**
20035
+ * Creates a plain object from a CrossSectioningAttributes message. Also converts values to other types if specified.
20036
+ * @function toObject
20037
+ * @memberof vertexvis.protobuf.stream.CrossSectioningAttributes
20038
+ * @static
20039
+ * @param {vertexvis.protobuf.stream.CrossSectioningAttributes} message CrossSectioningAttributes
20040
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
20041
+ * @returns {Object.<string,*>} Plain object
20042
+ */
20043
+ CrossSectioningAttributes.toObject = function toObject(message, options) {
20044
+ if (!options)
20045
+ options = {};
20046
+ let object = {};
20047
+ if (options.defaults) {
20048
+ object.endCapEnabled = false;
20049
+ object.endCapColor = null;
20050
+ }
20051
+ if (message.endCapEnabled != null && message.hasOwnProperty("endCapEnabled"))
20052
+ object.endCapEnabled = message.endCapEnabled;
20053
+ if (message.endCapColor != null && message.hasOwnProperty("endCapColor"))
20054
+ object.endCapColor = $root.vertexvis.protobuf.core.RGBi.toObject(message.endCapColor, options);
20055
+ return object;
20056
+ };
20057
+
20058
+ /**
20059
+ * Converts this CrossSectioningAttributes to JSON.
20060
+ * @function toJSON
20061
+ * @memberof vertexvis.protobuf.stream.CrossSectioningAttributes
20062
+ * @instance
20063
+ * @returns {Object.<string,*>} JSON object
20064
+ */
20065
+ CrossSectioningAttributes.prototype.toJSON = function toJSON() {
20066
+ return this.constructor.toObject(this, minimal.util.toJSONOptions);
20067
+ };
20068
+
20069
+ return CrossSectioningAttributes;
20070
+ })();
20071
+
19825
20072
  stream.FrameAttributes = (function() {
19826
20073
 
19827
20074
  /**
@@ -28375,6 +28622,7 @@ const vertexvis = $root.vertexvis = (() => {
28375
28622
  * @property {vertexvis.protobuf.core.IBoundingBox3f|null} [boundingBox] FlyToPayload boundingBox
28376
28623
  * @property {vertexvis.protobuf.stream.ICamera|null} [camera] FlyToPayload camera
28377
28624
  * @property {vertexvis.protobuf.stream.ISceneViewStateIdentifier|null} [sceneViewStateIdentifier] FlyToPayload sceneViewStateIdentifier
28625
+ * @property {vertexvis.protobuf.stream.ISceneItemQueryExpression|null} [sceneItemQueryExpression] FlyToPayload sceneItemQueryExpression
28378
28626
  * @property {vertexvis.protobuf.stream.ICamera|null} [baseCamera] FlyToPayload baseCamera
28379
28627
  */
28380
28628
 
@@ -28449,6 +28697,14 @@ const vertexvis = $root.vertexvis = (() => {
28449
28697
  */
28450
28698
  FlyToPayload.prototype.sceneViewStateIdentifier = null;
28451
28699
 
28700
+ /**
28701
+ * FlyToPayload sceneItemQueryExpression.
28702
+ * @member {vertexvis.protobuf.stream.ISceneItemQueryExpression|null|undefined} sceneItemQueryExpression
28703
+ * @memberof vertexvis.protobuf.stream.FlyToPayload
28704
+ * @instance
28705
+ */
28706
+ FlyToPayload.prototype.sceneItemQueryExpression = null;
28707
+
28452
28708
  /**
28453
28709
  * FlyToPayload baseCamera.
28454
28710
  * @member {vertexvis.protobuf.stream.ICamera|null|undefined} baseCamera
@@ -28462,12 +28718,12 @@ const vertexvis = $root.vertexvis = (() => {
28462
28718
 
28463
28719
  /**
28464
28720
  * FlyToPayload flyToType.
28465
- * @member {"itemId"|"itemSuppliedId"|"boundingBox"|"camera"|"sceneViewStateIdentifier"|undefined} flyToType
28721
+ * @member {"itemId"|"itemSuppliedId"|"boundingBox"|"camera"|"sceneViewStateIdentifier"|"sceneItemQueryExpression"|undefined} flyToType
28466
28722
  * @memberof vertexvis.protobuf.stream.FlyToPayload
28467
28723
  * @instance
28468
28724
  */
28469
28725
  Object.defineProperty(FlyToPayload.prototype, "flyToType", {
28470
- get: $util.oneOfGetter($oneOfFields = ["itemId", "itemSuppliedId", "boundingBox", "camera", "sceneViewStateIdentifier"]),
28726
+ get: $util.oneOfGetter($oneOfFields = ["itemId", "itemSuppliedId", "boundingBox", "camera", "sceneViewStateIdentifier", "sceneItemQueryExpression"]),
28471
28727
  set: $util.oneOfSetter($oneOfFields)
28472
28728
  });
28473
28729
 
@@ -28511,6 +28767,8 @@ const vertexvis = $root.vertexvis = (() => {
28511
28767
  $root.vertexvis.protobuf.stream.Camera.encode(message.baseCamera, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim();
28512
28768
  if (message.sceneViewStateIdentifier != null && Object.hasOwnProperty.call(message, "sceneViewStateIdentifier"))
28513
28769
  $root.vertexvis.protobuf.stream.SceneViewStateIdentifier.encode(message.sceneViewStateIdentifier, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim();
28770
+ if (message.sceneItemQueryExpression != null && Object.hasOwnProperty.call(message, "sceneItemQueryExpression"))
28771
+ $root.vertexvis.protobuf.stream.SceneItemQueryExpression.encode(message.sceneItemQueryExpression, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim();
28514
28772
  return writer;
28515
28773
  };
28516
28774
 
@@ -28566,6 +28824,9 @@ const vertexvis = $root.vertexvis = (() => {
28566
28824
  case 8:
28567
28825
  message.sceneViewStateIdentifier = $root.vertexvis.protobuf.stream.SceneViewStateIdentifier.decode(reader, reader.uint32());
28568
28826
  break;
28827
+ case 10:
28828
+ message.sceneItemQueryExpression = $root.vertexvis.protobuf.stream.SceneItemQueryExpression.decode(reader, reader.uint32());
28829
+ break;
28569
28830
  case 7:
28570
28831
  message.baseCamera = $root.vertexvis.protobuf.stream.Camera.decode(reader, reader.uint32());
28571
28832
  break;
@@ -28660,6 +28921,16 @@ const vertexvis = $root.vertexvis = (() => {
28660
28921
  return "sceneViewStateIdentifier." + error;
28661
28922
  }
28662
28923
  }
28924
+ if (message.sceneItemQueryExpression != null && message.hasOwnProperty("sceneItemQueryExpression")) {
28925
+ if (properties.flyToType === 1)
28926
+ return "flyToType: multiple values";
28927
+ properties.flyToType = 1;
28928
+ {
28929
+ let error = $root.vertexvis.protobuf.stream.SceneItemQueryExpression.verify(message.sceneItemQueryExpression);
28930
+ if (error)
28931
+ return "sceneItemQueryExpression." + error;
28932
+ }
28933
+ }
28663
28934
  if (message.baseCamera != null && message.hasOwnProperty("baseCamera")) {
28664
28935
  let error = $root.vertexvis.protobuf.stream.Camera.verify(message.baseCamera);
28665
28936
  if (error)
@@ -28712,6 +28983,11 @@ const vertexvis = $root.vertexvis = (() => {
28712
28983
  throw TypeError(".vertexvis.protobuf.stream.FlyToPayload.sceneViewStateIdentifier: object expected");
28713
28984
  message.sceneViewStateIdentifier = $root.vertexvis.protobuf.stream.SceneViewStateIdentifier.fromObject(object.sceneViewStateIdentifier);
28714
28985
  }
28986
+ if (object.sceneItemQueryExpression != null) {
28987
+ if (typeof object.sceneItemQueryExpression !== "object")
28988
+ throw TypeError(".vertexvis.protobuf.stream.FlyToPayload.sceneItemQueryExpression: object expected");
28989
+ message.sceneItemQueryExpression = $root.vertexvis.protobuf.stream.SceneItemQueryExpression.fromObject(object.sceneItemQueryExpression);
28990
+ }
28715
28991
  if (object.baseCamera != null) {
28716
28992
  if (typeof object.baseCamera !== "object")
28717
28993
  throw TypeError(".vertexvis.protobuf.stream.FlyToPayload.baseCamera: object expected");
@@ -28769,6 +29045,11 @@ const vertexvis = $root.vertexvis = (() => {
28769
29045
  if (options.oneofs)
28770
29046
  object.flyToType = "sceneViewStateIdentifier";
28771
29047
  }
29048
+ if (message.sceneItemQueryExpression != null && message.hasOwnProperty("sceneItemQueryExpression")) {
29049
+ object.sceneItemQueryExpression = $root.vertexvis.protobuf.stream.SceneItemQueryExpression.toObject(message.sceneItemQueryExpression, options);
29050
+ if (options.oneofs)
29051
+ object.flyToType = "sceneItemQueryExpression";
29052
+ }
28772
29053
  return object;
28773
29054
  };
28774
29055
 
@@ -48837,6 +49118,119 @@ function parseEpochMillis(millis) {
48837
49118
  return { seconds: seconds * (millis < 0 ? -1 : 1), nanos: nanos };
48838
49119
  }
48839
49120
 
49121
+ function validateBoundingBox(boundingBox) {
49122
+ var boundingBoxXMaxValid = (boundingBox === null || boundingBox === void 0 ? void 0 : boundingBox.xmax) != null && Number.isFinite(boundingBox.xmax);
49123
+ var boundingBoxXMinValid = (boundingBox === null || boundingBox === void 0 ? void 0 : boundingBox.xmin) != null && Number.isFinite(boundingBox.xmin);
49124
+ var boundingBoxYMaxValid = (boundingBox === null || boundingBox === void 0 ? void 0 : boundingBox.ymax) != null && Number.isFinite(boundingBox.ymax);
49125
+ var boundingBoxYMinValid = (boundingBox === null || boundingBox === void 0 ? void 0 : boundingBox.ymin) != null && Number.isFinite(boundingBox.ymin);
49126
+ var boundingBoxZMaxValid = (boundingBox === null || boundingBox === void 0 ? void 0 : boundingBox.zmax) != null && Number.isFinite(boundingBox.zmax);
49127
+ var boundingBoxZMinValid = (boundingBox === null || boundingBox === void 0 ? void 0 : boundingBox.zmin) != null && Number.isFinite(boundingBox.zmin);
49128
+ return (boundingBoxXMaxValid &&
49129
+ boundingBoxXMinValid &&
49130
+ boundingBoxYMaxValid &&
49131
+ boundingBoxYMinValid &&
49132
+ boundingBoxZMaxValid &&
49133
+ boundingBoxZMinValid);
49134
+ }
49135
+ function validateCamera(camera) {
49136
+ // If a perspective camera is provided, verify it is valid
49137
+ if (camera.perspective != null) {
49138
+ var perspectiveCameraIsValid = validatePerspectiveCamera(camera.perspective);
49139
+ return perspectiveCameraIsValid;
49140
+ }
49141
+ // If an orthographic camera is provided, verify it is valid
49142
+ if (camera.orthographic != null) {
49143
+ var orthographicCameraIsValid = validateOrthographicCamera(camera.orthographic);
49144
+ return orthographicCameraIsValid;
49145
+ }
49146
+ return false;
49147
+ }
49148
+ function validatePerspectiveCamera(camera) {
49149
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
49150
+ var lookAtXValid = ((_a = camera.lookAt) === null || _a === void 0 ? void 0 : _a.x) != null && Number.isFinite(camera.lookAt.x);
49151
+ var lookAtYValid = ((_b = camera.lookAt) === null || _b === void 0 ? void 0 : _b.y) != null && Number.isFinite(camera.lookAt.y);
49152
+ var lookAtZValid = ((_c = camera.lookAt) === null || _c === void 0 ? void 0 : _c.z) != null && Number.isFinite(camera.lookAt.z);
49153
+ var positionXValid = ((_d = camera.position) === null || _d === void 0 ? void 0 : _d.x) != null && Number.isFinite(camera.position.x);
49154
+ var positionYValid = ((_e = camera.position) === null || _e === void 0 ? void 0 : _e.y) != null && Number.isFinite(camera.position.y);
49155
+ var positionZValid = ((_f = camera.position) === null || _f === void 0 ? void 0 : _f.z) != null && Number.isFinite(camera.position.z);
49156
+ var upXValid = ((_g = camera.up) === null || _g === void 0 ? void 0 : _g.x) != null && Number.isFinite(camera.up.x);
49157
+ var upYValid = ((_h = camera.up) === null || _h === void 0 ? void 0 : _h.y) != null && Number.isFinite(camera.up.y);
49158
+ var upZValid = ((_j = camera.up) === null || _j === void 0 ? void 0 : _j.z) != null && Number.isFinite(camera.up.z);
49159
+ // Validate up vector has non-zero length
49160
+ 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);
49161
+ return (lookAtXValid &&
49162
+ lookAtYValid &&
49163
+ lookAtZValid &&
49164
+ positionXValid &&
49165
+ positionYValid &&
49166
+ positionZValid &&
49167
+ upXValid &&
49168
+ upYValid &&
49169
+ upZValid &&
49170
+ upVectorValid);
49171
+ }
49172
+ function validateOrthographicCamera(camera) {
49173
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
49174
+ var fovHeightValid = camera.fovHeight != null && Number.isFinite(camera.fovHeight);
49175
+ var lookAtXValid = ((_a = camera.lookAt) === null || _a === void 0 ? void 0 : _a.x) != null && Number.isFinite(camera.lookAt.x);
49176
+ var lookAtYValid = ((_b = camera.lookAt) === null || _b === void 0 ? void 0 : _b.y) != null && Number.isFinite(camera.lookAt.y);
49177
+ var lookAtZValid = ((_c = camera.lookAt) === null || _c === void 0 ? void 0 : _c.z) != null && Number.isFinite(camera.lookAt.z);
49178
+ var upXValid = ((_d = camera.up) === null || _d === void 0 ? void 0 : _d.x) != null && Number.isFinite(camera.up.x);
49179
+ var upYValid = ((_e = camera.up) === null || _e === void 0 ? void 0 : _e.y) != null && Number.isFinite(camera.up.y);
49180
+ var upZValid = ((_f = camera.up) === null || _f === void 0 ? void 0 : _f.z) != null && Number.isFinite(camera.up.z);
49181
+ var viewVectorXValid = ((_g = camera.viewVector) === null || _g === void 0 ? void 0 : _g.x) != null && Number.isFinite(camera.viewVector.x);
49182
+ var viewVectorYValid = ((_h = camera.viewVector) === null || _h === void 0 ? void 0 : _h.y) != null && Number.isFinite(camera.viewVector.y);
49183
+ var viewVectorZValid = ((_j = camera.viewVector) === null || _j === void 0 ? void 0 : _j.z) != null && Number.isFinite(camera.viewVector.z);
49184
+ // Validate up vector has non-zero length
49185
+ 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);
49186
+ return (fovHeightValid &&
49187
+ lookAtXValid &&
49188
+ lookAtYValid &&
49189
+ lookAtZValid &&
49190
+ viewVectorXValid &&
49191
+ viewVectorYValid &&
49192
+ viewVectorZValid &&
49193
+ upXValid &&
49194
+ upYValid &&
49195
+ upZValid &&
49196
+ upVectorValid);
49197
+ }
49198
+ function validateDimensions(dimensions) {
49199
+ var heightValid = (dimensions === null || dimensions === void 0 ? void 0 : dimensions.height) != null &&
49200
+ Number.isFinite(dimensions.height) &&
49201
+ dimensions.height > 0;
49202
+ var widthValid = (dimensions === null || dimensions === void 0 ? void 0 : dimensions.width) != null &&
49203
+ Number.isFinite(dimensions.width) &&
49204
+ dimensions.width > 0;
49205
+ return heightValid && widthValid;
49206
+ }
49207
+ function validateNumber(number) {
49208
+ return number != null && Number.isFinite(number);
49209
+ }
49210
+ function validatePoint(point) {
49211
+ var xValid = (point === null || point === void 0 ? void 0 : point.x) != null && Number.isFinite(point.x);
49212
+ var yValid = (point === null || point === void 0 ? void 0 : point.y) != null && Number.isFinite(point.y);
49213
+ return xValid && yValid;
49214
+ }
49215
+ function validateVector(vector, verifyNonZeroLength) {
49216
+ var xValid = (vector === null || vector === void 0 ? void 0 : vector.x) != null && Number.isFinite(vector.x);
49217
+ var yValid = (vector === null || vector === void 0 ? void 0 : vector.y) != null && Number.isFinite(vector.y);
49218
+ var zValid = (vector === null || vector === void 0 ? void 0 : vector.z) != null && Number.isFinite(vector.z);
49219
+ var vectorComponentsValid = xValid && yValid && zValid;
49220
+ if (verifyNonZeroLength) {
49221
+ 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) {
49222
+ var vectorMagnitudeSquared = vector.x * vector.x + vector.y * vector.y + vector.z * vector.z;
49223
+ var vectorHasNonZeroLength = vectorMagnitudeSquared !== 0;
49224
+ return vectorComponentsValid && vectorHasNonZeroLength;
49225
+ }
49226
+ else {
49227
+ // If one or more components are undefined, then the vector does not have non-zero length
49228
+ return false;
49229
+ }
49230
+ }
49231
+ return vectorComponentsValid;
49232
+ }
49233
+
48840
49234
  var WebSocketClientImpl = /** @class */ (function () {
48841
49235
  function WebSocketClientImpl() {
48842
49236
  var _this = this;
@@ -49079,6 +49473,14 @@ var StreamApi = /** @class */ (function () {
49079
49473
  */
49080
49474
  StreamApi.prototype.replaceCamera = function (payload, withResponse) {
49081
49475
  if (withResponse === void 0) { withResponse = true; }
49476
+ // If a camera is provided, verify it is valid
49477
+ if (payload.camera != null) {
49478
+ var cameraIsValid = validateCamera(payload.camera);
49479
+ if (!cameraIsValid) {
49480
+ console.warn('Invalid camera provided. Canceling replaceCamera operation.');
49481
+ return Promise.resolve({});
49482
+ }
49483
+ }
49082
49484
  return this.sendRequest({ updateCamera: payload }, withResponse);
49083
49485
  };
49084
49486
  /**
@@ -49098,6 +49500,30 @@ var StreamApi = /** @class */ (function () {
49098
49500
  */
49099
49501
  StreamApi.prototype.flyTo = function (payload, withResponse) {
49100
49502
  if (withResponse === void 0) { withResponse = true; }
49503
+ // If a bounding box is provided, verify it is valid
49504
+ if (payload.boundingBox != null) {
49505
+ var validBoundingBox = validateBoundingBox(payload.boundingBox);
49506
+ if (!validBoundingBox) {
49507
+ console.warn('Invalid bounding box provided. Canceling flyTo operation.');
49508
+ return Promise.resolve({});
49509
+ }
49510
+ }
49511
+ // If a camera is provided, verify it is valid
49512
+ if (payload.camera != null) {
49513
+ var cameraIsValid = validateCamera(payload.camera);
49514
+ if (!cameraIsValid) {
49515
+ console.warn('Invalid camera provided. Canceling flyTo operation.');
49516
+ return Promise.resolve({});
49517
+ }
49518
+ }
49519
+ // If a base camera is provided, verify it is valid
49520
+ if (payload.baseCamera != null) {
49521
+ var baseCameraIsValid = validateCamera(payload.baseCamera);
49522
+ if (!baseCameraIsValid) {
49523
+ console.warn('Invalid base camera provided. Canceling flyTo operation.');
49524
+ return Promise.resolve({});
49525
+ }
49526
+ }
49101
49527
  return this.sendRequest({ flyTo: payload }, withResponse);
49102
49528
  };
49103
49529
  /**
@@ -49133,6 +49559,14 @@ var StreamApi = /** @class */ (function () {
49133
49559
  */
49134
49560
  StreamApi.prototype.updateDimensions = function (payload, withResponse) {
49135
49561
  if (withResponse === void 0) { withResponse = true; }
49562
+ // Verify the provided dimensions are valid
49563
+ if (payload.dimensions != null) {
49564
+ var validDimensions = validateDimensions(payload.dimensions);
49565
+ if (!validDimensions) {
49566
+ console.warn('Invalid dimensions provided. Canceling updateDimensions operation.');
49567
+ return Promise.resolve({});
49568
+ }
49569
+ }
49136
49570
  return this.sendRequest({ updateDimensions: payload }, withResponse);
49137
49571
  };
49138
49572
  /**
@@ -49152,7 +49586,18 @@ var StreamApi = /** @class */ (function () {
49152
49586
  * Defaults to `true`.
49153
49587
  */
49154
49588
  StreamApi.prototype.updateCrossSectioning = function (payload, withResponse) {
49589
+ var _a, _b;
49155
49590
  if (withResponse === void 0) { withResponse = true; }
49591
+ // If a section plane is provided, verify it is valid
49592
+ var invalidSectionPlane = (_b = (_a = payload.crossSectioning) === null || _a === void 0 ? void 0 : _a.sectionPlanes) === null || _b === void 0 ? void 0 : _b.some(function (plane) {
49593
+ var validNormal = plane.normal != null && validateVector(plane.normal, true);
49594
+ var validOffset = plane.offset != null && validateNumber(plane.offset);
49595
+ return !validNormal || !validOffset;
49596
+ });
49597
+ if (invalidSectionPlane) {
49598
+ console.warn('Invalid cross section plane provided. Canceling updateCrossSectioning operation.');
49599
+ return Promise.resolve({});
49600
+ }
49156
49601
  return this.sendRequest({ updateCrossSectioning: payload }, withResponse);
49157
49602
  };
49158
49603
  /**
@@ -49188,6 +49633,14 @@ var StreamApi = /** @class */ (function () {
49188
49633
  */
49189
49634
  StreamApi.prototype.hitItems = function (payload, withResponse) {
49190
49635
  if (withResponse === void 0) { withResponse = true; }
49636
+ // If a point is provided, verify it is valid
49637
+ if (payload.point != null) {
49638
+ var validPoint = validatePoint(payload.point);
49639
+ if (!validPoint) {
49640
+ console.warn('Invalid point provided. Canceling hitItems operation.');
49641
+ return Promise.resolve({});
49642
+ }
49643
+ }
49191
49644
  return this.sendRequest({ hitItems: payload }, withResponse);
49192
49645
  };
49193
49646
  /**