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
- DispatcherEventArgs.cs
- RowParagraph.cs
- Paragraph.cs
- TreeNodeBindingCollection.cs
- FlowchartDesigner.xaml.cs
- RectangleGeometry.cs
- MetadataSerializer.cs
- Keyboard.cs
- EntityDataSourceChangedEventArgs.cs
- PtsPage.cs
- SqlXml.cs
- Button.cs
- PrinterUnitConvert.cs
- DataException.cs
- NumberFunctions.cs
- DataServiceConfiguration.cs
- PathParser.cs
- LoginUtil.cs
- SQLGuid.cs
- IPAddress.cs
- DbReferenceCollection.cs
- oledbmetadatacollectionnames.cs
- TypeConverters.cs
- _Connection.cs
- EntityType.cs
- CodeTypeDelegate.cs
- PersonalizableTypeEntry.cs
- XappLauncher.cs
- APCustomTypeDescriptor.cs
- RegexWriter.cs
- AudienceUriMode.cs
- Translator.cs
- ListMarkerLine.cs
- ValidationRule.cs
- InfoCardKeyedHashAlgorithm.cs
- ProcessModelInfo.cs
- ColorBlend.cs
- NamespaceMapping.cs
- ObjectListDesigner.cs
- ContextStaticAttribute.cs
- SamlNameIdentifierClaimResource.cs
- ParamArrayAttribute.cs
- ModelVisual3D.cs
- XDeferredAxisSource.cs
- CharEnumerator.cs
- DataTrigger.cs
- OutArgument.cs
- Stream.cs
- DocumentGrid.cs
- DataGridItemCollection.cs
- KeyPullup.cs
- MimeXmlReflector.cs
- XNodeNavigator.cs
- ByteAnimationBase.cs
- Encoder.cs
- FormatterServices.cs
- WindowsSysHeader.cs
- HitTestFilterBehavior.cs
- OleDbWrapper.cs
- OleDbErrorCollection.cs
- HitTestParameters3D.cs
- CodeBlockBuilder.cs
- XmlDocumentFragment.cs
- RowTypePropertyElement.cs
- InkCanvasInnerCanvas.cs
- Matrix.cs
- ServiceDescriptionImporter.cs
- Validator.cs
- ComponentChangingEvent.cs
- DataListItem.cs
- SqlConnectionPoolGroupProviderInfo.cs
- ShapingEngine.cs
- TextRangeAdaptor.cs
- ContentOperations.cs
- CodeDefaultValueExpression.cs
- DispatcherOperation.cs
- StylusPointPropertyInfo.cs
- ListBase.cs
- AppPool.cs
- QuinticEase.cs
- UrlMappingCollection.cs
- PermissionAttributes.cs
- EntityDataSourceSelectedEventArgs.cs
- JavaScriptSerializer.cs
- Rect3D.cs
- XmlWriterTraceListener.cs
- FileEnumerator.cs
- ControlFilterExpression.cs
- XmlTextAttribute.cs
- SemaphoreFullException.cs
- Size3DValueSerializer.cs
- SamlAdvice.cs
- SocketPermission.cs
- HttpErrorTraceRecord.cs
- CaseStatement.cs
- WsdlInspector.cs
- FontConverter.cs
- XMLSchema.cs
- FixedFlowMap.cs
- SqlConnectionHelper.cs