/// <summary> /// Evaluates a single step in the refinementloop. /// </summary> protected virtual void RefinementStep(int x, int y, int z, int looplevel) { Vec3 origin = new Vec3(x * _step, y * _step, z * _step) + halfstepValues[looplevel]; if (_useLogging) { _log.NewCube(origin, halfstepValues[looplevel].X); } if (Math.Abs(_obj.Distance(origin)) < lazyValue[looplevel]) { if (looplevel == 0) { PostStep(x, y, z, origin); } else { RefinementLoop(x, y, z, looplevel - 1); } } }
public override float Distance(Vec3 p) { return(_complex.Distance(p)); }