Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- RtfToXamlReader.cs
- Filter.cs
- ValidationRuleCollection.cs
- PagesChangedEventArgs.cs
- UpdatePanelTrigger.cs
- RequestUriProcessor.cs
- RoutedEventArgs.cs
- StackOverflowException.cs
- WebPartManager.cs
- TypefaceCollection.cs
- ReadOnlyTernaryTree.cs
- EntityProviderServices.cs
- TcpSocketManager.cs
- ConfigurationLocation.cs
- ApplicationSettingsBase.cs
- ObjectListDesigner.cs
- FileAuthorizationModule.cs
- TextEditor.cs
- StateManagedCollection.cs
- TypeConverter.cs
- TransformProviderWrapper.cs
- BitArray.cs
- ValueUnavailableException.cs
- SrgsGrammar.cs
- DayRenderEvent.cs
- UInt32.cs
- ExpressionPrefixAttribute.cs
- DataKey.cs
- CustomErrorsSection.cs
- MulticastIPAddressInformationCollection.cs
- DirtyTextRange.cs
- ScriptServiceAttribute.cs
- DebugHandleTracker.cs
- BitmapMetadataEnumerator.cs
- UrlMappingCollection.cs
- SqlDataSourceCommandParser.cs
- AsnEncodedData.cs
- IdentityNotMappedException.cs
- OpenTypeCommon.cs
- SchemaCollectionCompiler.cs
- MemberAccessException.cs
- AsyncSerializedWorker.cs
- TypeBuilder.cs
- SqlRowUpdatedEvent.cs
- ClientSideProviderDescription.cs
- WeakReferenceList.cs
- BlockCollection.cs
- DataSourceSelectArguments.cs
- Decimal.cs
- QueryCacheEntry.cs
- HttpFileCollection.cs
- StringComparer.cs
- BitmapEncoder.cs
- AutoGeneratedFieldProperties.cs
- Attributes.cs
- XmlAttribute.cs
- XamlFilter.cs
- ElementAction.cs
- XmlSchema.cs
- TypeUnloadedException.cs
- IndexingContentUnit.cs
- ThumbAutomationPeer.cs
- CharacterMetrics.cs
- WpfXamlLoader.cs
- WebPartTransformer.cs
- DataDocumentXPathNavigator.cs
- IPAddress.cs
- LinearKeyFrames.cs
- ParallelQuery.cs
- FixedSOMTableCell.cs
- SqlTopReducer.cs
- WhitespaceRuleLookup.cs
- ProcessModule.cs
- SecurityProtocolCorrelationState.cs
- DataGrid.cs
- PointLight.cs
- IPEndPointCollection.cs
- NetworkInformationPermission.cs
- InputScope.cs
- SQlBooleanStorage.cs
- DataGridViewRowsAddedEventArgs.cs
- SQLByte.cs
- ListViewGroupConverter.cs
- ContextBase.cs
- DefaultHttpHandler.cs
- BinaryMethodMessage.cs
- _Semaphore.cs
- DataGridViewToolTip.cs
- Bitmap.cs
- LogicalTreeHelper.cs
- SuspendDesigner.cs
- DateTimeSerializationSection.cs
- ButtonChrome.cs
- CharacterShapingProperties.cs
- NumberFunctions.cs
- RegexWriter.cs
- CheckBoxFlatAdapter.cs
- SessionPageStateSection.cs
- RootBuilder.cs
- CreateUserWizard.cs