File: Core\CSharp\MS\Internal\IVisual3DContainer.cs
Project: wpf\src\PresentationCore.csproj (PresentationCore)
//---------------------------------------------------------------------------
//
// <copyright file="IVisual3DContainer.cs" company="Microsoft">
//    Copyright (c) Microsoft Corporation.  All rights reserved.
// </copyright>
//
// History:  
//  4/12/2006 : kurtb - Created
//
//---------------------------------------------------------------------------
 
using MS.Internal;
using System;
using System.Collections.Generic;
using System.Windows;
using System.Windows.Media.Media3D;
 
namespace MS.Internal
{
    /// <summary>
    ///     IVisual3DContainer is the common interface for objects that contain 3D children
    /// </summary>
    internal interface IVisual3DContainer
    {
        //------------------------------------------------------
        //
        //  Internal Methods
        //
        //------------------------------------------------------
        
        #region Internal Methods
        
        /// <summary>
        ///     Notifies the element that you have added a child.  The Element
        ///     will update the parent pointer, fire the correct events, etc.
        /// </summary>
        void AddChild(Visual3D child);
 
        /// <summary>
        ///     Notifies the element that you have removed a child.  The Element
        ///     will update the parent pointer, fire the correct events, etc.
        /// </summary>
        void RemoveChild(Visual3D child);
 
        /// <summary>
        ///     Gets the number of Visual3D children that the IVisual3DContainer
        ///     contains.
        /// </summary>
        int GetChildrenCount();
 
        /// <summary>
        ///     Gets the index children of the IVisual3DContainer
        /// </summary>
        Visual3D GetChild(int index);
 
        /// <summary>
        /// Applies various API checks
        /// </summary>
        void VerifyAPIReadOnly();
 
        /// <summary>
        /// Applies various API checks
        /// </summary>
        void VerifyAPIReadOnly(DependencyObject other);
 
        /// <summary>
        /// Applies various API checks for read/write
        /// </summary>
        void VerifyAPIReadWrite();
 
        /// <summary>
        /// Applies various API checks
        /// </summary>
        void VerifyAPIReadWrite(DependencyObject other);
        
        #endregion Internal Methods
    }
}