Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Core / System / Windows / Media3D / Matrix3DStack.cs / 1 / Matrix3DStack.cs
//----------------------------------------------------------------------------
//
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// Description: This is a super simple Matrix3DStack implementation.
// MatrixStack (2D) is optimized to avoid boxig and copying
// of structs. This was written as a stop-gap to address
// a bug until we can use CodeGen here.
//
// History:
// 1/19/2004 : [....] - Created
//
//---------------------------------------------------------------------------
using System;
using System.Collections;
using System.Collections.Generic;
namespace System.Windows.Media.Media3D
{
//
internal class Matrix3DStack
{
//-----------------------------------------------------
//
// Constructors
//
//-----------------------------------------------------
//------------------------------------------------------
//
// Public Methods
//
//-----------------------------------------------------
public void Clear()
{
_stack.Clear();
}
public Matrix3D Pop()
{
Matrix3D top = Top;
_stack.RemoveAt(_stack.Count - 1);
return top;
}
///
/// Empty => [matrix]
/// tail | [top] => tail | [top] | [matrix * top]
///
public void Push(Matrix3D matrix)
{
if (_stack.Count > 0)
{
matrix.Append(Top);
}
_stack.Add(matrix);
}
///
/// stack = stack | [matrix]
///
public void PushWithoutAccumulating(Matrix3D matrix)
{
_stack.Add(matrix);
}
//------------------------------------------------------
//
// Public Properties
//
//------------------------------------------------------
public int Count
{
get
{
return _stack.Count;
}
}
public bool IsEmpty
{
get
{
return (_stack.Count == 0);
}
}
public Matrix3D Top
{
get
{
return _stack[_stack.Count - 1];
}
}
//-----------------------------------------------------
//
// Public Events
//
//------------------------------------------------------
//-----------------------------------------------------
//
// Private Fields
//
//-----------------------------------------------------
#region Private Fields
private readonly List _stack = new List();
#endregion Private Fields
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TypeSystemProvider.cs
- PeerContact.cs
- WS2007HttpBindingCollectionElement.cs
- _HeaderInfoTable.cs
- RelationshipEndMember.cs
- DelegateSerializationHolder.cs
- IISMapPath.cs
- PartDesigner.cs
- SynchronizedDispatch.cs
- RequestQueryProcessor.cs
- ClientScriptManagerWrapper.cs
- WebColorConverter.cs
- DbConnectionStringCommon.cs
- XhtmlBasicValidatorAdapter.cs
- FloatUtil.cs
- ValidatingReaderNodeData.cs
- ToolStripButton.cs
- XmlSerializableReader.cs
- PropertyCollection.cs
- PathData.cs
- XmlDictionary.cs
- sqlinternaltransaction.cs
- Viewport2DVisual3D.cs
- XsltInput.cs
- BinaryObjectWriter.cs
- PathFigure.cs
- CodeAttributeDeclarationCollection.cs
- GestureRecognitionResult.cs
- GridItem.cs
- ReflectionTypeLoadException.cs
- CngKeyBlobFormat.cs
- EncoderParameters.cs
- XmlSchemaResource.cs
- PeerPresenceInfo.cs
- NotCondition.cs
- TimeStampChecker.cs
- FlowDocumentFormatter.cs
- MobileCategoryAttribute.cs
- ControllableStoryboardAction.cs
- CustomPopupPlacement.cs
- TableLayoutSettings.cs
- UIElementAutomationPeer.cs
- SystemColorTracker.cs
- EvidenceTypeDescriptor.cs
- DATA_BLOB.cs
- CodeAttributeArgumentCollection.cs
- SchemaSetCompiler.cs
- Activity.cs
- FlagsAttribute.cs
- WebPartVerb.cs
- DbgUtil.cs
- ExpressionBuilder.cs
- WebPartsSection.cs
- EditorBrowsableAttribute.cs
- GreenMethods.cs
- RealProxy.cs
- PieceNameHelper.cs
- DesignerActionItem.cs
- GraphicsPath.cs
- NotifyCollectionChangedEventArgs.cs
- Trace.cs
- ShaderRenderModeValidation.cs
- HeaderCollection.cs
- EntitySetBaseCollection.cs
- WindowsEditBoxRange.cs
- CompilerCollection.cs
- BitmapDecoder.cs
- ExceptionUtil.cs
- BmpBitmapDecoder.cs
- Latin1Encoding.cs
- RuntimeConfigLKG.cs
- ThemeDirectoryCompiler.cs
- PagesSection.cs
- CancellationHandlerDesigner.cs
- ColumnMapCopier.cs
- ColorConverter.cs
- XmlProcessingInstruction.cs
- ConstructorBuilder.cs
- Rotation3DAnimationBase.cs
- Renderer.cs
- StatusBarItem.cs
- CollectionTraceRecord.cs
- __ConsoleStream.cs
- FontSourceCollection.cs
- DataGridViewCellStateChangedEventArgs.cs
- BCLDebug.cs
- CodeChecksumPragma.cs
- UpdatePanelTriggerCollection.cs
- SafeEventLogWriteHandle.cs
- TextSimpleMarkerProperties.cs
- MarkupCompiler.cs
- ThrowHelper.cs
- AttachInfo.cs
- documentsequencetextview.cs
- DBSchemaTable.cs
- DataGridHeaderBorder.cs
- DataSourceIDConverter.cs
- EncoderBestFitFallback.cs
- Globals.cs
- __Error.cs