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