Code:
/ 4.0 / 4.0 / 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. //---------------------------------------------------------------------------- // // // 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
- DbParameterCollection.cs
- SamlAssertionKeyIdentifierClause.cs
- SizeF.cs
- oledbconnectionstring.cs
- Rss20FeedFormatter.cs
- Bold.cs
- IriParsingElement.cs
- Queue.cs
- MarshalDirectiveException.cs
- SecureEnvironment.cs
- SynchronizedCollection.cs
- GlyphRunDrawing.cs
- SchemaNamespaceManager.cs
- HandleTable.cs
- HierarchicalDataBoundControl.cs
- BaseAsyncResult.cs
- QilTypeChecker.cs
- MouseGestureConverter.cs
- ObjectDataSourceStatusEventArgs.cs
- EventHandlerService.cs
- ObjectContextServiceProvider.cs
- RepeaterItem.cs
- FileDialogCustomPlace.cs
- UpdateManifestForBrowserApplication.cs
- FixedSOMTableRow.cs
- DictionaryContent.cs
- DbConnectionStringBuilder.cs
- DataGridColumnsPage.cs
- AuthenticationSection.cs
- FileVersionInfo.cs
- Soap.cs
- XmlSerializer.cs
- SspiNegotiationTokenProviderState.cs
- HtmlTernaryTree.cs
- VirtualPathProvider.cs
- ObjectDataSourceFilteringEventArgs.cs
- UnaryNode.cs
- PageStatePersister.cs
- DataSourceView.cs
- XpsInterleavingPolicy.cs
- Listen.cs
- KeyedHashAlgorithm.cs
- IntranetCredentialPolicy.cs
- HelpFileFileNameEditor.cs
- XPathNodeInfoAtom.cs
- COM2EnumConverter.cs
- SerializableTypeCodeDomSerializer.cs
- LabelDesigner.cs
- SqlUserDefinedAggregateAttribute.cs
- WindowClosedEventArgs.cs
- WinEventHandler.cs
- cookiecontainer.cs
- PointHitTestParameters.cs
- WebFormDesignerActionService.cs
- ProvidersHelper.cs
- SqlDependency.cs
- IndexingContentUnit.cs
- SubMenuStyle.cs
- Size.cs
- Positioning.cs
- FloaterParagraph.cs
- KeyConstraint.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- _DomainName.cs
- DataColumn.cs
- StringAnimationUsingKeyFrames.cs
- HttpRequest.cs
- DataGridViewTextBoxColumn.cs
- GridSplitter.cs
- EmptyCollection.cs
- BufferAllocator.cs
- TrustLevel.cs
- TypeInfo.cs
- OleDbInfoMessageEvent.cs
- HttpChannelBindingToken.cs
- WebPartUserCapability.cs
- SchemaTypeEmitter.cs
- WebServiceData.cs
- CornerRadiusConverter.cs
- sqlcontext.cs
- PanelStyle.cs
- BehaviorService.cs
- EnumConverter.cs
- StartUpEventArgs.cs
- Terminate.cs
- IPEndPointCollection.cs
- DoubleUtil.cs
- CommonObjectSecurity.cs
- KerberosRequestorSecurityToken.cs
- TypeResolvingOptions.cs
- RangeEnumerable.cs
- IdSpace.cs
- httpserverutility.cs
- FieldAccessException.cs
- ConnectionOrientedTransportManager.cs
- SizeChangedInfo.cs
- OutKeywords.cs
- HandlerBase.cs
- CodeBlockBuilder.cs
- SecurityCriticalDataForSet.cs