/// <summary>
 /// Returns the 4x4 transforms for a Rhino object.
 /// </summary>
 /// <param name="id">The Rhino object id.</param>
 /// <returns>An array of transforms if successful, otherwise an empty array.</returns>
 public static Transform[] Transforms(Guid id)
 {
     using (var arr = new SmpleArrayXform())
     {
         var ptr = arr.NonConstPointer();
         var rc  = UnsafeNativeMethods.ON_XformTable_Transforms(id, ptr);
         return(rc > 0
   ? arr.ToArray()
   : new Transform[0]);
     }
 }
        /// <summary>
        /// Updates a Rhino object, that already exists in the transformation table, with a new set of 4x4 transforms.
        /// </summary>
        /// <param name="id">The Rhino object id.</param>
        /// <param name="transforms">The 4x4 transforms.</param>
        /// <returns>true if successful, false otherwise.</returns>
        public static bool Update(Guid id, IEnumerable <Transform> transforms)
        {
            using (var arr = new SmpleArrayXform())
            {
                foreach (var xf in transforms)
                {
                    arr.Append(xf);
                }

                var ptr = arr.ConstPointer();
                return(UnsafeNativeMethods.ON_XformTable_Update(id, ptr));
            }
        }