public static Ceiling Transform(this Ceiling ceiling, TransformMatrix transform, double tolerance = Tolerance.Distance) { if (!transform.IsRigidTransformation(tolerance)) { BH.Engine.Reflection.Compute.RecordError("Transformation failed: only rigid body transformations are currently supported."); return(null); } Ceiling result = ceiling.ShallowClone(); result.Surface = result.Surface.ITransform(transform); result.Tiles = result.Tiles.Select(x => x.Transform(transform)).ToList(); return(result); }