text: "use strict";
  /**
   * Copyright (c) 2018-2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
   *
   * @author Alexander Rose <alexander.rose@weirdbyte.de>
   */
  Object.defineProperty(exports, "__esModule", { value: true });
  exports.VolumeRepresentationRegistry = void 0;
  var tslib_1 = require("tslib");
  var representation_1 = require("../representation");
  var isosurface_1 = require("./isosurface");
  var object_1 = require("../../mol-util/object");
  var slice_1 = require("./slice");
  var direct_volume_1 = require("./direct-volume");
  var VolumeRepresentationRegistry = /** @class */ (function (_super) {
      (0, tslib_1.__extends)(VolumeRepresentationRegistry, _super);
      function VolumeRepresentationRegistry() {
          var _this = _super.call(this) || this;
          (0, object_1.objectForEach)(VolumeRepresentationRegistry.BuiltIn, function (p, k) {
              if (p.name !== k)
                  throw new Error("Fix BuiltInVolumeRepresentations to have matching names. ".concat(p.name, " ").concat(k));
              _this.add(p);
          });
          return _this;
      }
      return VolumeRepresentationRegistry;
  }(representation_1.RepresentationRegistry));
  exports.VolumeRepresentationRegistry = VolumeRepresentationRegistry;
  (function (VolumeRepresentationRegistry) {
      VolumeRepresentationRegistry.BuiltIn = {
          'isosurface': isosurface_1.IsosurfaceRepresentationProvider,
          'slice': slice_1.SliceRepresentationProvider,
          'direct-volume': direct_volume_1.DirectVolumeRepresentationProvider,
      };
  })(VolumeRepresentationRegistry = exports.VolumeRepresentationRegistry || (exports.VolumeRepresentationRegistry = {}));
  exports.VolumeRepresentationRegistry = VolumeRepresentationRegistry;
  //# sourceMappingURL=registry.js.map