Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Core / System / Windows / Media3D / ScaleTransform3D.cs / 1 / ScaleTransform3D.cs
//----------------------------------------------------------------------------
//
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//
//
// Description: 3D scale transformation.
//
// See spec at [....]/medialayer/Specifications/Avalon3D%20API%20Spec.mht
//
// History:
// 06/04/2003 : [....] - Created
//
//---------------------------------------------------------------------------
using System;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Media.Composition;
using MS.Internal;
using System.ComponentModel.Design.Serialization;
using System.Windows.Markup;
namespace System.Windows.Media.Media3D
{
///
/// 3D scale transform.
///
public sealed partial class ScaleTransform3D : AffineTransform3D
{
//-----------------------------------------------------
//
// Constructors
//
//-----------------------------------------------------
#region Constructors
///
/// Default constructor.
///
public ScaleTransform3D() {}
///
/// Constructor.
///
public ScaleTransform3D(Vector3D scale)
{
ScaleX = scale.X;
ScaleY = scale.Y;
ScaleZ = scale.Z;
}
///
/// Constructor.
///
public ScaleTransform3D(double scaleX, double scaleY, double scaleZ)
{
ScaleX = scaleX;
ScaleY = scaleY;
ScaleZ = scaleZ;
}
///
/// Constructor.
///
public ScaleTransform3D(Vector3D scale, Point3D center)
{
ScaleX = scale.X;
ScaleY = scale.Y;
ScaleZ = scale.Z;
CenterX = center.X;
CenterY = center.Y;
CenterZ = center.Z;
}
///
/// Constructor.
///
public ScaleTransform3D(double scaleX, double scaleY, double scaleZ, double centerX, double centerY, double centerZ)
{
ScaleX = scaleX;
ScaleY = scaleY;
ScaleZ = scaleZ;
CenterX = centerX;
CenterY = centerY;
CenterZ = centerZ;
}
#endregion Constructors
//------------------------------------------------------
//
// Public Methods
//
//-----------------------------------------------------
//------------------------------------------------------
//
// Public Properties
//
//------------------------------------------------------
#region Public Properties
///
/// Retrieves matrix representation of this transform.
///
public override Matrix3D Value
{
get
{
ReadPreamble();
Matrix3D matrix = new Matrix3D();
Append(ref matrix);
return matrix;
}
}
#endregion Public Properties
internal override void Append(ref Matrix3D matrix)
{
Vector3D scale = new Vector3D(_cachedScaleXValue, _cachedScaleYValue, _cachedScaleZValue);
if (_cachedCenterXValue == 0.0 && _cachedCenterYValue == 0.0 && _cachedCenterZValue == 0.0)
{
matrix.Scale(scale);
}
else
{
matrix.ScaleAt(scale, new Point3D(_cachedCenterXValue, _cachedCenterYValue, _cachedCenterZValue));
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ParameterElement.cs
- ReversePositionQuery.cs
- ColumnWidthChangingEvent.cs
- XmlTypeMapping.cs
- remotingproxy.cs
- TextControl.cs
- NativeMethods.cs
- ReadOnlyCollection.cs
- UnionCqlBlock.cs
- PaperSize.cs
- GenericFlowSwitchHelper.cs
- SqlError.cs
- QueryAccessibilityHelpEvent.cs
- FileIOPermission.cs
- SpecialNameAttribute.cs
- StrongNameMembershipCondition.cs
- String.cs
- VirtualDirectoryMappingCollection.cs
- MinimizableAttributeTypeConverter.cs
- IPEndPoint.cs
- ValueTable.cs
- WasEndpointConfigContainer.cs
- QilInvokeLateBound.cs
- DataGridViewCellValidatingEventArgs.cs
- RadialGradientBrush.cs
- NumericUpDownAccelerationCollection.cs
- LinqDataSourceDeleteEventArgs.cs
- OwnerDrawPropertyBag.cs
- SynchronizedDispatch.cs
- TargetPerspective.cs
- EntitySqlQueryCacheEntry.cs
- MethodRental.cs
- IndentTextWriter.cs
- XmlSchemaSimpleContentExtension.cs
- UserInitiatedNavigationPermission.cs
- EditorPartCollection.cs
- RegistryKey.cs
- ValidationHelpers.cs
- RecognizerInfo.cs
- ViewLoader.cs
- ProcessModelInfo.cs
- RichTextBox.cs
- Adorner.cs
- ObfuscationAttribute.cs
- SuppressMessageAttribute.cs
- HttpServerUtilityBase.cs
- ThreadExceptionEvent.cs
- AppSettingsExpressionBuilder.cs
- ThrowHelper.cs
- AttributeData.cs
- DataBinder.cs
- UnsafeNativeMethods.cs
- RealProxy.cs
- GroupBoxAutomationPeer.cs
- EpmContentSerializerBase.cs
- _FixedSizeReader.cs
- ThrowHelper.cs
- List.cs
- ImageList.cs
- SettingsPropertyValueCollection.cs
- Socket.cs
- AbandonedMutexException.cs
- PeerNameRecord.cs
- WebPartDescription.cs
- NativeMethods.cs
- TextEncodedRawTextWriter.cs
- DataServiceKeyAttribute.cs
- DetailsViewInsertEventArgs.cs
- ActivityBuilderXamlWriter.cs
- HMACSHA256.cs
- DbConnectionPool.cs
- SortDescriptionCollection.cs
- CompilerResults.cs
- CounterSample.cs
- CrossAppDomainChannel.cs
- PermissionSetTriple.cs
- DataGridViewControlCollection.cs
- SeekStoryboard.cs
- ObjectDataProvider.cs
- TrackingServices.cs
- SecUtil.cs
- TextPointer.cs
- DbMetaDataCollectionNames.cs
- DefaultTextStoreTextComposition.cs
- GroupBox.cs
- Int16Storage.cs
- TextBreakpoint.cs
- EntityDataSourceSelectingEventArgs.cs
- TcpPortSharing.cs
- CustomSignedXml.cs
- WebPartConnectionsConfigureVerb.cs
- SecurityPermission.cs
- InitializerFacet.cs
- BindingNavigatorDesigner.cs
- RangeValuePattern.cs
- DataTableClearEvent.cs
- PopupRootAutomationPeer.cs
- HwndSourceParameters.cs
- StylusPointPropertyInfoDefaults.cs
- RootCodeDomSerializer.cs