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
- HtmlListAdapter.cs
- BitmapCacheBrush.cs
- AccessDataSource.cs
- Propagator.JoinPropagator.cs
- ListViewCommandEventArgs.cs
- ConnectionString.cs
- WebResourceUtil.cs
- SaveFileDialog.cs
- DragEvent.cs
- CodeGenerator.cs
- ProviderConnectionPointCollection.cs
- HandleCollector.cs
- SafeNativeMethodsMilCoreApi.cs
- CodeBlockBuilder.cs
- CodeDelegateInvokeExpression.cs
- ReceiveSecurityHeaderEntry.cs
- SqlBulkCopyColumnMappingCollection.cs
- CodeVariableReferenceExpression.cs
- Signature.cs
- CryptoConfig.cs
- SafeSecurityHandles.cs
- TemplateBindingExpressionConverter.cs
- ScrollBar.cs
- RoleGroup.cs
- InputManager.cs
- SqlMultiplexer.cs
- SharedPersonalizationStateInfo.cs
- SQLInt64.cs
- UnsafeNativeMethods.cs
- PictureBox.cs
- CollectionViewProxy.cs
- TextElementEnumerator.cs
- ExitEventArgs.cs
- ModifierKeysValueSerializer.cs
- MsmqEncryptionAlgorithm.cs
- HandleTable.cs
- XmlNotation.cs
- ObjectDataSource.cs
- ViewBox.cs
- BinaryObjectInfo.cs
- DataColumnCollection.cs
- Brush.cs
- TimelineCollection.cs
- ProtectedConfiguration.cs
- StateMachineSubscription.cs
- SystemException.cs
- FusionWrap.cs
- TryCatchDesigner.xaml.cs
- ContractNamespaceAttribute.cs
- ResourceManager.cs
- x509store.cs
- Currency.cs
- DocumentSequence.cs
- ParameterReplacerVisitor.cs
- Compiler.cs
- ColorConvertedBitmap.cs
- OrderedDictionary.cs
- NavigationEventArgs.cs
- ObservableCollectionDefaultValueFactory.cs
- SoapIgnoreAttribute.cs
- CacheChildrenQuery.cs
- EncryptedPackageFilter.cs
- ReflectEventDescriptor.cs
- DataGridViewColumnDesignTimeVisibleAttribute.cs
- ResourceContainer.cs
- ButtonField.cs
- mda.cs
- ProviderMetadata.cs
- XmlSchemaGroupRef.cs
- SqlWriter.cs
- AutoScrollExpandMessageFilter.cs
- XmlCustomFormatter.cs
- CaseCqlBlock.cs
- UserControl.cs
- AdapterDictionary.cs
- SystemEvents.cs
- RegistrationServices.cs
- WebPartConnectVerb.cs
- Lease.cs
- EventRouteFactory.cs
- OdbcCommand.cs
- DataGridViewRowEventArgs.cs
- MarshalByValueComponent.cs
- ExecutedRoutedEventArgs.cs
- SmtpClient.cs
- Function.cs
- TextShapeableCharacters.cs
- Filter.cs
- DbCommandTree.cs
- XmlFormatExtensionAttribute.cs
- CompileXomlTask.cs
- DesignSurface.cs
- MatrixTransform.cs
- HtmlControlPersistable.cs
- ConfigurationValue.cs
- PointF.cs
- InheritanceAttribute.cs
- OleDbDataAdapter.cs
- RenderData.cs
- ConnectionStringSettingsCollection.cs