DiffuseMaterial.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Core / System / Windows / Media3D / DiffuseMaterial.cs / 1 / DiffuseMaterial.cs

                            //---------------------------------------------------------------------------- 
//
// 
//    Copyright (C) Microsoft Corporation.  All rights reserved.
//  
//
// 
// Description: 3D diffuse material 
//
//              See spec at *** FILL IN LATER *** 
//
// History:
//  06/25/2003 : [....] - Created
//  01/28/2005 : [....] - Renamed BrushMaterial to DiffuseMaterial 
//
//--------------------------------------------------------------------------- 
 
using System;
using System.Diagnostics; 
using System.Runtime.InteropServices;
using System.Windows.Markup;
using System.Windows.Media;
using System.Windows.Media.Animation; 
using System.Windows.Media.Composition;
using MS.Internal; 
 
namespace System.Windows.Media.Media3D
{ 
    /// 
    ///     DiffuseMaterial allows a 2d brush to be used on a 3d model that has been lit
    ///     with a diffuse lighting model
    ///  
    public sealed partial class DiffuseMaterial : Material
    { 
        //----------------------------------------------------- 
        //
        //  Constructors 
        //
        //-----------------------------------------------------

        #region Constructors 

        ///  
        ///     Constructs a DiffuseMaterial 
        /// 
        public DiffuseMaterial() 
        {

        }
 
        /// 
        ///     Constructor that sets the Brush property to "brush" 
        ///  
        /// The new material's brush
        public DiffuseMaterial(Brush brush) 
        {
            Brush = brush;
        }
 
        #endregion Constructors
 
        internal override bool PreCompute() 
        {
            _requiresRealization = Material.PreCompute(Brush); 

            return _requiresRealization;
        }
 
        internal override void UpdateRealizations(
            RealizationContext ctx, 
            ref Rect bounds 
            )
        { 
            Debug.Assert(_requiresRealization);

            Material.UpdateRealizations(Brush, ctx, ref bounds);
        } 

        internal override bool RequiresRealization 
        { 
            get
            { 
                return _requiresRealization;
            }
        }
 
        //------------------------------------------------------
        // 
        //  Private Fields 
        //
        //----------------------------------------------------- 

        #region Private Fields

        private bool _requiresRealization = false; 

        #endregion Private Fields 
    } 
}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.


                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK