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