/// <summary>
        /// Expert user tool that copies user data that has a positive
        /// CopyCount from the source object to a destination object.
        /// Generally speaking you don't need to use Copy().
        /// Simply rely on things like the copy constructors to do the right thing.
        /// </summary>
        /// <param name="source">A source object for the data.</param>
        /// <param name="destination">A destination object for the data.</param>
        public static void Copy(Runtime.CommonObject source, Runtime.CommonObject destination)
        {
            IntPtr const_source    = source.ConstPointer();
            IntPtr ptr_destination = destination.NonConstPointer();

            UnsafeNativeMethods.ON_Object_CopyUserData(const_source, ptr_destination);
        }
 /// <summary>
 /// Moves the user data.
 /// <para>See <see cref="MoveUserDataFrom"/> for more information.</para>
 /// </summary>
 /// <param name="objectToGetUserData">Object data source.</param>
 /// <param name="id">Target.</param>
 /// <param name="append">If the data should be appended or replaced.</param>
 public static void MoveUserDataTo(Runtime.CommonObject objectToGetUserData, Guid id, bool append)
 {
     if (id != Guid.Empty)
     {
         IntPtr const_ptr_onobject = objectToGetUserData.ConstPointer();
         UnsafeNativeMethods.ON_UserDataHolder_MoveUserDataTo(id, const_ptr_onobject, append);
     }
 }
        /// <summary>
        /// Moves the user data from objectWithUserData to a temporary data storage
        /// identifierd by the return Guid.  When MoveUserDataFrom returns, the
        /// objectWithUserData will not have any user data.
        /// </summary>
        /// <param name="objectWithUserData">Object with user data attached.</param>
        /// <returns>
        /// Guid identifier for storage of UserData that is held in a temporary list
        /// by this class. This function should be used in conjunction with MoveUserDataTo
        /// to transfer the user data to a different object.
        /// Returns Guid.Empty if there was no user data to transfer.
        /// </returns>
        public static Guid MoveUserDataFrom(Runtime.CommonObject objectWithUserData)
        {
            Guid   id = Guid.NewGuid();
            IntPtr const_ptr_onobject = objectWithUserData.ConstPointer();

            if (UnsafeNativeMethods.ON_UserDataHolder_MoveUserDataFrom(id, const_ptr_onobject))
            {
                return(id);
            }
            return(Guid.Empty);
        }
Example #4
0
 internal UserDataList(Runtime.CommonObject parent)
 {
     m_parent = parent;
 }
 internal UserDataList(Runtime.CommonObject parent)
 {
   m_parent = parent;
 }