Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / Media3D / RotateTransform3D.cs / 1305600 / RotateTransform3D.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // // Description: 3D rotate transforms. // // See spec at http://avalon/medialayer/Specifications/Avalon3D%20API%20Spec.mht // // History: // 06/04/2003 : t-gregr - Created // //--------------------------------------------------------------------------- using System; using System.ComponentModel; 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 rotate transforms. /// public sealed partial class RotateTransform3D : AffineTransform3D { //----------------------------------------------------- // // Constructors // //----------------------------------------------------- #region Constructors ////// Default constructor. /// public RotateTransform3D() {} ////// Constructor from Rotation3D. /// /// Rotation3D. public RotateTransform3D(Rotation3D rotation) { Rotation = rotation; } ////// Constructor from Rotation3D and center point. /// /// Rotation3D. /// Center point. public RotateTransform3D(Rotation3D rotation, Point3D center) { Rotation = rotation; CenterX = center.X; CenterY = center.Y; CenterZ = center.Z; } ////// Constructor from Rotation3D and center point. /// /// Rotation3D. /// X center /// Y center /// Z center public RotateTransform3D(Rotation3D rotation, double centerX, double centerY, double centerZ) { Rotation = rotation; CenterX = centerX; CenterY = centerY; CenterZ = centerZ; } #endregion Constructors //------------------------------------------------------ // // Public Methods // //----------------------------------------------------- //------------------------------------------------------ // // Public Properties // //------------------------------------------------------ #region Public Properties ////// Retrieves matrix representing the rotation. /// public override Matrix3D Value { get { ReadPreamble(); Rotation3D rotation = _cachedRotationValue; if (rotation == null) { return Matrix3D.Identity; } Quaternion quaternion = rotation.InternalQuaternion; Point3D center = new Point3D(_cachedCenterXValue, _cachedCenterYValue, _cachedCenterZValue); return Matrix3D.CreateRotationMatrix(ref quaternion, ref center); } } #endregion Public Properties internal override void Append(ref Matrix3D matrix) { matrix = matrix * Value; } } } // 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 rotate transforms. // // See spec at http://avalon/medialayer/Specifications/Avalon3D%20API%20Spec.mht // // History: // 06/04/2003 : t-gregr - Created // //--------------------------------------------------------------------------- using System; using System.ComponentModel; 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 rotate transforms. /// public sealed partial class RotateTransform3D : AffineTransform3D { //----------------------------------------------------- // // Constructors // //----------------------------------------------------- #region Constructors ////// Default constructor. /// public RotateTransform3D() {} ////// Constructor from Rotation3D. /// /// Rotation3D. public RotateTransform3D(Rotation3D rotation) { Rotation = rotation; } ////// Constructor from Rotation3D and center point. /// /// Rotation3D. /// Center point. public RotateTransform3D(Rotation3D rotation, Point3D center) { Rotation = rotation; CenterX = center.X; CenterY = center.Y; CenterZ = center.Z; } ////// Constructor from Rotation3D and center point. /// /// Rotation3D. /// X center /// Y center /// Z center public RotateTransform3D(Rotation3D rotation, double centerX, double centerY, double centerZ) { Rotation = rotation; CenterX = centerX; CenterY = centerY; CenterZ = centerZ; } #endregion Constructors //------------------------------------------------------ // // Public Methods // //----------------------------------------------------- //------------------------------------------------------ // // Public Properties // //------------------------------------------------------ #region Public Properties ////// Retrieves matrix representing the rotation. /// public override Matrix3D Value { get { ReadPreamble(); Rotation3D rotation = _cachedRotationValue; if (rotation == null) { return Matrix3D.Identity; } Quaternion quaternion = rotation.InternalQuaternion; Point3D center = new Point3D(_cachedCenterXValue, _cachedCenterYValue, _cachedCenterZValue); return Matrix3D.CreateRotationMatrix(ref quaternion, ref center); } } #endregion Public Properties internal override void Append(ref Matrix3D matrix) { matrix = matrix * Value; } } } // 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
- ValidationSummary.cs
- FixedSOMSemanticBox.cs
- LayoutEngine.cs
- HitTestWithGeometryDrawingContextWalker.cs
- COM2PropertyDescriptor.cs
- ManualResetEventSlim.cs
- SrgsRulesCollection.cs
- XmlAttribute.cs
- ChannelRequirements.cs
- TableRow.cs
- GlobalizationSection.cs
- LogRecordSequence.cs
- Content.cs
- URLIdentityPermission.cs
- WebBrowserContainer.cs
- InteropBitmapSource.cs
- XamlBuildTaskServices.cs
- DataGridClipboardCellContent.cs
- EntityReference.cs
- LambdaCompiler.Lambda.cs
- AbstractDataSvcMapFileLoader.cs
- Axis.cs
- System.Data.OracleClient_BID.cs
- TextMarkerSource.cs
- Expression.cs
- UnsafeNativeMethods.cs
- EventMemberCodeDomSerializer.cs
- odbcmetadatafactory.cs
- ReadWriteObjectLock.cs
- MouseActionConverter.cs
- SimplePropertyEntry.cs
- AppliedDeviceFiltersDialog.cs
- RowBinding.cs
- ServiceInfoCollection.cs
- InstanceDescriptor.cs
- DialogBaseForm.cs
- ReferencedAssembly.cs
- RadialGradientBrush.cs
- ToggleButton.cs
- DrawingGroup.cs
- ThreadLocal.cs
- XmlDocument.cs
- MenuDesigner.cs
- KeyFrames.cs
- AppDomainManager.cs
- WriterOutput.cs
- TiffBitmapEncoder.cs
- TextSerializer.cs
- TransformerTypeCollection.cs
- ProtocolElementCollection.cs
- TreeNodeSelectionProcessor.cs
- Gdiplus.cs
- LocalizableAttribute.cs
- SqlBulkCopy.cs
- CloudCollection.cs
- XsltException.cs
- BindingFormattingDialog.cs
- StaticResourceExtension.cs
- PackageDigitalSignature.cs
- BooleanToVisibilityConverter.cs
- TraceContextRecord.cs
- OSFeature.cs
- ArraySortHelper.cs
- BitmapVisualManager.cs
- SmiEventSink_Default.cs
- SrgsElementFactoryCompiler.cs
- ConstraintConverter.cs
- XmlILIndex.cs
- SimplePropertyEntry.cs
- Empty.cs
- FormView.cs
- ButtonChrome.cs
- WizardPanel.cs
- OlePropertyStructs.cs
- MsmqChannelListenerBase.cs
- CreateUserWizardStep.cs
- SymbolType.cs
- InvokeMethod.cs
- DefaultParameterValueAttribute.cs
- TextBox.cs
- ExpressionConverter.cs
- IntSecurity.cs
- HtmlSelect.cs
- ReadOnlyHierarchicalDataSourceView.cs
- KeySpline.cs
- ClickablePoint.cs
- DataGridPagerStyle.cs
- FixedFlowMap.cs
- PageFunction.cs
- Line.cs
- MimeWriter.cs
- ISO2022Encoding.cs
- SystemEvents.cs
- SyndicationFeed.cs
- PersonalizableAttribute.cs
- WebPartConnectionsConfigureVerb.cs
- ProxyHelper.cs
- ResourceSet.cs
- RangeBaseAutomationPeer.cs
- Material.cs