@vertexvis/viewer 0.15.2-testing.3 → 0.15.2-testing.4

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.
Files changed (76) hide show
  1. package/dist/cjs/{config-6e330a82.js → config-4a86ae0b.js} +1 -1
  2. package/dist/cjs/{entities-7b2e8c03.js → entities-496b61cd.js} +2 -2
  3. package/dist/cjs/index.cjs.js +4 -4
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/{mapper-0f2294a6.js → mapper-216603b0.js} +1 -1
  6. package/dist/cjs/{scene-56438693.js → scene-0ce59b26.js} +28 -1
  7. package/dist/cjs/{streamAttributes-c64aee75.js → streamAttributes-7725f5c4.js} +976 -4
  8. package/dist/cjs/vertex-scene-tree.cjs.entry.js +2 -2
  9. package/dist/cjs/vertex-viewer-box-query-tool.cjs.entry.js +245 -0
  10. package/dist/cjs/vertex-viewer-dom-element_2.cjs.entry.js +1 -1
  11. package/dist/cjs/vertex-viewer-measurement-details.cjs.entry.js +1 -1
  12. package/dist/cjs/vertex-viewer-measurement-distance.cjs.entry.js +2 -2
  13. package/dist/cjs/vertex-viewer-measurement-line_2.cjs.entry.js +2 -2
  14. package/dist/cjs/vertex-viewer-measurement-precise.cjs.entry.js +4 -4
  15. package/dist/cjs/vertex-viewer-pin-group.cjs.entry.js +2 -2
  16. package/dist/cjs/vertex-viewer-transform-widget.cjs.entry.js +1 -1
  17. package/dist/cjs/vertex-viewer-view-cube.cjs.entry.js +1 -1
  18. package/dist/cjs/vertex-viewer.cjs.entry.js +3 -3
  19. package/dist/cjs/viewer.cjs.js +1 -1
  20. package/dist/collection/collection-manifest.json +1 -0
  21. package/dist/collection/components/viewer-box-query-tool/viewer-box-query-tool.css +74 -0
  22. package/dist/collection/components/viewer-box-query-tool/viewer-box-query-tool.js +191 -0
  23. package/dist/collection/lib/scenes/mapper.js +12 -1
  24. package/dist/collection/lib/scenes/queries.js +17 -1
  25. package/dist/collection/lib/volume-intersection/controller.js +48 -0
  26. package/dist/collection/lib/volume-intersection/interactions.js +37 -0
  27. package/dist/collection/lib/volume-intersection/model.js +67 -0
  28. package/dist/custom-elements/index.d.ts +6 -0
  29. package/dist/custom-elements/index.js +1241 -5
  30. package/dist/esm/{config-49688db8.js → config-6cdeb6ca.js} +1 -1
  31. package/dist/esm/{entities-a5bfef48.js → entities-6f3c5437.js} +2 -2
  32. package/dist/esm/index.js +4 -4
  33. package/dist/esm/index.mjs +4 -4
  34. package/dist/esm/loader.js +1 -1
  35. package/dist/esm/loader.mjs +1 -1
  36. package/dist/esm/{mapper-5894c2a4.js → mapper-941ff03c.js} +1 -1
  37. package/dist/esm/{scene-5b919078.js → scene-970f5000.js} +28 -1
  38. package/dist/esm/{streamAttributes-7e8565be.js → streamAttributes-24bd7b3a.js} +976 -4
  39. package/dist/esm/vertex-scene-tree.entry.js +2 -2
  40. package/dist/esm/vertex-viewer-box-query-tool.entry.js +241 -0
  41. package/dist/esm/vertex-viewer-dom-element_2.entry.js +1 -1
  42. package/dist/esm/vertex-viewer-measurement-details.entry.js +1 -1
  43. package/dist/esm/vertex-viewer-measurement-distance.entry.js +2 -2
  44. package/dist/esm/vertex-viewer-measurement-line_2.entry.js +2 -2
  45. package/dist/esm/vertex-viewer-measurement-precise.entry.js +4 -4
  46. package/dist/esm/vertex-viewer-pin-group.entry.js +2 -2
  47. package/dist/esm/vertex-viewer-transform-widget.entry.js +1 -1
  48. package/dist/esm/vertex-viewer-view-cube.entry.js +1 -1
  49. package/dist/esm/vertex-viewer.entry.js +3 -3
  50. package/dist/esm/viewer.js +1 -1
  51. package/dist/types/components/viewer-box-query-tool/viewer-box-query-tool.d.ts +60 -0
  52. package/dist/types/components.d.ts +48 -0
  53. package/dist/types/lib/scenes/queries.d.ts +14 -2
  54. package/dist/types/lib/volume-intersection/controller.d.ts +17 -0
  55. package/dist/types/lib/volume-intersection/interactions.d.ts +13 -0
  56. package/dist/types/lib/volume-intersection/model.d.ts +26 -0
  57. package/dist/viewer/index.esm.js +1 -1
  58. package/dist/viewer/{p-1e0dd2e9.js → p-10145045.js} +1 -1
  59. package/dist/viewer/{p-a6558bb2.entry.js → p-1bba9ade.entry.js} +1 -1
  60. package/dist/viewer/{p-3f6f2457.entry.js → p-24cda14a.entry.js} +1 -1
  61. package/dist/viewer/{p-b7e170ac.entry.js → p-2b58afc3.entry.js} +1 -1
  62. package/dist/viewer/{p-22ae6785.entry.js → p-51966cef.entry.js} +1 -1
  63. package/dist/viewer/{p-1fc24ec6.js → p-52ab9ec0.js} +1 -1
  64. package/dist/viewer/{p-927b528b.js → p-597cc9b5.js} +1 -1
  65. package/dist/viewer/{p-61e50e11.entry.js → p-608925c5.entry.js} +1 -1
  66. package/dist/viewer/p-68e192b9.js +4 -0
  67. package/dist/viewer/{p-d34ad2b2.entry.js → p-69a3fce8.entry.js} +1 -1
  68. package/dist/viewer/{p-7579e2a1.entry.js → p-74c772bb.entry.js} +1 -1
  69. package/dist/viewer/{p-40a9dd7d.js → p-9e1384c9.js} +1 -1
  70. package/dist/viewer/{p-d64c1e14.entry.js → p-a107b65e.entry.js} +2 -2
  71. package/dist/viewer/p-bb425931.entry.js +4 -0
  72. package/dist/viewer/{p-920c9a88.entry.js → p-bfacbaa8.entry.js} +1 -1
  73. package/dist/viewer/{p-f3ea0c2b.entry.js → p-c72da0fb.entry.js} +1 -1
  74. package/dist/viewer/viewer.esm.js +1 -1
  75. package/package.json +8 -8
  76. package/dist/viewer/p-31b87b90.js +0 -4
@@ -5654,6 +5654,458 @@ const vertexvis$1 = $root$1.vertexvis = (() => {
5654
5654
  return PointQuery;
5655
5655
  })();
5656
5656
 
