public void SetChild(NOctIndex index, NOctNode child) { if (!index.IsValid(DimensionalChildCapacity)) { throw new ArgumentOutOfRangeException(nameof(index)); } SetChild(index.I0, index.I1, index.I2, child); }
private NOctNode TakeChild(NOctIndex index) { return(TakeChild(index.I0, index.I1, index.I2)); }
private static NOctIndex IndexMultiply(NOctIndex index, int scaler) { return(new NOctIndex(index.I0 * scaler, index.I1 * scaler, index.I2 * scaler)); }
public NOctNode this[NOctIndex index] => _children[index.I0, index.I1, index.I2];
private static NOctIndex IndexPlus(NOctIndex l, NOctIndex r) { return(new NOctIndex(l.I0 + r.I0, l.I1 + r.I1, l.I2 + r.I2)); }