Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Core / CSharp / 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. // // // 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SelectManyQueryOperator.cs
- UTF7Encoding.cs
- CatalogPartChrome.cs
- XPathDocumentNavigator.cs
- SkewTransform.cs
- ManualResetEvent.cs
- DummyDataSource.cs
- SqlMethodTransformer.cs
- FormClosedEvent.cs
- EventProviderClassic.cs
- Recipient.cs
- FormDesigner.cs
- MetafileHeader.cs
- PathData.cs
- OpCopier.cs
- RegexWorker.cs
- Int32CAMarshaler.cs
- EntityDataSourceDesignerHelper.cs
- OrderedDictionary.cs
- SystemIcmpV4Statistics.cs
- XslNumber.cs
- RelAssertionDirectKeyIdentifierClause.cs
- SystemEvents.cs
- Parser.cs
- ClientSettingsStore.cs
- XmlComplianceUtil.cs
- GetPageCompletedEventArgs.cs
- QueryCacheManager.cs
- SettingsBindableAttribute.cs
- MarkupWriter.cs
- Equal.cs
- HandlerFactoryWrapper.cs
- DisplayInformation.cs
- Perspective.cs
- WebBrowserSiteBase.cs
- TypeReference.cs
- TextCharacters.cs
- MemberAssignmentAnalysis.cs
- ExpressionValueEditor.cs
- DispatchChannelSink.cs
- CollectionAdapters.cs
- ColorInterpolationModeValidation.cs
- RuntimeHandles.cs
- FormViewInsertedEventArgs.cs
- ViewgenContext.cs
- BitmapEffectDrawingContextWalker.cs
- XmlDataImplementation.cs
- EventProxy.cs
- XhtmlStyleClass.cs
- DrawingCollection.cs
- WebServiceMethodData.cs
- SystemKeyConverter.cs
- FixedTextBuilder.cs
- DataAdapter.cs
- ObjectViewListener.cs
- Queue.cs
- StateBag.cs
- Attachment.cs
- MutexSecurity.cs
- OptionalColumn.cs
- Annotation.cs
- UIElementIsland.cs
- DataControlFieldCell.cs
- DataTablePropertyDescriptor.cs
- ServerIdentity.cs
- XamlTypeMapper.cs
- XmlSortKeyAccumulator.cs
- FileVersion.cs
- RelationshipType.cs
- ListView.cs
- EnvironmentPermission.cs
- WsdlExporter.cs
- X509Certificate.cs
- ConfigurationSectionGroupCollection.cs
- TraceXPathNavigator.cs
- linebase.cs
- TextBreakpoint.cs
- CommandHelpers.cs
- SqlDataRecord.cs
- EventSetter.cs
- Matrix3DStack.cs
- FontNamesConverter.cs
- ActivityDesigner.cs
- IERequestCache.cs
- lengthconverter.cs
- Positioning.cs
- UrlPath.cs
- Expressions.cs
- AudioException.cs
- TogglePattern.cs
- PolyBezierSegment.cs
- ContextMarshalException.cs
- DependencyPropertyKind.cs
- VariantWrapper.cs
- Int64Storage.cs
- ListSortDescriptionCollection.cs
- CryptoProvider.cs
- InvalidAsynchronousStateException.cs
- BulletDecorator.cs
- ExpressionsCollectionEditor.cs