5657
+ stream.FrustumByRectangle = (function() {
5658
+
5659
+ /**
5660
+ * Properties of a FrustumByRectangle.
5661
+ * @memberof vertexvis.protobuf.stream
5662
+ * @interface IFrustumByRectangle
5663
+ * @property {vertexvis.protobuf.stream.IRectangle|null} [rectangle] FrustumByRectangle rectangle
5664
+ */
5665
+
5666
+ /**
5667
+ * Constructs a new FrustumByRectangle.
5668
+ * @memberof vertexvis.protobuf.stream
5669
+ * @classdesc Represents a FrustumByRectangle.
5670
+ * @implements IFrustumByRectangle
5671
+ * @constructor
5672
+ * @param {vertexvis.protobuf.stream.IFrustumByRectangle=} [properties] Properties to set
5673
+ */
5674
+ function FrustumByRectangle(properties) {
5675
+ if (properties)
5676
+ for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
5677
+ if (properties[keys[i]] != null)
5678
+ this[keys[i]] = properties[keys[i]];
5679
+ }
5680
+
5681
+ /**
5682
+ * FrustumByRectangle rectangle.
5683
+ * @member {vertexvis.protobuf.stream.IRectangle|null|undefined} rectangle
5684
+ * @memberof vertexvis.protobuf.stream.FrustumByRectangle
5685
+ * @instance
5686
+ */
5687
+ FrustumByRectangle.prototype.rectangle = null;
5688
+
5689
+ /**
5690
+ * Creates a new FrustumByRectangle instance using the specified properties.
5691
+ * @function create
5692
+ * @memberof vertexvis.protobuf.stream.FrustumByRectangle
5693
+ * @static
5694
+ * @param {vertexvis.protobuf.stream.IFrustumByRectangle=} [properties] Properties to set
5695
+ * @returns {vertexvis.protobuf.stream.FrustumByRectangle} FrustumByRectangle instance
5696
+ */
5697
+ FrustumByRectangle.create = function create(properties) {
5698
+ return new FrustumByRectangle(properties);
5699
+ };
5700
+
5701
+ /**
5702
+ * Encodes the specified FrustumByRectangle message. Does not implicitly {@link vertexvis.protobuf.stream.FrustumByRectangle.verify|verify} messages.
5703
+ * @function encode
5704
+ * @memberof vertexvis.protobuf.stream.FrustumByRectangle
5705
+ * @static
5706
+ * @param {vertexvis.protobuf.stream.IFrustumByRectangle} message FrustumByRectangle message or plain object to encode
5707
+ * @param {$protobuf.Writer} [writer] Writer to encode to
5708
+ * @returns {$protobuf.Writer} Writer
5709
+ */
5710
+ FrustumByRectangle.encode = function encode(message, writer) {
5711
+ if (!writer)
5712
+ writer = $Writer$1.create();
5713
+ if (message.rectangle != null && Object.hasOwnProperty.call(message, "rectangle"))
5714
+ $root$1.vertexvis.protobuf.stream.Rectangle.encode(message.rectangle, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
5715
+ return writer;
5716
+ };
5717
+
5718
+ /**
5719
+ * Encodes the specified FrustumByRectangle message, length delimited. Does not implicitly {@link vertexvis.protobuf.stream.FrustumByRectangle.verify|verify} messages.
5720
+ * @function encodeDelimited
5721
+ * @memberof vertexvis.protobuf.stream.FrustumByRectangle
5722
+ * @static
5723
+ * @param {vertexvis.protobuf.stream.IFrustumByRectangle} message FrustumByRectangle message or plain object to encode
5724
+ * @param {$protobuf.Writer} [writer] Writer to encode to
5725
+ * @returns {$protobuf.Writer} Writer
5726
+ */
5727
+ FrustumByRectangle.encodeDelimited = function encodeDelimited(message, writer) {
5728
+ return this.encode(message, writer).ldelim();
5729
+ };
5730
+
5731
+ /**
5732
+ * Decodes a FrustumByRectangle message from the specified reader or buffer.
5733
+ * @function decode
5734
+ * @memberof vertexvis.protobuf.stream.FrustumByRectangle
5735
+ * @static
5736
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
5737
+ * @param {number} [length] Message length if known beforehand
5738
+ * @returns {vertexvis.protobuf.stream.FrustumByRectangle} FrustumByRectangle
5739
+ * @throws {Error} If the payload is not a reader or valid buffer
5740
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
5741
+ */
5742
+ FrustumByRectangle.decode = function decode(reader, length) {
5743
+ if (!(reader instanceof $Reader$1))
5744
+ reader = $Reader$1.create(reader);
5745
+ let end = length === undefined ? reader.len : reader.pos + length, message = new $root$1.vertexvis.protobuf.stream.FrustumByRectangle();
5746
+ while (reader.pos < end) {
5747
+ let tag = reader.uint32();
5748
+ switch (tag >>> 3) {
5749
+ case 1:
5750
+ message.rectangle = $root$1.vertexvis.protobuf.stream.Rectangle.decode(reader, reader.uint32());
5751
+ break;
5752
+ default:
5753
+ reader.skipType(tag & 7);
5754
+ break;
5755
+ }
5756
+ }
5757
+ return message;
5758
+ };
5759
+
5760
+ /**
5761
+ * Decodes a FrustumByRectangle message from the specified reader or buffer, length delimited.
5762
+ * @function decodeDelimited
5763
+ * @memberof vertexvis.protobuf.stream.FrustumByRectangle
5764
+ * @static
5765
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
5766
+ * @returns {vertexvis.protobuf.stream.FrustumByRectangle} FrustumByRectangle
5767
+ * @throws {Error} If the payload is not a reader or valid buffer
5768
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
5769
+ */
5770
+ FrustumByRectangle.decodeDelimited = function decodeDelimited(reader) {
5771
+ if (!(reader instanceof $Reader$1))
5772
+ reader = new $Reader$1(reader);
5773
+ return this.decode(reader, reader.uint32());
5774
+ };
5775
+
5776
+ /**
5777
+ * Verifies a FrustumByRectangle message.
5778
+ * @function verify
5779
+ * @memberof vertexvis.protobuf.stream.FrustumByRectangle
5780
+ * @static
5781
+ * @param {Object.<string,*>} message Plain object to verify
5782
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
5783
+ */
5784
+ FrustumByRectangle.verify = function verify(message) {
5785
+ if (typeof message !== "object" || message === null)
5786
+ return "object expected";
5787
+ if (message.rectangle != null && message.hasOwnProperty("rectangle")) {
5788
+ let error = $root$1.vertexvis.protobuf.stream.Rectangle.verify(message.rectangle);
5789
+ if (error)
5790
+ return "rectangle." + error;
5791
+ }
5792
+ return null;
5793
+ };
5794
+
5795
+ /**
5796
+ * Creates a FrustumByRectangle message from a plain object. Also converts values to their respective internal types.
5797
+ * @function fromObject
5798
+ * @memberof vertexvis.protobuf.stream.FrustumByRectangle
5799
+ * @static
5800
+ * @param {Object.<string,*>} object Plain object
5801
+ * @returns {vertexvis.protobuf.stream.FrustumByRectangle} FrustumByRectangle
5802
+ */
5803
+ FrustumByRectangle.fromObject = function fromObject(object) {
5804
+ if (object instanceof $root$1.vertexvis.protobuf.stream.FrustumByRectangle)
5805
+ return object;
5806
+ let message = new $root$1.vertexvis.protobuf.stream.FrustumByRectangle();
5807
+ if (object.rectangle != null) {
5808
+ if (typeof object.rectangle !== "object")
5809
+ throw TypeError(".vertexvis.protobuf.stream.FrustumByRectangle.rectangle: object expected");
5810
+ message.rectangle = $root$1.vertexvis.protobuf.stream.Rectangle.fromObject(object.rectangle);
5811
+ }
5812
+ return message;
5813
+ };
5814
+
5815
+ /**
5816
+ * Creates a plain object from a FrustumByRectangle message. Also converts values to other types if specified.
5817
+ * @function toObject
5818
+ * @memberof vertexvis.protobuf.stream.FrustumByRectangle
5819
+ * @static
5820
+ * @param {vertexvis.protobuf.stream.FrustumByRectangle} message FrustumByRectangle
5821
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
5822
+ * @returns {Object.<string,*>} Plain object
5823
+ */
5824
+ FrustumByRectangle.toObject = function toObject(message, options) {
5825
+ if (!options)
5826
+ options = {};
5827
+ let object = {};
5828
+ if (options.defaults)
5829
+ object.rectangle = null;
5830
+ if (message.rectangle != null && message.hasOwnProperty("rectangle"))
5831
+ object.rectangle = $root$1.vertexvis.protobuf.stream.Rectangle.toObject(message.rectangle, options);
5832
+ return object;
5833
+ };
5834
+
5835
+ /**
5836
+ * Converts this FrustumByRectangle to JSON.
5837
+ * @function toJSON
5838
+ * @memberof vertexvis.protobuf.stream.FrustumByRectangle
5839
+ * @instance
5840
+ * @returns {Object.<string,*>} JSON object
5841
+ */
5842
+ FrustumByRectangle.prototype.toJSON = function toJSON() {
5843
+ return this.constructor.toObject(this, minimal$2.util.toJSONOptions);
5844
+ };
5845
+
5846
+ return FrustumByRectangle;
5847
+ })();
5848
+
5849
+ stream.VolumeIntersectionQuery = (function() {
5850
+
5851
+ /**
5852
+ * Properties of a VolumeIntersectionQuery.
5853
+ * @memberof vertexvis.protobuf.stream
5854
+ * @interface IVolumeIntersectionQuery
5855
+ * @property {vertexvis.protobuf.stream.IFrustumByRectangle|null} [frustumByRectangle] VolumeIntersectionQuery frustumByRectangle
5856
+ * @property {boolean|null} [exclusive] VolumeIntersectionQuery exclusive
5857
+ * @property {vertexvis.protobuf.stream.IDimensions|null} [viewport] VolumeIntersectionQuery viewport
5858
+ */
5859
+
5860
+ /**
5861
+ * Constructs a new VolumeIntersectionQuery.
5862
+ * @memberof vertexvis.protobuf.stream
5863
+ * @classdesc Represents a VolumeIntersectionQuery.
5864
+ * @implements IVolumeIntersectionQuery
5865
+ * @constructor
5866
+ * @param {vertexvis.protobuf.stream.IVolumeIntersectionQuery=} [properties] Properties to set
5867
+ */
5868
+ function VolumeIntersectionQuery(properties) {
5869
+ if (properties)
5870
+ for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
5871
+ if (properties[keys[i]] != null)
5872
+ this[keys[i]] = properties[keys[i]];
5873
+ }
5874
+
5875
+ /**
5876
+ * VolumeIntersectionQuery frustumByRectangle.
5877
+ * @member {vertexvis.protobuf.stream.IFrustumByRectangle|null|undefined} frustumByRectangle
5878
+ * @memberof vertexvis.protobuf.stream.VolumeIntersectionQuery
5879
+ * @instance
5880
+ */
5881
+ VolumeIntersectionQuery.prototype.frustumByRectangle = null;
5882
+
5883
+ /**
5884
+ * VolumeIntersectionQuery exclusive.
5885
+ * @member {boolean} exclusive
5886
+ * @memberof vertexvis.protobuf.stream.VolumeIntersectionQuery
5887
+ * @instance
5888
+ */
5889
+ VolumeIntersectionQuery.prototype.exclusive = false;
5890
+
5891
+ /**
5892
+ * VolumeIntersectionQuery viewport.
5893
+ * @member {vertexvis.protobuf.stream.IDimensions|null|undefined} viewport
5894
+ * @memberof vertexvis.protobuf.stream.VolumeIntersectionQuery
5895
+ * @instance
5896
+ */
5897
+ VolumeIntersectionQuery.prototype.viewport = null;
5898
+
5899
+ // OneOf field names bound to virtual getters and setters
5900
+ let $oneOfFields;
5901
+
5902
+ /**
5903
+ * VolumeIntersectionQuery volume.
5904
+ * @member {"frustumByRectangle"|undefined} volume
5905
+ * @memberof vertexvis.protobuf.stream.VolumeIntersectionQuery
5906
+ * @instance
5907
+ */
5908
+ Object.defineProperty(VolumeIntersectionQuery.prototype, "volume", {
5909
+ get: $util$1.oneOfGetter($oneOfFields = ["frustumByRectangle"]),
5910
+ set: $util$1.oneOfSetter($oneOfFields)
5911
+ });
5912
+
5913
+ /**
5914
+ * Creates a new VolumeIntersectionQuery instance using the specified properties.
5915
+ * @function create
5916
+ * @memberof vertexvis.protobuf.stream.VolumeIntersectionQuery
5917
+ * @static
5918
+ * @param {vertexvis.protobuf.stream.IVolumeIntersectionQuery=} [properties] Properties to set
5919
+ * @returns {vertexvis.protobuf.stream.VolumeIntersectionQuery} VolumeIntersectionQuery instance
5920
+ */
5921
+ VolumeIntersectionQuery.create = function create(properties) {
5922
+ return new VolumeIntersectionQuery(properties);
5923
+ };
5924
+
5925
+ /**
5926
+ * Encodes the specified VolumeIntersectionQuery message. Does not implicitly {@link vertexvis.protobuf.stream.VolumeIntersectionQuery.verify|verify} messages.
5927
+ * @function encode
5928
+ * @memberof vertexvis.protobuf.stream.VolumeIntersectionQuery
5929
+ * @static
5930
+ * @param {vertexvis.protobuf.stream.IVolumeIntersectionQuery} message VolumeIntersectionQuery message or plain object to encode
5931
+ * @param {$protobuf.Writer} [writer] Writer to encode to
5932
+ * @returns {$protobuf.Writer} Writer
5933
+ */
5934
+ VolumeIntersectionQuery.encode = function encode(message, writer) {
5935
+ if (!writer)
5936
+ writer = $Writer$1.create();
5937
+ if (message.frustumByRectangle != null && Object.hasOwnProperty.call(message, "frustumByRectangle"))
5938
+ $root$1.vertexvis.protobuf.stream.FrustumByRectangle.encode(message.frustumByRectangle, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
5939
+ if (message.exclusive != null && Object.hasOwnProperty.call(message, "exclusive"))
5940
+ writer.uint32(/* id 2, wireType 0 =*/16).bool(message.exclusive);
5941
+ if (message.viewport != null && Object.hasOwnProperty.call(message, "viewport"))
5942
+ $root$1.vertexvis.protobuf.stream.Dimensions.encode(message.viewport, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
5943
+ return writer;
5944
+ };
5945
+
5946
+ /**
5947
+ * Encodes the specified VolumeIntersectionQuery message, length delimited. Does not implicitly {@link vertexvis.protobuf.stream.VolumeIntersectionQuery.verify|verify} messages.
5948
+ * @function encodeDelimited
5949
+ * @memberof vertexvis.protobuf.stream.VolumeIntersectionQuery
5950
+ * @static
5951
+ * @param {vertexvis.protobuf.stream.IVolumeIntersectionQuery} message VolumeIntersectionQuery message or plain object to encode
5952
+ * @param {$protobuf.Writer} [writer] Writer to encode to
5953
+ * @returns {$protobuf.Writer} Writer
5954
+ */
5955
+ VolumeIntersectionQuery.encodeDelimited = function encodeDelimited(message, writer) {
5956
+ return this.encode(message, writer).ldelim();
5957
+ };
5958
+
5959
+ /**
5960
+ * Decodes a VolumeIntersectionQuery message from the specified reader or buffer.
5961
+ * @function decode
5962
+ * @memberof vertexvis.protobuf.stream.VolumeIntersectionQuery
5963
+ * @static
5964
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
5965
+ * @param {number} [length] Message length if known beforehand
5966
+ * @returns {vertexvis.protobuf.stream.VolumeIntersectionQuery} VolumeIntersectionQuery
5967
+ * @throws {Error} If the payload is not a reader or valid buffer
5968
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
5969
+ */
5970
+ VolumeIntersectionQuery.decode = function decode(reader, length) {
5971
+ if (!(reader instanceof $Reader$1))
5972
+ reader = $Reader$1.create(reader);
5973
+ let end = length === undefined ? reader.len : reader.pos + length, message = new $root$1.vertexvis.protobuf.stream.VolumeIntersectionQuery();
5974
+ while (reader.pos < end) {
5975
+ let tag = reader.uint32();
5976
+ switch (tag >>> 3) {
5977
+ case 1:
5978
+ message.frustumByRectangle = $root$1.vertexvis.protobuf.stream.FrustumByRectangle.decode(reader, reader.uint32());
5979
+ break;
5980
+ case 2:
5981
+ message.exclusive = reader.bool();
5982
+ break;
5983
+ case 3:
5984
+ message.viewport = $root$1.vertexvis.protobuf.stream.Dimensions.decode(reader, reader.uint32());
5985
+ break;
5986
+ default:
5987
+ reader.skipType(tag & 7);
5988
+ break;
5989
+ }
5990
+ }
5991
+ return message;
5992
+ };
5993
+
5994
+ /**
5995
+ * Decodes a VolumeIntersectionQuery message from the specified reader or buffer, length delimited.
5996
+ * @function decodeDelimited
5997
+ * @memberof vertexvis.protobuf.stream.VolumeIntersectionQuery
5998
+ * @static
5999
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
6000
+ * @returns {vertexvis.protobuf.stream.VolumeIntersectionQuery} VolumeIntersectionQuery
6001
+ * @throws {Error} If the payload is not a reader or valid buffer
6002
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
6003
+ */
6004
+ VolumeIntersectionQuery.decodeDelimited = function decodeDelimited(reader) {
6005
+ if (!(reader instanceof $Reader$1))
6006
+ reader = new $Reader$1(reader);
6007
+ return this.decode(reader, reader.uint32());
6008
+ };
6009
+
6010
+ /**
6011
+ * Verifies a VolumeIntersectionQuery message.
6012
+ * @function verify
6013
+ * @memberof vertexvis.protobuf.stream.VolumeIntersectionQuery
6014
+ * @static
6015
+ * @param {Object.<string,*>} message Plain object to verify
6016
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
6017
+ */
6018
+ VolumeIntersectionQuery.verify = function verify(message) {
6019
+ if (typeof message !== "object" || message === null)
6020
+ return "object expected";
6021
+ if (message.frustumByRectangle != null && message.hasOwnProperty("frustumByRectangle")) {
6022
+ {
6023
+ let error = $root$1.vertexvis.protobuf.stream.FrustumByRectangle.verify(message.frustumByRectangle);
6024
+ if (error)
6025
+ return "frustumByRectangle." + error;
6026
+ }
6027
+ }
6028
+ if (message.exclusive != null && message.hasOwnProperty("exclusive"))
6029
+ if (typeof message.exclusive !== "boolean")
6030
+ return "exclusive: boolean expected";
6031
+ if (message.viewport != null && message.hasOwnProperty("viewport")) {
6032
+ let error = $root$1.vertexvis.protobuf.stream.Dimensions.verify(message.viewport);
6033
+ if (error)
6034
+ return "viewport." + error;
6035
+ }
6036
+ return null;
6037
+ };
6038
+
6039
+ /**
6040
+ * Creates a VolumeIntersectionQuery message from a plain object. Also converts values to their respective internal types.
6041
+ * @function fromObject
6042
+ * @memberof vertexvis.protobuf.stream.VolumeIntersectionQuery
6043
+ * @static
6044
+ * @param {Object.<string,*>} object Plain object
6045
+ * @returns {vertexvis.protobuf.stream.VolumeIntersectionQuery} VolumeIntersectionQuery
6046
+ */
6047
+ VolumeIntersectionQuery.fromObject = function fromObject(object) {
6048
+ if (object instanceof $root$1.vertexvis.protobuf.stream.VolumeIntersectionQuery)
6049
+ return object;
6050
+ let message = new $root$1.vertexvis.protobuf.stream.VolumeIntersectionQuery();
6051
+ if (object.frustumByRectangle != null) {
6052
+ if (typeof object.frustumByRectangle !== "object")
6053
+ throw TypeError(".vertexvis.protobuf.stream.VolumeIntersectionQuery.frustumByRectangle: object expected");
6054
+ message.frustumByRectangle = $root$1.vertexvis.protobuf.stream.FrustumByRectangle.fromObject(object.frustumByRectangle);
6055
+ }
6056
+ if (object.exclusive != null)
6057
+ message.exclusive = Boolean(object.exclusive);
6058
+ if (object.viewport != null) {
6059
+ if (typeof object.viewport !== "object")
6060
+ throw TypeError(".vertexvis.protobuf.stream.VolumeIntersectionQuery.viewport: object expected");
6061
+ message.viewport = $root$1.vertexvis.protobuf.stream.Dimensions.fromObject(object.viewport);
6062
+ }
6063
+ return message;
6064
+ };
6065
+
6066
+ /**
6067
+ * Creates a plain object from a VolumeIntersectionQuery message. Also converts values to other types if specified.
6068
+ * @function toObject
6069
+ * @memberof vertexvis.protobuf.stream.VolumeIntersectionQuery
6070
+ * @static
6071
+ * @param {vertexvis.protobuf.stream.VolumeIntersectionQuery} message VolumeIntersectionQuery
6072
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
6073
+ * @returns {Object.<string,*>} Plain object
6074
+ */
6075
+ VolumeIntersectionQuery.toObject = function toObject(message, options) {
6076
+ if (!options)
6077
+ options = {};
6078
+ let object = {};
6079
+ if (options.defaults) {
6080
+ object.exclusive = false;
6081
+ object.viewport = null;
6082
+ }
6083
+ if (message.frustumByRectangle != null && message.hasOwnProperty("frustumByRectangle")) {
6084
+ object.frustumByRectangle = $root$1.vertexvis.protobuf.stream.FrustumByRectangle.toObject(message.frustumByRectangle, options);
6085
+ if (options.oneofs)
6086
+ object.volume = "frustumByRectangle";
6087
+ }
6088
+ if (message.exclusive != null && message.hasOwnProperty("exclusive"))
6089
+ object.exclusive = message.exclusive;
6090
+ if (message.viewport != null && message.hasOwnProperty("viewport"))
6091
+ object.viewport = $root$1.vertexvis.protobuf.stream.Dimensions.toObject(message.viewport, options);
6092
+ return object;
6093
+ };
6094
+
6095
+ /**
6096
+ * Converts this VolumeIntersectionQuery to JSON.
6097
+ * @function toJSON
6098
+ * @memberof vertexvis.protobuf.stream.VolumeIntersectionQuery
6099
+ * @instance
6100
+ * @returns {Object.<string,*>} JSON object
6101
+ */
6102
+ VolumeIntersectionQuery.prototype.toJSON = function toJSON() {
6103
+ return this.constructor.toObject(this, minimal$2.util.toJSONOptions);
6104
+ };
6105
+
6106
+ return VolumeIntersectionQuery;
6107
+ })();
6108
+
5657
6109
  stream.SceneTreeRangeQuery = (function() {
5658
6110
 
5659
6111
  /**
@@ -8242,6 +8694,7 @@ const vertexvis$1 = $root$1.vertexvis = (() => {
8242
8694
  * @property {vertexvis.protobuf.stream.ISceneTreeRangeQuery|null} [sceneTreeRange] SceneOperation sceneTreeRange
8243
8695
  * @property {vertexvis.protobuf.stream.IMetadataFilterQuery|null} [metadata] SceneOperation metadata
8244
8696
  * @property {vertexvis.protobuf.stream.IOverrideQuery|null} [override] SceneOperation override
8697
+ * @property {vertexvis.protobuf.stream.IVolumeIntersectionQuery|null} [volume] SceneOperation volume
8245
8698
  * @property {Array.<vertexvis.protobuf.stream.IOperationType>|null} [operationTypes] SceneOperation operationTypes
8246
8699
  */
8247
8700
 
@@ -8325,6 +8778,14 @@ const vertexvis$1 = $root$1.vertexvis = (() => {
8325
8778
  */
8326
8779
  SceneOperation.prototype.override = null;
8327
8780
 
8781
+ /**
8782
+ * SceneOperation volume.
8783
+ * @member {vertexvis.protobuf.stream.IVolumeIntersectionQuery|null|undefined} volume
8784
+ * @memberof vertexvis.protobuf.stream.SceneOperation
8785
+ * @instance
8786
+ */
8787
+ SceneOperation.prototype.volume = null;
8788
+
8328
8789
  /**
8329
8790
  * SceneOperation operationTypes.
8330
8791
  * @member {Array.<vertexvis.protobuf.stream.IOperationType>} operationTypes
@@ -8338,12 +8799,12 @@ const vertexvis$1 = $root$1.vertexvis = (() => {
8338
8799
 
8339
8800
  /**
8340
8801
  * SceneOperation query.
8341
- * @member {"item"|"or"|"and"|"all"|"point"|"sceneTreeRange"|"metadata"|"override"|undefined} query
8802
+ * @member {"item"|"or"|"and"|"all"|"point"|"sceneTreeRange"|"metadata"|"override"|"volume"|undefined} query
8342
8803
  * @memberof vertexvis.protobuf.stream.SceneOperation
8343
8804
  * @instance
8344
8805
  */
8345
8806
  Object.defineProperty(SceneOperation.prototype, "query", {
8346
- get: $util$1.oneOfGetter($oneOfFields = ["item", "or", "and", "all", "point", "sceneTreeRange", "metadata", "override"]),
8807
+ get: $util$1.oneOfGetter($oneOfFields = ["item", "or", "and", "all", "point", "sceneTreeRange", "metadata", "override", "volume"]),
8347
8808
  set: $util$1.oneOfSetter($oneOfFields)
8348
8809
  });
8349
8810
 
@@ -8390,6 +8851,8 @@ const vertexvis$1 = $root$1.vertexvis = (() => {
8390
8851
  $root$1.vertexvis.protobuf.stream.MetadataFilterQuery.encode(message.metadata, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim();
8391
8852
  if (message.override != null && Object.hasOwnProperty.call(message, "override"))
8392
8853
  $root$1.vertexvis.protobuf.stream.OverrideQuery.encode(message.override, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim();
8854
+ if (message.volume != null && Object.hasOwnProperty.call(message, "volume"))
8855
+ $root$1.vertexvis.protobuf.stream.VolumeIntersectionQuery.encode(message.volume, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim();
8393
8856
  return writer;
8394
8857
  };
8395
8858
 
@@ -8448,6 +8911,9 @@ const vertexvis$1 = $root$1.vertexvis = (() => {
8448
8911
  case 9:
8449
8912
  message.override = $root$1.vertexvis.protobuf.stream.OverrideQuery.decode(reader, reader.uint32());
8450
8913
  break;
8914
+ case 10:
8915
+ message.volume = $root$1.vertexvis.protobuf.stream.VolumeIntersectionQuery.decode(reader, reader.uint32());
8916
+ break;
8451
8917
  case 4:
8452
8918
  if (!(message.operationTypes && message.operationTypes.length))
8453
8919
  message.operationTypes = [];
@@ -8567,6 +9033,16 @@ const vertexvis$1 = $root$1.vertexvis = (() => {
8567
9033
  return "override." + error;
8568
9034
  }
8569
9035
  }
9036
+ if (message.volume != null && message.hasOwnProperty("volume")) {
9037
+ if (properties.query === 1)
9038
+ return "query: multiple values";
9039
+ properties.query = 1;
9040
+ {
9041
+ let error = $root$1.vertexvis.protobuf.stream.VolumeIntersectionQuery.verify(message.volume);
9042
+ if (error)
9043
+ return "volume." + error;
9044
+ }
9045
+ }
8570
9046
  if (message.operationTypes != null && message.hasOwnProperty("operationTypes")) {
8571
9047
  if (!Array.isArray(message.operationTypes))
8572
9048
  return "operationTypes: array expected";
@@ -8631,6 +9107,11 @@ const vertexvis$1 = $root$1.vertexvis = (() => {
8631
9107
  throw TypeError(".vertexvis.protobuf.stream.SceneOperation.override: object expected");
8632
9108
  message.override = $root$1.vertexvis.protobuf.stream.OverrideQuery.fromObject(object.override);
8633
9109
  }
9110
+ if (object.volume != null) {
9111
+ if (typeof object.volume !== "object")
9112
+ throw TypeError(".vertexvis.protobuf.stream.SceneOperation.volume: object expected");
9113
+ message.volume = $root$1.vertexvis.protobuf.stream.VolumeIntersectionQuery.fromObject(object.volume);
9114
+ }
8634
9115
  if (object.operationTypes) {
8635
9116
  if (!Array.isArray(object.operationTypes))
8636
9117
  throw TypeError(".vertexvis.protobuf.stream.SceneOperation.operationTypes: array expected");
@@ -8704,6 +9185,11 @@ const vertexvis$1 = $root$1.vertexvis = (() => {
8704
9185
  if (options.oneofs)
8705
9186
  object.query = "override";
8706
9187
  }
9188
+ if (message.volume != null && message.hasOwnProperty("volume")) {
9189
+ object.volume = $root$1.vertexvis.protobuf.stream.VolumeIntersectionQuery.toObject(message.volume, options);
9190
+ if (options.oneofs)
9191
+ object.query = "volume";
9192
+ }
8707
9193
  return object;
8708
9194
  };
8709
9195
 
@@ -43207,6 +43693,458 @@ const vertexvis = $root.vertexvis = (() => {
43207
43693
  return PointQuery;
43208
43694
  })();
43209
43695
 
43696
+ stream.FrustumByRectangle = (function() {
43697
+
43698
+ /**
43699
+ * Properties of a FrustumByRectangle.
43700
+ * @memberof vertexvis.protobuf.stream
43701
+ * @interface IFrustumByRectangle
43702
+ * @property {vertexvis.protobuf.stream.IRectangle|null} [rectangle] FrustumByRectangle rectangle
43703
+ */
43704
+
43705
+ /**
43706
+ * Constructs a new FrustumByRectangle.
43707
+ * @memberof vertexvis.protobuf.stream
43708
+ * @classdesc Represents a FrustumByRectangle.
43709
+ * @implements IFrustumByRectangle
43710
+ * @constructor
43711
+ * @param {vertexvis.protobuf.stream.IFrustumByRectangle=} [properties] Properties to set
43712
+ */
43713
+ function FrustumByRectangle(properties) {
43714
+ if (properties)
43715
+ for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
43716
+ if (properties[keys[i]] != null)
43717
+ this[keys[i]] = properties[keys[i]];
43718
+ }
43719
+
43720
+ /**
43721
+ * FrustumByRectangle rectangle.
43722
+ * @member {vertexvis.protobuf.stream.IRectangle|null|undefined} rectangle
43723
+ * @memberof vertexvis.protobuf.stream.FrustumByRectangle
43724
+ * @instance
43725
+ */
43726
+ FrustumByRectangle.prototype.rectangle = null;
43727
+
43728
+ /**
43729
+ * Creates a new FrustumByRectangle instance using the specified properties.
43730
+ * @function create
43731
+ * @memberof vertexvis.protobuf.stream.FrustumByRectangle
43732
+ * @static
43733
+ * @param {vertexvis.protobuf.stream.IFrustumByRectangle=} [properties] Properties to set
43734
+ * @returns {vertexvis.protobuf.stream.FrustumByRectangle} FrustumByRectangle instance
43735
+ */
43736
+ FrustumByRectangle.create = function create(properties) {
43737
+ return new FrustumByRectangle(properties);
43738
+ };
43739
+
43740
+ /**
43741
+ * Encodes the specified FrustumByRectangle message. Does not implicitly {@link vertexvis.protobuf.stream.FrustumByRectangle.verify|verify} messages.
43742
+ * @function encode
43743
+ * @memberof vertexvis.protobuf.stream.FrustumByRectangle
43744
+ * @static
43745
+ * @param {vertexvis.protobuf.stream.IFrustumByRectangle} message FrustumByRectangle message or plain object to encode
43746
+ * @param {$protobuf.Writer} [writer] Writer to encode to
43747
+ * @returns {$protobuf.Writer} Writer
43748
+ */
43749
+ FrustumByRectangle.encode = function encode(message, writer) {
43750
+ if (!writer)
43751
+ writer = $Writer.create();
43752
+ if (message.rectangle != null && Object.hasOwnProperty.call(message, "rectangle"))
43753
+ $root.vertexvis.protobuf.stream.Rectangle.encode(message.rectangle, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
43754
+ return writer;
43755
+ };
43756
+
43757
+ /**
43758
+ * Encodes the specified FrustumByRectangle message, length delimited. Does not implicitly {@link vertexvis.protobuf.stream.FrustumByRectangle.verify|verify} messages.
43759
+ * @function encodeDelimited
43760
+ * @memberof vertexvis.protobuf.stream.FrustumByRectangle
43761
+ * @static
43762
+ * @param {vertexvis.protobuf.stream.IFrustumByRectangle} message FrustumByRectangle message or plain object to encode
43763
+ * @param {$protobuf.Writer} [writer] Writer to encode to
43764
+ * @returns {$protobuf.Writer} Writer
43765
+ */
43766
+ FrustumByRectangle.encodeDelimited = function encodeDelimited(message, writer) {
43767
+ return this.encode(message, writer).ldelim();
43768
+ };
43769
+
43770
+ /**
43771
+ * Decodes a FrustumByRectangle message from the specified reader or buffer.
43772
+ * @function decode
43773
+ * @memberof vertexvis.protobuf.stream.FrustumByRectangle
43774
+ * @static
43775
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
43776
+ * @param {number} [length] Message length if known beforehand
43777
+ * @returns {vertexvis.protobuf.stream.FrustumByRectangle} FrustumByRectangle
43778
+ * @throws {Error} If the payload is not a reader or valid buffer
43779
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
43780
+ */
43781
+ FrustumByRectangle.decode = function decode(reader, length) {
43782
+ if (!(reader instanceof $Reader))
43783
+ reader = $Reader.create(reader);
43784
+ let end = length === undefined ? reader.len : reader.pos + length, message = new $root.vertexvis.protobuf.stream.FrustumByRectangle();
43785
+ while (reader.pos < end) {
43786
+ let tag = reader.uint32();
43787
+ switch (tag >>> 3) {
43788
+ case 1:
43789
+ message.rectangle = $root.vertexvis.protobuf.stream.Rectangle.decode(reader, reader.uint32());
43790
+ break;
43791
+ default:
43792
+ reader.skipType(tag & 7);
43793
+ break;
43794
+ }
43795
+ }
43796
+ return message;
43797
+ };
43798
+
43799
+ /**
43800
+ * Decodes a FrustumByRectangle message from the specified reader or buffer, length delimited.
43801
+ * @function decodeDelimited
43802
+ * @memberof vertexvis.protobuf.stream.FrustumByRectangle
43803
+ * @static
43804
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
43805
+ * @returns {vertexvis.protobuf.stream.FrustumByRectangle} FrustumByRectangle
43806
+ * @throws {Error} If the payload is not a reader or valid buffer
43807
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
43808
+ */
43809
+ FrustumByRectangle.decodeDelimited = function decodeDelimited(reader) {
43810
+ if (!(reader instanceof $Reader))
43811
+ reader = new $Reader(reader);
43812
+ return this.decode(reader, reader.uint32());
43813
+ };
43814
+
43815
+ /**
43816
+ * Verifies a FrustumByRectangle message.
43817
+ * @function verify
43818
+ * @memberof vertexvis.protobuf.stream.FrustumByRectangle
43819
+ * @static
43820
+ * @param {Object.<string,*>} message Plain object to verify
43821
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
43822
+ */
43823
+ FrustumByRectangle.verify = function verify(message) {
43824
+ if (typeof message !== "object" || message === null)
43825
+ return "object expected";
43826
+ if (message.rectangle != null && message.hasOwnProperty("rectangle")) {
43827
+ let error = $root.vertexvis.protobuf.stream.Rectangle.verify(message.rectangle);
43828
+ if (error)
43829
+ return "rectangle." + error;
43830
+ }
43831
+ return null;
43832
+ };
43833
+
43834
+ /**
43835
+ * Creates a FrustumByRectangle message from a plain object. Also converts values to their respective internal types.
43836
+ * @function fromObject
43837
+ * @memberof vertexvis.protobuf.stream.FrustumByRectangle
43838
+ * @static
43839
+ * @param {Object.<string,*>} object Plain object
43840
+ * @returns {vertexvis.protobuf.stream.FrustumByRectangle} FrustumByRectangle
43841
+ */
43842
+ FrustumByRectangle.fromObject = function fromObject(object) {
43843
+ if (object instanceof $root.vertexvis.protobuf.stream.FrustumByRectangle)
43844
+ return object;
43845
+ let message = new $root.vertexvis.protobuf.stream.FrustumByRectangle();
43846
+ if (object.rectangle != null) {
43847
+ if (typeof object.rectangle !== "object")
43848
+ throw TypeError(".vertexvis.protobuf.stream.FrustumByRectangle.rectangle: object expected");
43849
+ message.rectangle = $root.vertexvis.protobuf.stream.Rectangle.fromObject(object.rectangle);
43850
+ }
43851
+ return message;
43852
+ };
43853
+
43854
+ /**
43855
+ * Creates a plain object from a FrustumByRectangle message. Also converts values to other types if specified.
43856
+ * @function toObject
43857
+ * @memberof vertexvis.protobuf.stream.FrustumByRectangle
43858
+ * @static
43859
+ * @param {vertexvis.protobuf.stream.FrustumByRectangle} message FrustumByRectangle
43860
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
43861
+ * @returns {Object.<string,*>} Plain object
43862
+ */
43863
+ FrustumByRectangle.toObject = function toObject(message, options) {
43864
+ if (!options)
43865
+ options = {};
43866
+ let object = {};
43867
+ if (options.defaults)
43868
+ object.rectangle = null;
43869
+ if (message.rectangle != null && message.hasOwnProperty("rectangle"))
43870
+ object.rectangle = $root.vertexvis.protobuf.stream.Rectangle.toObject(message.rectangle, options);
43871
+ return object;
43872
+ };
43873
+
43874
+ /**
43875
+ * Converts this FrustumByRectangle to JSON.
43876
+ * @function toJSON
43877
+ * @memberof vertexvis.protobuf.stream.FrustumByRectangle
43878
+ * @instance
43879
+ * @returns {Object.<string,*>} JSON object
43880
+ */
43881
+ FrustumByRectangle.prototype.toJSON = function toJSON() {
43882
+ return this.constructor.toObject(this, minimal.util.toJSONOptions);
43883
+ };
43884
+
43885
+ return FrustumByRectangle;
43886
+ })();
43887
+
43888
+ stream.VolumeIntersectionQuery = (function() {
43889
+
43890
+ /**
43891
+ * Properties of a VolumeIntersectionQuery.
43892
+ * @memberof vertexvis.protobuf.stream
43893
+ * @interface IVolumeIntersectionQuery
43894
+ * @property {vertexvis.protobuf.stream.IFrustumByRectangle|null} [frustumByRectangle] VolumeIntersectionQuery frustumByRectangle
43895
+ * @property {boolean|null} [exclusive] VolumeIntersectionQuery exclusive
43896
+ * @property {vertexvis.protobuf.stream.IDimensions|null} [viewport] VolumeIntersectionQuery viewport
43897
+ */
43898
+
43899
+ /**
43900
+ * Constructs a new VolumeIntersectionQuery.
43901
+ * @memberof vertexvis.protobuf.stream
43902
+ * @classdesc Represents a VolumeIntersectionQuery.
43903
+ * @implements IVolumeIntersectionQuery
43904
+ * @constructor
43905
+ * @param {vertexvis.protobuf.stream.IVolumeIntersectionQuery=} [properties] Properties to set
43906
+ */
43907
+ function VolumeIntersectionQuery(properties) {
43908
+ if (properties)
43909
+ for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
43910
+ if (properties[keys[i]] != null)
43911
+ this[keys[i]] = properties[keys[i]];
43912
+ }
43913
+
43914
+ /**
43915
+ * VolumeIntersectionQuery frustumByRectangle.
43916
+ * @member {vertexvis.protobuf.stream.IFrustumByRectangle|null|undefined} frustumByRectangle
43917
+ * @memberof vertexvis.protobuf.stream.VolumeIntersectionQuery
43918
+ * @instance
43919
+ */
43920
+ VolumeIntersectionQuery.prototype.frustumByRectangle = null;
43921
+
43922
+ /**
43923
+ * VolumeIntersectionQuery exclusive.
43924
+ * @member {boolean} exclusive
43925
+ * @memberof vertexvis.protobuf.stream.VolumeIntersectionQuery
43926
+ * @instance
43927
+ */
43928
+ VolumeIntersectionQuery.prototype.exclusive = false;
43929
+
43930
+ /**
43931
+ * VolumeIntersectionQuery viewport.
43932
+ * @member {vertexvis.protobuf.stream.IDimensions|null|undefined} viewport
43933
+ * @memberof vertexvis.protobuf.stream.VolumeIntersectionQuery
43934
+ * @instance
43935
+ */
43936
+ VolumeIntersectionQuery.prototype.viewport = null;
43937
+
43938
+ // OneOf field names bound to virtual getters and setters
43939
+ let $oneOfFields;
43940
+
43941
+ /**
43942
+ * VolumeIntersectionQuery volume.
43943
+ * @member {"frustumByRectangle"|undefined} volume
43944
+ * @memberof vertexvis.protobuf.stream.VolumeIntersectionQuery
43945
+ * @instance
43946
+ */
43947
+ Object.defineProperty(VolumeIntersectionQuery.prototype, "volume", {
43948
+ get: $util.oneOfGetter($oneOfFields = ["frustumByRectangle"]),
43949
+ set: $util.oneOfSetter($oneOfFields)
43950
+ });
43951
+
43952
+ /**
43953
+ * Creates a new VolumeIntersectionQuery instance using the specified properties.
43954
+ * @function create
43955
+ * @memberof vertexvis.protobuf.stream.VolumeIntersectionQuery
43956
+ * @static
43957
+ * @param {vertexvis.protobuf.stream.IVolumeIntersectionQuery=} [properties] Properties to set
43958
+ * @returns {vertexvis.protobuf.stream.VolumeIntersectionQuery} VolumeIntersectionQuery instance
43959
+ */
43960
+ VolumeIntersectionQuery.create = function create(properties) {
43961
+ return new VolumeIntersectionQuery(properties);
43962
+ };
43963
+
43964
+ /**
43965
+ * Encodes the specified VolumeIntersectionQuery message. Does not implicitly {@link vertexvis.protobuf.stream.VolumeIntersectionQuery.verify|verify} messages.
43966
+ * @function encode
43967
+ * @memberof vertexvis.protobuf.stream.VolumeIntersectionQuery
43968
+ * @static
43969
+ * @param {vertexvis.protobuf.stream.IVolumeIntersectionQuery} message VolumeIntersectionQuery message or plain object to encode
43970
+ * @param {$protobuf.Writer} [writer] Writer to encode to
43971
+ * @returns {$protobuf.Writer} Writer
43972
+ */
43973
+ VolumeIntersectionQuery.encode = function encode(message, writer) {
43974
+ if (!writer)
43975
+ writer = $Writer.create();
43976
+ if (message.frustumByRectangle != null && Object.hasOwnProperty.call(message, "frustumByRectangle"))
43977
+ $root.vertexvis.protobuf.stream.FrustumByRectangle.encode(message.frustumByRectangle, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
43978
+ if (message.exclusive != null && Object.hasOwnProperty.call(message, "exclusive"))
43979
+ writer.uint32(/* id 2, wireType 0 =*/16).bool(message.exclusive);
43980
+ if (message.viewport != null && Object.hasOwnProperty.call(message, "viewport"))
43981
+ $root.vertexvis.protobuf.stream.Dimensions.encode(message.viewport, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
43982
+ return writer;
43983
+ };
43984
+
43985
+ /**
43986
+ * Encodes the specified VolumeIntersectionQuery message, length delimited. Does not implicitly {@link vertexvis.protobuf.stream.VolumeIntersectionQuery.verify|verify} messages.
43987
+ * @function encodeDelimited
43988
+ * @memberof vertexvis.protobuf.stream.VolumeIntersectionQuery
43989
+ * @static
43990
+ * @param {vertexvis.protobuf.stream.IVolumeIntersectionQuery} message VolumeIntersectionQuery message or plain object to encode
43991
+ * @param {$protobuf.Writer} [writer] Writer to encode to
43992
+ * @returns {$protobuf.Writer} Writer
43993
+ */
43994
+ VolumeIntersectionQuery.encodeDelimited = function encodeDelimited(message, writer) {
43995
+ return this.encode(message, writer).ldelim();
43996
+ };
43997
+
43998
+ /**
43999
+ * Decodes a VolumeIntersectionQuery message from the specified reader or buffer.
44000
+ * @function decode
44001
+ * @memberof vertexvis.protobuf.stream.VolumeIntersectionQuery
44002
+ * @static
44003
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
44004
+ * @param {number} [length] Message length if known beforehand
44005
+ * @returns {vertexvis.protobuf.stream.VolumeIntersectionQuery} VolumeIntersectionQuery
44006
+ * @throws {Error} If the payload is not a reader or valid buffer
44007
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
44008
+ */
44009
+ VolumeIntersectionQuery.decode = function decode(reader, length) {
44010
+ if (!(reader instanceof $Reader))
44011
+ reader = $Reader.create(reader);
44012
+ let end = length === undefined ? reader.len : reader.pos + length, message = new $root.vertexvis.protobuf.stream.VolumeIntersectionQuery();
44013
+ while (reader.pos < end) {
44014
+ let tag = reader.uint32();
44015
+ switch (tag >>> 3) {
44016
+ case 1:
44017
+ message.frustumByRectangle = $root.vertexvis.protobuf.stream.FrustumByRectangle.decode(reader, reader.uint32());
44018
+ break;
44019
+ case 2:
44020
+ message.exclusive = reader.bool();
44021
+ break;
44022
+ case 3:
44023
+ message.viewport = $root.vertexvis.protobuf.stream.Dimensions.decode(reader, reader.uint32());
44024
+ break;
44025
+ default:
44026
+ reader.skipType(tag & 7);
44027
+ break;
44028
+ }
44029
+ }
44030
+ return message;
44031
+ };
44032
+
44033
+ /**
44034
+ * Decodes a VolumeIntersectionQuery message from the specified reader or buffer, length delimited.
44035
+ * @function decodeDelimited
44036
+ * @memberof vertexvis.protobuf.stream.VolumeIntersectionQuery
44037
+ * @static
44038
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
44039
+ * @returns {vertexvis.protobuf.stream.VolumeIntersectionQuery} VolumeIntersectionQuery
44040
+ * @throws {Error} If the payload is not a reader or valid buffer
44041
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
44042
+ */
44043
+ VolumeIntersectionQuery.decodeDelimited = function decodeDelimited(reader) {
44044
+ if (!(reader instanceof $Reader))
44045
+ reader = new $Reader(reader);
44046
+ return this.decode(reader, reader.uint32());
44047
+ };
44048
+
44049
+ /**
44050
+ * Verifies a VolumeIntersectionQuery message.
44051
+ * @function verify
44052
+ * @memberof vertexvis.protobuf.stream.VolumeIntersectionQuery
44053
+ * @static
44054
+ * @param {Object.<string,*>} message Plain object to verify
44055
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
44056
+ */
44057
+ VolumeIntersectionQuery.verify = function verify(message) {
44058
+ if (typeof message !== "object" || message === null)
44059
+ return "object expected";
44060
+ if (message.frustumByRectangle != null && message.hasOwnProperty("frustumByRectangle")) {
44061
+ {
44062
+ let error = $root.vertexvis.protobuf.stream.FrustumByRectangle.verify(message.frustumByRectangle);
44063
+ if (error)
44064
+ return "frustumByRectangle." + error;
44065
+ }
44066
+ }
44067
+ if (message.exclusive != null && message.hasOwnProperty("exclusive"))
44068
+ if (typeof message.exclusive !== "boolean")
44069
+ return "exclusive: boolean expected";
44070
+ if (message.viewport != null && message.hasOwnProperty("viewport")) {
44071
+ let error = $root.vertexvis.protobuf.stream.Dimensions.verify(message.viewport);
44072
+ if (error)
44073
+ return "viewport." + error;
44074
+ }
44075
+ return null;
44076
+ };
44077
+
44078
+ /**
44079
+ * Creates a VolumeIntersectionQuery message from a plain object. Also converts values to their respective internal types.
44080
+ * @function fromObject
44081
+ * @memberof vertexvis.protobuf.stream.VolumeIntersectionQuery
44082
+ * @static
44083
+ * @param {Object.<string,*>} object Plain object
44084
+ * @returns {vertexvis.protobuf.stream.VolumeIntersectionQuery} VolumeIntersectionQuery
44085
+ */
44086
+ VolumeIntersectionQuery.fromObject = function fromObject(object) {
44087
+ if (object instanceof $root.vertexvis.protobuf.stream.VolumeIntersectionQuery)
44088
+ return object;
44089
+ let message = new $root.vertexvis.protobuf.stream.VolumeIntersectionQuery();
44090
+ if (object.frustumByRectangle != null) {
44091
+ if (typeof object.frustumByRectangle !== "object")
44092
+ throw TypeError(".vertexvis.protobuf.stream.VolumeIntersectionQuery.frustumByRectangle: object expected");
44093
+ message.frustumByRectangle = $root.vertexvis.protobuf.stream.FrustumByRectangle.fromObject(object.frustumByRectangle);
44094
+ }
44095
+ if (object.exclusive != null)
44096
+ message.exclusive = Boolean(object.exclusive);
44097
+ if (object.viewport != null) {
44098
+ if (typeof object.viewport !== "object")
44099
+ throw TypeError(".vertexvis.protobuf.stream.VolumeIntersectionQuery.viewport: object expected");
44100
+ message.viewport = $root.vertexvis.protobuf.stream.Dimensions.fromObject(object.viewport);
44101
+ }
44102
+ return message;
44103
+ };
44104
+
44105
+ /**
44106
+ * Creates a plain object from a VolumeIntersectionQuery message. Also converts values to other types if specified.
44107
+ * @function toObject
44108
+ * @memberof vertexvis.protobuf.stream.VolumeIntersectionQuery
44109
+ * @static
44110
+ * @param {vertexvis.protobuf.stream.VolumeIntersectionQuery} message VolumeIntersectionQuery
44111
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
44112
+ * @returns {Object.<string,*>} Plain object
44113
+ */
44114
+ VolumeIntersectionQuery.toObject = function toObject(message, options) {
44115
+ if (!options)
44116
+ options = {};
44117
+ let object = {};
44118
+ if (options.defaults) {
44119
+ object.exclusive = false;
44120
+ object.viewport = null;
44121
+ }
44122
+ if (message.frustumByRectangle != null && message.hasOwnProperty("frustumByRectangle")) {
44123
+ object.frustumByRectangle = $root.vertexvis.protobuf.stream.FrustumByRectangle.toObject(message.frustumByRectangle, options);
44124
+ if (options.oneofs)
44125
+ object.volume = "frustumByRectangle";
44126
+ }
44127
+ if (message.exclusive != null && message.hasOwnProperty("exclusive"))
44128
+ object.exclusive = message.exclusive;
44129
+ if (message.viewport != null && message.hasOwnProperty("viewport"))
44130
+ object.viewport = $root.vertexvis.protobuf.stream.Dimensions.toObject(message.viewport, options);
44131
+ return object;
44132
+ };
44133
+
44134
+ /**
44135
+ * Converts this VolumeIntersectionQuery to JSON.
44136
+ * @function toJSON
44137
+ * @memberof vertexvis.protobuf.stream.VolumeIntersectionQuery
44138
+ * @instance
44139
+ * @returns {Object.<string,*>} JSON object
44140
+ */
44141
+ VolumeIntersectionQuery.prototype.toJSON = function toJSON() {
44142
+ return this.constructor.toObject(this, minimal.util.toJSONOptions);
44143
+ };
44144
+
44145
+ return VolumeIntersectionQuery;
44146
+ })();
44147
+
43210
44148
  stream.SceneTreeRangeQuery = (function() {
43211
44149
 
43212
44150
  /**
@@ -45795,6 +46733,7 @@ const vertexvis = $root.vertexvis = (() => {
45795
46733
  * @property {vertexvis.protobuf.stream.ISceneTreeRangeQuery|null} [sceneTreeRange] SceneOperation sceneTreeRange
45796
46734
  * @property {vertexvis.protobuf.stream.IMetadataFilterQuery|null} [metadata] SceneOperation metadata
45797
46735
  * @property {vertexvis.protobuf.stream.IOverrideQuery|null} [override] SceneOperation override
46736
+ * @property {vertexvis.protobuf.stream.IVolumeIntersectionQuery|null} [volume] SceneOperation volume
45798
46737
  * @property {Array.<vertexvis.protobuf.stream.IOperationType>|null} [operationTypes] SceneOperation operationTypes
45799
46738
  */
45800
46739
 
@@ -45878,6 +46817,14 @@ const vertexvis = $root.vertexvis = (() => {
45878
46817
  */
45879
46818
  SceneOperation.prototype.override = null;
45880
46819
 
46820
+ /**
46821
+ * SceneOperation volume.
46822
+ * @member {vertexvis.protobuf.stream.IVolumeIntersectionQuery|null|undefined} volume
46823
+ * @memberof vertexvis.protobuf.stream.SceneOperation
46824
+ * @instance
46825
+ */
46826
+ SceneOperation.prototype.volume = null;
46827
+
45881
46828
  /**
45882
46829
  * SceneOperation operationTypes.
45883
46830
  * @member {Array.<vertexvis.protobuf.stream.IOperationType>} operationTypes
@@ -45891,12 +46838,12 @@ const vertexvis = $root.vertexvis = (() => {
45891
46838
 
45892
46839
  /**
45893
46840
  * SceneOperation query.
45894
- * @member {"item"|"or"|"and"|"all"|"point"|"sceneTreeRange"|"metadata"|"override"|undefined} query
46841
+ * @member {"item"|"or"|"and"|"all"|"point"|"sceneTreeRange"|"metadata"|"override"|"volume"|undefined} query
45895
46842
  * @memberof vertexvis.protobuf.stream.SceneOperation
45896
46843
  * @instance
45897
46844
  */
45898
46845
  Object.defineProperty(SceneOperation.prototype, "query", {
45899
- get: $util.oneOfGetter($oneOfFields = ["item", "or", "and", "all", "point", "sceneTreeRange", "metadata", "override"]),
46846
+ get: $util.oneOfGetter($oneOfFields = ["item", "or", "and", "all", "point", "sceneTreeRange", "metadata", "override", "volume"]),
45900
46847
  set: $util.oneOfSetter($oneOfFields)
45901
46848
  });
45902
46849
 
@@ -45943,6 +46890,8 @@ const vertexvis = $root.vertexvis = (() => {
45943
46890
  $root.vertexvis.protobuf.stream.MetadataFilterQuery.encode(message.metadata, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim();
45944
46891
  if (message.override != null && Object.hasOwnProperty.call(message, "override"))
45945
46892
  $root.vertexvis.protobuf.stream.OverrideQuery.encode(message.override, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim();
46893
+ if (message.volume != null && Object.hasOwnProperty.call(message, "volume"))
46894
+ $root.vertexvis.protobuf.stream.VolumeIntersectionQuery.encode(message.volume, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim();
45946
46895
  return writer;
45947
46896
  };
45948
46897
 
@@ -46001,6 +46950,9 @@ const vertexvis = $root.vertexvis = (() => {
46001
46950
  case 9:
46002
46951
  message.override = $root.vertexvis.protobuf.stream.OverrideQuery.decode(reader, reader.uint32());
46003
46952
  break;
46953
+ case 10:
46954
+ message.volume = $root.vertexvis.protobuf.stream.VolumeIntersectionQuery.decode(reader, reader.uint32());
46955
+ break;
46004
46956
  case 4:
46005
46957
  if (!(message.operationTypes && message.operationTypes.length))
46006
46958
  message.operationTypes = [];
@@ -46120,6 +47072,16 @@ const vertexvis = $root.vertexvis = (() => {
46120
47072
  return "override." + error;
46121
47073
  }
46122
47074
  }
47075
+ if (message.volume != null && message.hasOwnProperty("volume")) {
47076
+ if (properties.query === 1)
47077
+ return "query: multiple values";
47078
+ properties.query = 1;
47079
+ {
47080
+ let error = $root.vertexvis.protobuf.stream.VolumeIntersectionQuery.verify(message.volume);
47081
+ if (error)
47082
+ return "volume." + error;
47083
+ }
47084
+ }
46123
47085
  if (message.operationTypes != null && message.hasOwnProperty("operationTypes")) {
46124
47086
  if (!Array.isArray(message.operationTypes))
46125
47087
  return "operationTypes: array expected";
@@ -46184,6 +47146,11 @@ const vertexvis = $root.vertexvis = (() => {
46184
47146
  throw TypeError(".vertexvis.protobuf.stream.SceneOperation.override: object expected");
46185
47147
  message.override = $root.vertexvis.protobuf.stream.OverrideQuery.fromObject(object.override);
46186
47148
  }
47149
+ if (object.volume != null) {
47150
+ if (typeof object.volume !== "object")
47151
+ throw TypeError(".vertexvis.protobuf.stream.SceneOperation.volume: object expected");
47152
+ message.volume = $root.vertexvis.protobuf.stream.VolumeIntersectionQuery.fromObject(object.volume);
47153
+ }
46187
47154
  if (object.operationTypes) {
46188
47155
  if (!Array.isArray(object.operationTypes))
46189
47156
  throw TypeError(".vertexvis.protobuf.stream.SceneOperation.operationTypes: array expected");
@@ -46257,6 +47224,11 @@ const vertexvis = $root.vertexvis = (() => {
46257
47224
  if (options.oneofs)
46258
47225
  object.query = "override";
46259
47226
  }
47227
+ if (message.volume != null && message.hasOwnProperty("volume")) {
47228
+ object.volume = $root.vertexvis.protobuf.stream.VolumeIntersectionQuery.toObject(message.volume, options);
47229
+ if (options.oneofs)
47230
+ object.query = "volume";
47231
+ }
46260
47232
  return object;
46261
47233
  };
46262
47234