Я пытаюсь сделать что-то концептуально простое, но по какой-то причине не могу понять.
Я делаю древовидную структуру (или октре в этом случае):
class Octree
{
public readonly Octree parent;
public Dictionary<Boolean[,,], Octree> children;
public readonly bool[,,] index;
}
Логический массив должен быть только [1,1,1], а дочерний словарь должен содержать только 8 пар ключ-значение.
Я могу получить 8 детей в порядке, но я не могу до конца жизни понять, как передать булеву матрицу только в [1,1,1]
Я оглянулся и не могу найти ответ, возможно, это так просто, что никто не спросил, но я бегаю кругами.
Я пытался создать "struct Index {bool x, y, z}", но я не хочу указывать их по одному за раз. Затем я попытался создать «класс Index: Boolean [1,1,1]», но вы не можете наследовать от запечатанного логического класса, и попытка ограничить его до [1,1,1], как это не будет работать, даже если вы мог. Затем я попытался создать псевдоним "using Index = System.Boolean [,,];" но это тоже не работает.
Я также хочу сделать "детей" только для чтения. Вы не должны быть в состоянии изменить используемый им словарь или ключи. Значения ключей вы можете установить только один раз, но вы не будете знать, что это такое, пока не будут созданы дочерние элементы. Я понятия не имею, возможно ли это вообще.
Любая помощь, которую вы можете мне оказать, приветствуется, спасибо.