Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / wpf / src / Core / CSharp / System / Windows / Media3D / ScaleTransform3D.cs / 1 / 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. //---------------------------------------------------------------------------- // //// 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
- Selection.cs
- DynamicPropertyReader.cs
- Processor.cs
- TraceHwndHost.cs
- compensatingcollection.cs
- ActivityMarkupSerializer.cs
- SiteOfOriginContainer.cs
- OleDbRowUpdatingEvent.cs
- COSERVERINFO.cs
- ThreadNeutralSemaphore.cs
- PrimitiveCodeDomSerializer.cs
- Stacktrace.cs
- MessageQueueException.cs
- ToggleButtonAutomationPeer.cs
- ObjectContext.cs
- ObjectQueryExecutionPlan.cs
- MetabaseSettings.cs
- SqlDataSourceStatusEventArgs.cs
- PowerStatus.cs
- EventLogEntryCollection.cs
- CodeDomConfigurationHandler.cs
- SamlAdvice.cs
- BamlLocalizableResourceKey.cs
- LayeredChannelFactory.cs
- TypeExtension.cs
- Form.cs
- ContextMenuService.cs
- QueryAccessibilityHelpEvent.cs
- CapacityStreamGeometryContext.cs
- MappingModelBuildProvider.cs
- WorkflowElementDialogWindow.xaml.cs
- MergeLocalizationDirectives.cs
- SoapTypeAttribute.cs
- OpenFileDialog.cs
- ToolTip.cs
- WpfXamlMember.cs
- IgnoreSectionHandler.cs
- DatatypeImplementation.cs
- ResizeGrip.cs
- ToolStripSplitStackLayout.cs
- SuppressIldasmAttribute.cs
- ViewCellSlot.cs
- BitmapEffectState.cs
- Root.cs
- MonthCalendar.cs
- WebPartDescription.cs
- XmlCodeExporter.cs
- TrailingSpaceComparer.cs
- AccessDataSourceView.cs
- HtmlInputHidden.cs
- SetterBase.cs
- TextContainerHelper.cs
- WaitHandleCannotBeOpenedException.cs
- HttpCachePolicyBase.cs
- RadioButton.cs
- ComponentResourceKeyConverter.cs
- LambdaCompiler.Address.cs
- HtmlWindow.cs
- CellTreeNodeVisitors.cs
- BevelBitmapEffect.cs
- HttpApplication.cs
- ObservableCollection.cs
- HtmlUtf8RawTextWriter.cs
- XmlSchemaAll.cs
- XmlSchemaSimpleContent.cs
- SqlAggregateChecker.cs
- StdValidatorsAndConverters.cs
- CompositeKey.cs
- NeutralResourcesLanguageAttribute.cs
- XmlSchemaSimpleTypeList.cs
- ContentValidator.cs
- AdjustableArrowCap.cs
- SafeLocalMemHandle.cs
- DaylightTime.cs
- PositiveTimeSpanValidator.cs
- SchemaInfo.cs
- ConditionBrowserDialog.cs
- FixedSchema.cs
- ExpressionBindingsDialog.cs
- DateTimeOffset.cs
- BamlTreeNode.cs
- ObjectResult.cs
- SqlWebEventProvider.cs
- SqlTriggerAttribute.cs
- odbcmetadatacollectionnames.cs
- PropertyPath.cs
- Condition.cs
- FtpCachePolicyElement.cs
- HttpModuleCollection.cs
- DataBindingHandlerAttribute.cs
- TypeElement.cs
- GeneralTransformGroup.cs
- NamespaceList.cs
- WindowProviderWrapper.cs
- DataRelationPropertyDescriptor.cs
- AsyncPostBackTrigger.cs
- CompareValidator.cs
- LocatorGroup.cs
- OAVariantLib.cs
- SqlBuffer.cs