""" @generated by mypy-protobuf. Do not edit manually! isort:skip_file Copyright 2010-2025 Google LLC Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. """ import builtins import collections.abc import google.protobuf.descriptor import google.protobuf.internal.containers import google.protobuf.message import sys import typing if sys.version_info >= (3, 10): import typing as typing_extensions else: import typing_extensions DESCRIPTOR: google.protobuf.descriptor.FileDescriptor @typing.final class MultipleDimensionsBinPackingShape(google.protobuf.message.Message): """A Multiple Dimension BinPacking problem. It supports the following file format: - 2bp: see http://or.dei.unibo.it/library/two-dimensional-bin-packing-problem The generated problems have the following characteristics: You have identical boxes with n dimensions. The size of one box is stored in the field box_shape(). You need to fit all items into the minimum number of boxes. Each item has the same number of dimensions and one or more possible shapes (this usually means that you can rotate the item). Each item must not overlap (in n dimensions) with any other item. The shape of one item. each edge is parallel to one axis of a dimension. One shape cannot be rotated, the item itself will contain multiple rotated shapes. """ DESCRIPTOR: google.protobuf.descriptor.Descriptor DIMENSIONS_FIELD_NUMBER: builtins.int @property def dimensions(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ... def __init__( self, *, dimensions: collections.abc.Iterable[builtins.int] | None = ..., ) -> None: ... _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["dimensions", b"dimensions"] def ClearField(self, field_name: _ClearFieldArgType) -> None: ... Global___MultipleDimensionsBinPackingShape: typing_extensions.TypeAlias = MultipleDimensionsBinPackingShape @typing.final class MultipleDimensionsBinPackingItem(google.protobuf.message.Message): """Items with multiple shapes often means that they can be rotated.""" DESCRIPTOR: google.protobuf.descriptor.Descriptor SHAPES_FIELD_NUMBER: builtins.int VALUE_FIELD_NUMBER: builtins.int value: builtins.int """The value of the item (useful when solving the problem as a knapsack).""" @property def shapes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___MultipleDimensionsBinPackingShape]: """All available shapes of the item.""" def __init__( self, *, shapes: collections.abc.Iterable[Global___MultipleDimensionsBinPackingShape] | None = ..., value: builtins.int = ..., ) -> None: ... _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["shapes", b"shapes", "value", b"value"] def ClearField(self, field_name: _ClearFieldArgType) -> None: ... Global___MultipleDimensionsBinPackingItem: typing_extensions.TypeAlias = MultipleDimensionsBinPackingItem @typing.final class MultipleDimensionsBinPackingProblem(google.protobuf.message.Message): """The full problem: the enclosing box and the list of items.""" DESCRIPTOR: google.protobuf.descriptor.Descriptor BOX_SHAPE_FIELD_NUMBER: builtins.int ITEMS_FIELD_NUMBER: builtins.int @property def box_shape(self) -> Global___MultipleDimensionsBinPackingShape: """The enclosing shape.""" @property def items(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___MultipleDimensionsBinPackingItem]: """All available items of the problem.""" def __init__( self, *, box_shape: Global___MultipleDimensionsBinPackingShape | None = ..., items: collections.abc.Iterable[Global___MultipleDimensionsBinPackingItem] | None = ..., ) -> None: ... _HasFieldArgType: typing_extensions.TypeAlias = typing.Literal["box_shape", b"box_shape"] def HasField(self, field_name: _HasFieldArgType) -> builtins.bool: ... _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["box_shape", b"box_shape", "items", b"items"] def ClearField(self, field_name: _ClearFieldArgType) -> None: ... Global___MultipleDimensionsBinPackingProblem: typing_extensions.TypeAlias = MultipleDimensionsBinPackingProblem