Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / Core / CSharp / System / Windows / Media3D / RotateTransform3D.cs / 1 / 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
- ProcessModule.cs
- COM2EnumConverter.cs
- SafeEventHandle.cs
- EasingQuaternionKeyFrame.cs
- TextBoxBaseDesigner.cs
- HostVisual.cs
- SpellCheck.cs
- DateTimeStorage.cs
- BitmapEffectCollection.cs
- PropertyTabAttribute.cs
- ModifierKeysValueSerializer.cs
- DataSet.cs
- XamlFilter.cs
- AdapterUtil.cs
- LiteralDesigner.cs
- ContextMenuStripActionList.cs
- DataRowExtensions.cs
- CapabilitiesRule.cs
- WindowsMenu.cs
- UnsafeNativeMethods.cs
- URL.cs
- EtwTrackingParticipant.cs
- TabletDevice.cs
- ConditionCollection.cs
- smtpconnection.cs
- GorillaCodec.cs
- LinqDataSourceSelectEventArgs.cs
- PerfCounterSection.cs
- OneOfScalarConst.cs
- BookmarkWorkItem.cs
- AxisAngleRotation3D.cs
- DesignSurfaceManager.cs
- _ProxyRegBlob.cs
- StorageAssociationTypeMapping.cs
- DbExpressionBuilder.cs
- SerializationSectionGroup.cs
- MarkerProperties.cs
- Function.cs
- QilTargetType.cs
- ConfigurationFileMap.cs
- TextViewBase.cs
- ServiceOperation.cs
- ImagingCache.cs
- PartialTrustHelpers.cs
- OleDbParameter.cs
- DynamicUpdateCommand.cs
- SqlColumnizer.cs
- ThreadExceptionDialog.cs
- SqlCacheDependencySection.cs
- PropertyChangedEventManager.cs
- MemberHolder.cs
- InvokePattern.cs
- Mapping.cs
- ArgumentOutOfRangeException.cs
- NamespaceDisplay.xaml.cs
- ImportedNamespaceContextItem.cs
- DataGridRowClipboardEventArgs.cs
- XmlTextEncoder.cs
- SchemaContext.cs
- ValueSerializer.cs
- CodeVariableReferenceExpression.cs
- _KerberosClient.cs
- AnonymousIdentificationModule.cs
- VirtualDirectoryMapping.cs
- BaseValidatorDesigner.cs
- RuntimeHelpers.cs
- SelectionUIHandler.cs
- OleDbInfoMessageEvent.cs
- WindowsFormsSynchronizationContext.cs
- DataServiceProcessingPipeline.cs
- Delegate.cs
- X509LogoTypeExtension.cs
- SecurityToken.cs
- XmlSerializerVersionAttribute.cs
- CompoundFileReference.cs
- SpecularMaterial.cs
- PublisherMembershipCondition.cs
- MasterPageCodeDomTreeGenerator.cs
- EndPoint.cs
- ServiceModelTimeSpanValidator.cs
- Evaluator.cs
- RequestCache.cs
- SystemTcpConnection.cs
- PagesSection.cs
- SqlExpander.cs
- RightsManagementInformation.cs
- InputReport.cs
- MobileUITypeEditor.cs
- HwndStylusInputProvider.cs
- TimerEventSubscription.cs
- Matrix.cs
- Graph.cs
- DiscoveryService.cs
- XmlDataLoader.cs
- AccessorTable.cs
- MethodToken.cs
- DetailsViewUpdatedEventArgs.cs
- SaveWorkflowAsyncResult.cs
- SeparatorAutomationPeer.cs
- ServiceCredentialsElement.cs