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
- OuterGlowBitmapEffect.cs
- ClientTargetSection.cs
- DataGridViewCellEventArgs.cs
- WebControlToolBoxItem.cs
- EventMetadata.cs
- FixedPageAutomationPeer.cs
- TemplatedMailWebEventProvider.cs
- ImageMetadata.cs
- PropertySourceInfo.cs
- TextSelectionHighlightLayer.cs
- GeneralTransformGroup.cs
- DATA_BLOB.cs
- PersonalizationEntry.cs
- ErrorHandler.cs
- SafeEventHandle.cs
- ListSourceHelper.cs
- ServiceXNameTypeConverter.cs
- UdpDiscoveryEndpoint.cs
- WsiProfilesElementCollection.cs
- EncodedStreamFactory.cs
- CopyCodeAction.cs
- CodeMethodReturnStatement.cs
- SystemSounds.cs
- ComboBoxDesigner.cs
- KeyEvent.cs
- TextServicesHost.cs
- CodeNamespaceImport.cs
- BaseCollection.cs
- DataColumnPropertyDescriptor.cs
- ListInitExpression.cs
- ZipFileInfo.cs
- BufferBuilder.cs
- DispatchProxy.cs
- NavigationExpr.cs
- ResourcesBuildProvider.cs
- SafeProcessHandle.cs
- PersonalizableAttribute.cs
- SortKey.cs
- JulianCalendar.cs
- TextEmbeddedObject.cs
- InvokePattern.cs
- OrCondition.cs
- CommonObjectSecurity.cs
- UIElementParagraph.cs
- dataSvcMapFileLoader.cs
- _NetworkingPerfCounters.cs
- MessageQueueAccessControlEntry.cs
- WindowsContainer.cs
- RuntimeComponentFilter.cs
- XsltException.cs
- Quaternion.cs
- DataGridViewCellMouseEventArgs.cs
- StickyNoteHelper.cs
- SamlAssertionKeyIdentifierClause.cs
- ParallelQuery.cs
- XsltConvert.cs
- BmpBitmapEncoder.cs
- TableRowGroup.cs
- WebRequestModulesSection.cs
- CodeLinePragma.cs
- DataViewSetting.cs
- DynamicValueConverter.cs
- PropertyMetadata.cs
- SHA512Managed.cs
- DeflateStreamAsyncResult.cs
- DispatchWrapper.cs
- MarshalByRefObject.cs
- Activity.cs
- WindowPatternIdentifiers.cs
- ServerReliableChannelBinder.cs
- DBProviderConfigurationHandler.cs
- RangeValidator.cs
- WebPartMinimizeVerb.cs
- HuffmanTree.cs
- CopyAction.cs
- ImageUrlEditor.cs
- RPIdentityRequirement.cs
- SortFieldComparer.cs
- PenThreadWorker.cs
- RightsManagementEncryptedStream.cs
- BamlBinaryReader.cs
- DefaultTextStoreTextComposition.cs
- AVElementHelper.cs
- Icon.cs
- FontClient.cs
- XmlLanguage.cs
- ActionFrame.cs
- MessageFault.cs
- FlowDocumentReaderAutomationPeer.cs
- MessageSmuggler.cs
- CallbackWrapper.cs
- FrugalMap.cs
- PolicyLevel.cs
- DataGridSortCommandEventArgs.cs
- NegatedConstant.cs
- CopyCodeAction.cs
- WpfPayload.cs
- FontCollection.cs
- contentDescriptor.cs
- ConfigXmlSignificantWhitespace.cs