Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / Media3D / ScaleTransform3D.cs / 1305600 / ScaleTransform3D.cs
//----------------------------------------------------------------------------
//
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//
//
// Description: 3D scale transformation.
//
// See spec at http://avalon/medialayer/Specifications/Avalon3D%20API%20Spec.mht
//
// History:
// 06/04/2003 : t-gregr - 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
- XpsFilter.cs
- TrackBarRenderer.cs
- BitmapMetadata.cs
- HttpRequest.cs
- PropertyRef.cs
- XPathCompileException.cs
- TraceSection.cs
- Style.cs
- UniqueEventHelper.cs
- SoapHeader.cs
- FixedSOMTableRow.cs
- HandledEventArgs.cs
- ReadOnlyDataSource.cs
- PartialCachingAttribute.cs
- ObjectStorage.cs
- SubstitutionDesigner.cs
- DataGridItemAttachedStorage.cs
- columnmapfactory.cs
- TextAction.cs
- ConnectionManagementSection.cs
- COM2IDispatchConverter.cs
- RegionIterator.cs
- DoubleCollectionConverter.cs
- Intellisense.cs
- FunctionNode.cs
- CompModSwitches.cs
- CodeVariableReferenceExpression.cs
- ActivityExecutionContextCollection.cs
- NodeLabelEditEvent.cs
- BaseDataList.cs
- DesignerContextDescriptor.cs
- HTTPNotFoundHandler.cs
- NamespaceQuery.cs
- RetrieveVirtualItemEventArgs.cs
- Style.cs
- Point3D.cs
- DocobjHost.cs
- CustomTrackingQuery.cs
- XDeferredAxisSource.cs
- ChangeNode.cs
- AxHost.cs
- RectKeyFrameCollection.cs
- LambdaCompiler.ControlFlow.cs
- EFColumnProvider.cs
- GroupPartitionExpr.cs
- XmlDeclaration.cs
- SQLString.cs
- BlurBitmapEffect.cs
- Literal.cs
- DeliveryStrategy.cs
- ShaperBuffers.cs
- ParameterBuilder.cs
- HttpMethodConstraint.cs
- DrawingGroup.cs
- PrivacyNoticeBindingElementImporter.cs
- ResourceExpressionBuilder.cs
- DataControlPagerLinkButton.cs
- Compiler.cs
- ScrollBarAutomationPeer.cs
- WindowsButton.cs
- BitmapDecoder.cs
- HwndHostAutomationPeer.cs
- FaultDescription.cs
- EncodingTable.cs
- ProfileEventArgs.cs
- GlyphCache.cs
- DataGridViewCellPaintingEventArgs.cs
- DetailsView.cs
- ApplicationInfo.cs
- TypedTableGenerator.cs
- MembershipSection.cs
- PrimitiveXmlSerializers.cs
- PriorityQueue.cs
- SizeValueSerializer.cs
- OutputBuffer.cs
- WorkflowDesigner.cs
- MembershipSection.cs
- ContentPlaceHolder.cs
- SqlProcedureAttribute.cs
- DataTransferEventArgs.cs
- ObjectRef.cs
- DataObjectCopyingEventArgs.cs
- SelectionRange.cs
- ToolStripDesignerUtils.cs
- BoundField.cs
- AutoResetEvent.cs
- MessageQueueTransaction.cs
- DefaultValueMapping.cs
- SocketInformation.cs
- SymbolPair.cs
- EllipticalNodeOperations.cs
- HtmlInputCheckBox.cs
- AffineTransform3D.cs
- WebPartDisplayMode.cs
- xmlglyphRunInfo.cs
- TableRowGroup.cs
- SqlGenerator.cs
- ListControlActionList.cs
- IMembershipProvider.cs
- WebConfigurationManager.cs