Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- SiteMapNodeItem.cs
- PropertyPathConverter.cs
- ManipulationCompletedEventArgs.cs
- StrongName.cs
- Sentence.cs
- Popup.cs
- SystemThemeKey.cs
- TreeNodeStyleCollection.cs
- Label.cs
- PageClientProxyGenerator.cs
- DbConnectionStringCommon.cs
- PropertySegmentSerializer.cs
- OdbcException.cs
- NamespaceCollection.cs
- DataSourceProvider.cs
- DecimalKeyFrameCollection.cs
- Classification.cs
- InkCanvasSelectionAdorner.cs
- EventSinkHelperWriter.cs
- OptimalTextSource.cs
- EntityDataSourceSelectingEventArgs.cs
- XmlEntityReference.cs
- CngKeyBlobFormat.cs
- SchemaImporterExtensionElement.cs
- CodeComment.cs
- StreamInfo.cs
- DataGridViewSelectedCellCollection.cs
- ConfigViewGenerator.cs
- UrlMapping.cs
- SystemMulticastIPAddressInformation.cs
- LinqDataSourceSelectEventArgs.cs
- ParallelTimeline.cs
- IUnknownConstantAttribute.cs
- JsonDeserializer.cs
- BrowserDefinition.cs
- FragmentQueryKB.cs
- Html32TextWriter.cs
- BuildProviderAppliesToAttribute.cs
- HtmlTableRowCollection.cs
- DataControlButton.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- UnsafeNativeMethods.cs
- PointF.cs
- EmptyEnumerator.cs
- UrlAuthFailedErrorFormatter.cs
- ElementAtQueryOperator.cs
- PeerTransportElement.cs
- IdnMapping.cs
- EditBehavior.cs
- SqlCharStream.cs
- AspNetCacheProfileAttribute.cs
- ResetableIterator.cs
- BufferedStream.cs
- DeviceSpecificChoice.cs
- CryptoApi.cs
- MsmqIntegrationInputMessage.cs
- HtmlElementEventArgs.cs
- DecoratedNameAttribute.cs
- InkCanvasInnerCanvas.cs
- CancellationToken.cs
- RunInstallerAttribute.cs
- Soap.cs
- _HelperAsyncResults.cs
- LostFocusEventManager.cs
- Attribute.cs
- SelectedGridItemChangedEvent.cs
- ParentUndoUnit.cs
- StatusBarItem.cs
- SmiGettersStream.cs
- SortQueryOperator.cs
- TreeNodeBinding.cs
- GridViewColumnHeader.cs
- HWStack.cs
- RequestUriProcessor.cs
- OrderedDictionary.cs
- Registration.cs
- PermissionSetTriple.cs
- DataFieldCollectionEditor.cs
- FacetValues.cs
- StateManagedCollection.cs
- XXXOnTypeBuilderInstantiation.cs
- MediaPlayer.cs
- ConcurrencyBehavior.cs
- DataGridRowEventArgs.cs
- Literal.cs
- PackWebResponse.cs
- ModelItem.cs
- RowToParametersTransformer.cs
- XPathBuilder.cs
- OciHandle.cs
- TransactionContext.cs
- CodeAttachEventStatement.cs
- TemplateBindingExtension.cs
- XpsSerializerWriter.cs
- Emitter.cs
- XhtmlBasicCalendarAdapter.cs
- DBBindings.cs
- Label.cs
- Vector3DCollection.cs
- baseshape.cs