Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Core / System / Windows / Media3D / Transform3D.cs / 3 / Transform3D.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // // Description: 3D transform implementation. // // See spec at [....]/medialayer/Specifications/Avalon3D%20API%20Spec.mht // // History: // 06/04/2003 : [....] - Created // //--------------------------------------------------------------------------- using MS.Internal.Media3D; using MS.Internal.PresentationCore; using System; using System.Diagnostics; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Media.Composition; namespace System.Windows.Media.Media3D { ////// 3D transformation. /// [Localizability(LocalizationCategory.None, Readability = Readability.Unreadable)] // cannot be read & localized as string public abstract partial class Transform3D : GeneralTransform3D { //----------------------------------------------------- // // Constructors // //----------------------------------------------------- #region Constructors // Prevent 3rd parties from extending this abstract base class. internal Transform3D() {} #endregion Constructors //------------------------------------------------------ // // Public Methods // //----------------------------------------------------- #region Public Methods ////// Transforms the given point. /// /// Point to transform. ///Transformed point. public new Point3D Transform(Point3D point) { // this function is included due to forward compatability reasons return base.Transform(point); } ////// Transforms the given vector. /// /// Vector to transform. ///Transformed vector. public Vector3D Transform(Vector3D vector) { return Value.Transform(vector); } ////// Transforms the given point. /// /// Point to transform. ///Transformed point. public Point4D Transform(Point4D point) { return Value.Transform(point); } ////// Transforms the given list of points. /// /// List of points. public void Transform(Point3D[] points) { Value.Transform(points); } ////// Transforms the given list of vectors. /// /// List of vectors. public void Transform(Vector3D[] vectors) { Value.Transform(vectors); } ////// Transforms the given list of points. /// /// List of points. public void Transform(Point4D[] points) { Value.Transform(points); } ////// Transform a point /// /// Input point /// Output point ///True if the point was transformed successfuly, false otherwise public override bool TryTransform(Point3D inPoint, out Point3D result) { result = Value.Transform(inPoint); return true; } ////// Transforms the bounding box to the smallest axis aligned bounding box /// that contains all the points in the original bounding box /// /// Bounding box ///The transformed bounding box public override Rect3D TransformBounds(Rect3D rect) { return M3DUtil.ComputeTransformedAxisAlignedBoundingBox(ref rect, this); } ////// Returns the inverse transform if it has an inverse, null otherwise /// public override GeneralTransform3D Inverse { get { ReadPreamble(); Matrix3D matrix = Value; if (!matrix.HasInverse) { return null; } matrix.Invert(); return new MatrixTransform3D(matrix); } } ////// Returns a best effort affine transform /// internal override Transform3D AffineTransform { [FriendAccessAllowed] // Built into Core, also used by Framework. get { return this; } } #endregion Public Methods //------------------------------------------------------ // // Public Properties // //------------------------------------------------------ #region Public Properties ////// Identity transformation. /// public static Transform3D Identity { get { // Make sure identity matrix is initialized. if (s_identity == null) { MatrixTransform3D identity = new MatrixTransform3D(); identity.Freeze(); s_identity = identity; } return s_identity; } } ////// Determines whether the matrix is affine. /// public abstract bool IsAffine {get;} ////// Return the current transformation value. /// public abstract Matrix3D Value { get; } #endregion Public Properties internal abstract void Append(ref Matrix3D matrix); //----------------------------------------------------- // // Private Fields // //------------------------------------------------------ #region Private Fields private static Transform3D s_identity; #endregion Private Fields } } // 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
- TcpChannelHelper.cs
- Choices.cs
- Deflater.cs
- EnumValAlphaComparer.cs
- SamlAssertion.cs
- DbFunctionCommandTree.cs
- Button.cs
- StringUtil.cs
- SplitterEvent.cs
- QueryModel.cs
- FileDialog_Vista.cs
- GroupBoxRenderer.cs
- DataAdapter.cs
- UIElement.cs
- AssociatedControlConverter.cs
- DataGridState.cs
- TextContainerHelper.cs
- ProfileServiceManager.cs
- BamlResourceSerializer.cs
- DropDownButton.cs
- DefaultCommandExtensionCallback.cs
- HttpException.cs
- RootProfilePropertySettingsCollection.cs
- FontStyleConverter.cs
- AstNode.cs
- HttpRawResponse.cs
- BoundField.cs
- ProtocolReflector.cs
- SqlDuplicator.cs
- DBCommandBuilder.cs
- SchemaComplexType.cs
- SwitchExpression.cs
- RenderingBiasValidation.cs
- Membership.cs
- QueryPageSettingsEventArgs.cs
- Cell.cs
- StackSpiller.cs
- RadioButtonList.cs
- FlowDocumentPage.cs
- PropertyAccessVisitor.cs
- TCEAdapterGenerator.cs
- CookielessData.cs
- HandlerFactoryWrapper.cs
- HttpProfileGroupBase.cs
- SettingsSection.cs
- Serializer.cs
- BinHexEncoder.cs
- ManagementScope.cs
- GZipObjectSerializer.cs
- WindowsPrincipal.cs
- PageDeviceFont.cs
- PrimitiveDataContract.cs
- Root.cs
- CollectionViewSource.cs
- httpstaticobjectscollection.cs
- ClientApiGenerator.cs
- Timer.cs
- HtmlShimManager.cs
- FormViewModeEventArgs.cs
- EncodingStreamWrapper.cs
- CallbackHandler.cs
- RegexCapture.cs
- RelatedImageListAttribute.cs
- TimeManager.cs
- WebPartAddingEventArgs.cs
- StateDesigner.CommentLayoutGlyph.cs
- EncoderBestFitFallback.cs
- MailHeaderInfo.cs
- AccessorTable.cs
- Int32Rect.cs
- ZipIOCentralDirectoryFileHeader.cs
- ComboBox.cs
- LinkUtilities.cs
- MetabaseServerConfig.cs
- AddInStore.cs
- PlatformCulture.cs
- Image.cs
- WSDualHttpSecurity.cs
- FacetValueContainer.cs
- SchemaManager.cs
- XmlDataSourceView.cs
- ProfileInfo.cs
- Int32CollectionConverter.cs
- BmpBitmapDecoder.cs
- VirtualPath.cs
- ActivityExecutor.cs
- SignalGate.cs
- SimpleType.cs
- FrameworkElementAutomationPeer.cs
- StatusBarDrawItemEvent.cs
- EdmItemError.cs
- ContextQuery.cs
- FloaterBaseParagraph.cs
- XmlNavigatorStack.cs
- EventToken.cs
- BuildTopDownAttribute.cs
- Binding.cs
- OwnerDrawPropertyBag.cs
- IntAverageAggregationOperator.cs
- GeneralTransform3DGroup.cs