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
- DataGridViewRowStateChangedEventArgs.cs
- NamedPipeTransportBindingElement.cs
- Bitmap.cs
- TemplatedMailWebEventProvider.cs
- XamlSerializerUtil.cs
- QilFunction.cs
- RectAnimationBase.cs
- QilXmlWriter.cs
- ClientBuildManagerCallback.cs
- ModuleElement.cs
- ImageSourceConverter.cs
- StoreItemCollection.Loader.cs
- SqlClientWrapperSmiStream.cs
- VariantWrapper.cs
- UpdateCompiler.cs
- SynchronizationContext.cs
- NumberFormatter.cs
- FontCollection.cs
- ByteAnimation.cs
- SchemaNames.cs
- dataobject.cs
- datacache.cs
- WindowsSlider.cs
- PropertyGrid.cs
- AttributeEmitter.cs
- XmlSchemaIdentityConstraint.cs
- DictionaryChange.cs
- COM2EnumConverter.cs
- TreePrinter.cs
- Accessible.cs
- RectAnimation.cs
- GridViewRowPresenterBase.cs
- BitmapSourceSafeMILHandle.cs
- CodeSubDirectory.cs
- DrawListViewSubItemEventArgs.cs
- RandomNumberGenerator.cs
- PersonalizationStateInfo.cs
- ContentPlaceHolder.cs
- WebPartConnection.cs
- ResourcePart.cs
- SourceFilter.cs
- MultiByteCodec.cs
- NetworkInformationException.cs
- XmlWhitespace.cs
- FieldDescriptor.cs
- PropertyIDSet.cs
- QilInvokeLateBound.cs
- PromptBuilder.cs
- AccessibleObject.cs
- HebrewCalendar.cs
- ConfigurationStrings.cs
- TreeNodeCollection.cs
- TypedColumnHandler.cs
- SafeHandle.cs
- UDPClient.cs
- RoleServiceManager.cs
- WizardStepBase.cs
- EntityStoreSchemaGenerator.cs
- CodeSnippetExpression.cs
- DataSvcMapFileSerializer.cs
- IconConverter.cs
- DurableOperationContext.cs
- ScriptServiceAttribute.cs
- Point3DValueSerializer.cs
- ArithmeticException.cs
- WebPartsSection.cs
- WebHostScriptMappingsInstallComponent.cs
- PropertyGeneratedEventArgs.cs
- DesignTimeXamlWriter.cs
- StorageEntityContainerMapping.cs
- XsltException.cs
- XPathBuilder.cs
- WebPartHelpVerb.cs
- ArrayList.cs
- TextEditorDragDrop.cs
- UnsafeCollabNativeMethods.cs
- ControlCollection.cs
- TraceSwitch.cs
- TextTreeObjectNode.cs
- BindingsCollection.cs
- TableHeaderCell.cs
- ProjectionAnalyzer.cs
- SourceItem.cs
- ErrorReporting.cs
- GregorianCalendarHelper.cs
- WebSysDescriptionAttribute.cs
- ListenerElementsCollection.cs
- PointLight.cs
- TemplatePropertyEntry.cs
- dbdatarecord.cs
- SerializationException.cs
- PlatformCulture.cs
- Console.cs
- RMPermissions.cs
- RadioButtonPopupAdapter.cs
- PerformanceCounterManager.cs
- StoreConnection.cs
- RequestCachePolicyConverter.cs
- DataGridItemCollection.cs
- SortDescription.cs