Light.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / Core / CSharp / System / Windows / Media3D / Light.cs / 1 / Light.cs

                            //---------------------------------------------------------------------------- 
//
// 
//    Copyright (C) Microsoft Corporation.  All rights reserved.
//  
//
// 
// Description: 3D light implementation. 
//
//              See spec at http://avalon/medialayer/Specifications/Avalon3D%20API%20Spec.mht 
//
// History:
//  06/18/2003 : t-gregr - Created
// 
//---------------------------------------------------------------------------
 
using System; 
using System.Diagnostics;
using System.Windows.Media; 
using MS.Internal.Media3D;

namespace System.Windows.Media.Media3D
{ 
    /// 
    ///     Lights are Model3D's.  These include Ambient, Positional, Directional and Spot lights. 
    ///     They're very much modeled on the Direct3D lighting set, but have the additional 
    ///     property of being part of a modeling hierarchy, and are thus subject to coordinate
    ///     space transformations. 
    /// 
    public abstract partial class Light : Model3D
    {
        //----------------------------------------------------- 
        //
        //  Constructors 
        // 
        //-----------------------------------------------------
 
        #region Constructors

        // Prevent 3rd parties from extending this abstract base class.
        internal Light() {} 

        #endregion Constructors 
 
        //------------------------------------------------------
        // 
        //  Public Methods
        //
        //-----------------------------------------------------
 
        //------------------------------------------------------
        // 
        //  Public Properties 
        //
        //------------------------------------------------------ 

        #region Public Properties

        internal override void RayHitTestCore(RayHitTestParameters rayParams) 
        {
            // Lights are considered to be part of the model graph, but they 
            // have no geometry and therefore can not be hit tested. 
        }
 
        internal override Rect3D CalculateSubgraphBoundsInnerSpace()
        {
            // Lights are considered to be part of the model graph, but they
            // have no geometry and therefore no bounds. 

            return Rect3D.Empty; 
        } 

        #endregion Public Properties 

        #region Internal Methods

        internal override void PreCompute() 
        {
            Debug.Assert(_flags[DirtyForPreComputeFlag]); 
 
            _flags[DirtyForPreComputeFlag] = false;
        } 

        /// 
        /// Realization support. Lights do not care for realizations.
        ///  
        internal override void MarkVisibleRealizations(
            RealizationContext rc) 
        { 
            Debug.Assert(_flags[RequiresRealizationFlag]);
 
            return;
        }

        #endregion 
    }
} 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
//---------------------------------------------------------------------------- 
//
// 
//    Copyright (C) Microsoft Corporation.  All rights reserved.
//  
//
// 
// Description: 3D light implementation. 
//
//              See spec at http://avalon/medialayer/Specifications/Avalon3D%20API%20Spec.mht 
//
// History:
//  06/18/2003 : t-gregr - Created
// 
//---------------------------------------------------------------------------
 
using System; 
using System.Diagnostics;
using System.Windows.Media; 
using MS.Internal.Media3D;

namespace System.Windows.Media.Media3D
{ 
    /// 
    ///     Lights are Model3D's.  These include Ambient, Positional, Directional and Spot lights. 
    ///     They're very much modeled on the Direct3D lighting set, but have the additional 
    ///     property of being part of a modeling hierarchy, and are thus subject to coordinate
    ///     space transformations. 
    /// 
    public abstract partial class Light : Model3D
    {
        //----------------------------------------------------- 
        //
        //  Constructors 
        // 
        //-----------------------------------------------------
 
        #region Constructors

        // Prevent 3rd parties from extending this abstract base class.
        internal Light() {} 

        #endregion Constructors 
 
        //------------------------------------------------------
        // 
        //  Public Methods
        //
        //-----------------------------------------------------
 
        //------------------------------------------------------
        // 
        //  Public Properties 
        //
        //------------------------------------------------------ 

        #region Public Properties

        internal override void RayHitTestCore(RayHitTestParameters rayParams) 
        {
            // Lights are considered to be part of the model graph, but they 
            // have no geometry and therefore can not be hit tested. 
        }
 
        internal override Rect3D CalculateSubgraphBoundsInnerSpace()
        {
            // Lights are considered to be part of the model graph, but they
            // have no geometry and therefore no bounds. 

            return Rect3D.Empty; 
        } 

        #endregion Public Properties 

        #region Internal Methods

        internal override void PreCompute() 
        {
            Debug.Assert(_flags[DirtyForPreComputeFlag]); 
 
            _flags[DirtyForPreComputeFlag] = false;
        } 

        /// 
        /// Realization support. Lights do not care for realizations.
        ///  
        internal override void MarkVisibleRealizations(
            RealizationContext rc) 
        { 
            Debug.Assert(_flags[RequiresRealizationFlag]);
 
            return;
        }

        #endregion 
    }
} 

// 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