public override int GetIndex(params int[] coords) { var base_coords = ProjectCoords(coords, Slices); return(OriginalShape.GetIndex(base_coords)); }
public Normal3 SurfaceNormal(Position3 position) => OriginalShape.SurfaceNormal(position);
public Normal3 OutwardsDirection(Position3 position) => OriginalShape.OutwardsDirection(position);
public Position2 UVPosition(Position3 position) => OriginalShape.UVPosition(position);
public Position3 SurfacePosition(Random random) => OriginalShape.SurfacePosition(random);
public bool OnSurface(Position3 position, float epsilon = 0.0001F) => OriginalShape.OnSurface(position, epsilon);
public float DistanceToSurface(Position3 position) => OriginalShape.DistanceToSurface(position);
public IEnumerable <Position1> IntersectDistances(IRay ray) { return((BoundingBox as IIntersectable).Intersects(ray) ? OriginalShape.IntersectDistances(ray) : Enumerable.Empty <Position1>()); }