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
- Command.cs
- MetabaseReader.cs
- WorkItem.cs
- WinFormsUtils.cs
- ObjectManager.cs
- OutKeywords.cs
- OwnerDrawPropertyBag.cs
- SqlDataSourceQuery.cs
- MetadataElement.cs
- XhtmlConformanceSection.cs
- EntitySetBaseCollection.cs
- LambdaCompiler.Logical.cs
- DataColumnChangeEvent.cs
- EastAsianLunisolarCalendar.cs
- ExpandedWrapper.cs
- XmlSchemaImport.cs
- HtmlContainerControl.cs
- RoutedEventArgs.cs
- TemplateNameScope.cs
- XmlAnyAttributeAttribute.cs
- ClientCultureInfo.cs
- GridViewAutoFormat.cs
- AnyReturnReader.cs
- ApplicationInterop.cs
- ComNativeDescriptor.cs
- HttpListenerRequest.cs
- PointCollectionValueSerializer.cs
- CustomCategoryAttribute.cs
- DataBoundLiteralControl.cs
- FSWPathEditor.cs
- ViewManager.cs
- MeshGeometry3D.cs
- FileReader.cs
- AppDomainInfo.cs
- ServiceOperationParameter.cs
- TopClause.cs
- VisualStyleRenderer.cs
- CompensateDesigner.cs
- HttpProfileGroupBase.cs
- XmlAutoDetectWriter.cs
- Component.cs
- X509ChainElement.cs
- GZipDecoder.cs
- IteratorFilter.cs
- BitmapData.cs
- NegationPusher.cs
- HotSpotCollection.cs
- MULTI_QI.cs
- BooleanAnimationBase.cs
- PropertyPathWorker.cs
- IntPtr.cs
- DataContractJsonSerializer.cs
- PrintDocument.cs
- GroupQuery.cs
- DataControlFieldTypeEditor.cs
- DtdParser.cs
- PropertyPath.cs
- SoapReflectionImporter.cs
- Utils.cs
- EditorAttribute.cs
- TrackBar.cs
- SHA1CryptoServiceProvider.cs
- GridViewCommandEventArgs.cs
- AttributeQuery.cs
- DataMemberFieldEditor.cs
- ConfigXmlWhitespace.cs
- HtmlContainerControl.cs
- InitializationEventAttribute.cs
- HighlightVisual.cs
- SerializerProvider.cs
- MetadataArtifactLoaderResource.cs
- CodeNamespace.cs
- ResizingMessageFilter.cs
- SwitchAttribute.cs
- ConnectionManagementElement.cs
- GuidelineSet.cs
- X509Certificate2.cs
- TextContainerChangeEventArgs.cs
- HttpHeaderCollection.cs
- documentsequencetextcontainer.cs
- GreenMethods.cs
- ReferenceList.cs
- TraceFilter.cs
- Source.cs
- Label.cs
- PathParser.cs
- XmlToDatasetMap.cs
- CollectionViewGroupInternal.cs
- MsmqAppDomainProtocolHandler.cs
- ActivatedMessageQueue.cs
- PropertyIDSet.cs
- AdornerHitTestResult.cs
- SqlException.cs
- SourceChangedEventArgs.cs
- AttachedAnnotationChangedEventArgs.cs
- UIElementHelper.cs
- NavigationExpr.cs
- NTAccount.cs
- InputBindingCollection.cs
- HttpAsyncResult.cs