Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / Media3D / Matrix3DStack.cs / 1305600 / 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);
}
//------------------------------------------------------
//
// 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Stylus.cs
- HttpGetProtocolImporter.cs
- FormViewDeleteEventArgs.cs
- oledbconnectionstring.cs
- _Events.cs
- OlePropertyStructs.cs
- FormViewPageEventArgs.cs
- MetadataArtifactLoaderResource.cs
- WinFormsSpinner.cs
- HtmlPageAdapter.cs
- CharUnicodeInfo.cs
- HandlerFactoryWrapper.cs
- WMIInterop.cs
- DrawingContextFlattener.cs
- PopupEventArgs.cs
- DetailsViewModeEventArgs.cs
- TargetException.cs
- OleDbPropertySetGuid.cs
- EntityContainerAssociationSetEnd.cs
- SettingsAttributeDictionary.cs
- Types.cs
- RepeaterItemEventArgs.cs
- HttpUnhandledOperationInvoker.cs
- Stackframe.cs
- DrawingContextDrawingContextWalker.cs
- LazyTextWriterCreator.cs
- MailMessageEventArgs.cs
- LostFocusEventManager.cs
- DesignerCommandSet.cs
- TdsValueSetter.cs
- CopyNamespacesAction.cs
- ToolBarButtonClickEvent.cs
- AffineTransform3D.cs
- Object.cs
- RenderDataDrawingContext.cs
- ConfigXmlText.cs
- UserControl.cs
- DBDataPermission.cs
- ResourceSetExpression.cs
- ApplicationFileParser.cs
- MediaElement.cs
- WorkingDirectoryEditor.cs
- Evidence.cs
- DataServiceQueryOfT.cs
- ThicknessAnimationBase.cs
- HostedTransportConfigurationManager.cs
- HMACMD5.cs
- SqlLiftWhereClauses.cs
- ErrorReporting.cs
- Model3D.cs
- MergePropertyDescriptor.cs
- ApplicationBuildProvider.cs
- WS2007HttpBindingElement.cs
- StreamWriter.cs
- IndexerNameAttribute.cs
- SchemaSetCompiler.cs
- EdmItemError.cs
- BufferedGraphicsContext.cs
- CDSCollectionETWBCLProvider.cs
- COM2EnumConverter.cs
- ConnectionManagementElementCollection.cs
- RectangleConverter.cs
- Crc32.cs
- AnimationTimeline.cs
- JobInputBins.cs
- CodeConstructor.cs
- MonthCalendar.cs
- PanelStyle.cs
- SafeNativeMethods.cs
- RubberbandSelector.cs
- SyndicationContent.cs
- EntityDataSourceChangingEventArgs.cs
- FigureParagraph.cs
- OdbcException.cs
- ValidationErrorEventArgs.cs
- DefaultSection.cs
- ExtentKey.cs
- DataChangedEventManager.cs
- XmlExceptionHelper.cs
- MatrixValueSerializer.cs
- RIPEMD160Managed.cs
- ADRole.cs
- UInt64Storage.cs
- AnchorEditor.cs
- UIPropertyMetadata.cs
- WebPartAuthorizationEventArgs.cs
- WizardPanel.cs
- HostProtectionException.cs
- CharAnimationUsingKeyFrames.cs
- LogAppendAsyncResult.cs
- CssTextWriter.cs
- DataServiceQueryContinuation.cs
- TouchDevice.cs
- XmlDocumentFragment.cs
- SafeThreadHandle.cs
- XmlEntity.cs
- WebConvert.cs
- RegexGroup.cs
- PasswordRecoveryDesigner.cs
- ListViewGroupItemCollection.cs