Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / MS / Internal / Media3D / GeneralTransform3DTo2DTo3D.cs / 1305600 / GeneralTransform3DTo2DTo3D.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // // Description: Declaration of the GeneralTransform3DTo2DTo3D class. // //--------------------------------------------------------------------------- using MS.Internal; using System; using System.Collections; using System.ComponentModel; using System.ComponentModel.Design.Serialization; using System.Diagnostics; using System.Globalization; using System.Reflection; using System.Runtime.InteropServices; using System.Security.Permissions; using System.Windows; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Media.Composition; using System.Windows.Markup; using System.Windows.Media.Media3D; using MS.Internal.PresentationCore; namespace MS.Internal.Media3D { ////// GeneralTransform3DTo2DTo3D class provides services to transform points from 3D to 2D to 3D /// internal class GeneralTransform3DTo2DTo3D : GeneralTransform3D { internal GeneralTransform3DTo2DTo3D() { } internal GeneralTransform3DTo2DTo3D(GeneralTransform3DTo2D transform3DTo2D, GeneralTransform2DTo3D transform2DTo3D) { Debug.Assert(transform3DTo2D != null && transform2DTo3D != null); _transform3DTo2D = (GeneralTransform3DTo2D)transform3DTo2D.GetAsFrozen(); _transform2DTo3D = (GeneralTransform2DTo3D)transform2DTo3D.GetAsFrozen(); } ////// 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) { Point intermediate2DPoint = new Point(); result = new Point3D(); if (_transform3DTo2D == null || !_transform3DTo2D.TryTransform(inPoint, out intermediate2DPoint)) { return false; } if (_transform2DTo3D == null || !_transform2DTo3D.TryTransform(intermediate2DPoint, out result)) { return false; } return true; } ////// Returns the inverse transform if it has an inverse, null otherwise. /// In this case we can only transform in one direction due to the ray being created /// so the inverse is null. /// public override GeneralTransform3D Inverse { get { return null; } } ////// Returns a best effort affine transform /// internal override Transform3D AffineTransform { [FriendAccessAllowed] // Built into Core, also used by Framework. get { return null; } } ////// 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) { throw new NotImplementedException(); } ////// Implementation of ///Freezable.CreateInstanceCore . ///The new Freezable. protected override Freezable CreateInstanceCore() { return new GeneralTransform3DTo2DTo3D(); } ////// Implementation of /// protected override void CloneCore(Freezable sourceFreezable) { GeneralTransform3DTo2DTo3D transform = (GeneralTransform3DTo2DTo3D)sourceFreezable; base.CloneCore(sourceFreezable); CopyCommon(transform); } ///Freezable.CloneCore . ////// Implementation of /// protected override void CloneCurrentValueCore(Freezable sourceFreezable) { GeneralTransform3DTo2DTo3D transform = (GeneralTransform3DTo2DTo3D)sourceFreezable; base.CloneCurrentValueCore(sourceFreezable); CopyCommon(transform); } ///Freezable.CloneCurrentValueCore . ////// Implementation of /// protected override void GetAsFrozenCore(Freezable sourceFreezable) { GeneralTransform3DTo2DTo3D transform = (GeneralTransform3DTo2DTo3D)sourceFreezable; base.GetAsFrozenCore(sourceFreezable); CopyCommon(transform); } ///Freezable.GetAsFrozenCore . ////// Implementation of /// protected override void GetCurrentValueAsFrozenCore(Freezable sourceFreezable) { GeneralTransform3DTo2DTo3D transform = (GeneralTransform3DTo2DTo3D)sourceFreezable; base.GetCurrentValueAsFrozenCore(sourceFreezable); CopyCommon(transform); } ///Freezable.GetCurrentValueAsFrozenCore . ////// Clones values that do not have corresponding DPs /// /// private void CopyCommon(GeneralTransform3DTo2DTo3D transform) { _transform3DTo2D = transform._transform3DTo2D; _transform2DTo3D = transform._transform2DTo3D; } GeneralTransform3DTo2D _transform3DTo2D; GeneralTransform2DTo3D _transform2DTo3D; } } // 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
- XsltContext.cs
- ISAPIWorkerRequest.cs
- DesignBindingValueUIHandler.cs
- ConstraintStruct.cs
- InvokeProviderWrapper.cs
- LineInfo.cs
- QilTernary.cs
- DrawingContextFlattener.cs
- WinFormsUtils.cs
- WindowsRegion.cs
- HttpListener.cs
- OptimizedTemplateContentHelper.cs
- InternalException.cs
- ComponentManagerBroker.cs
- Models.cs
- XmlBinaryReader.cs
- SqlDataSourceSelectingEventArgs.cs
- FileLoadException.cs
- Int32RectValueSerializer.cs
- QuotaThrottle.cs
- Rotation3DKeyFrameCollection.cs
- DataGridViewRowsAddedEventArgs.cs
- VisualStyleRenderer.cs
- BuildResult.cs
- ColumnTypeConverter.cs
- RoutedEventArgs.cs
- UserMapPath.cs
- SoapHeaderAttribute.cs
- GroupBoxRenderer.cs
- RootNamespaceAttribute.cs
- HttpDictionary.cs
- ObfuscationAttribute.cs
- ExportOptions.cs
- AutomationAttributeInfo.cs
- HtmlAnchor.cs
- XmlSchemaDocumentation.cs
- ToolBarButtonClickEvent.cs
- figurelengthconverter.cs
- validation.cs
- PolyLineSegment.cs
- DataTableReader.cs
- TCPClient.cs
- SqlDelegatedTransaction.cs
- XmlSchemaImport.cs
- GuidelineSet.cs
- PrefixHandle.cs
- __Error.cs
- ManifestResourceInfo.cs
- LabelDesigner.cs
- DataGridViewCellValueEventArgs.cs
- MetadataArtifactLoaderFile.cs
- __ConsoleStream.cs
- DataObjectFieldAttribute.cs
- SQLMoney.cs
- JavaScriptString.cs
- XmlSerializerNamespaces.cs
- ContextQuery.cs
- RuntimeIdentifierPropertyAttribute.cs
- ContainerParaClient.cs
- RadialGradientBrush.cs
- ProfileInfo.cs
- ScrollBarRenderer.cs
- BaseCollection.cs
- PagerSettings.cs
- SByte.cs
- WebHttpEndpoint.cs
- ListMarkerLine.cs
- MetadataItemCollectionFactory.cs
- SchemaAttDef.cs
- StorageComplexPropertyMapping.cs
- StringSource.cs
- TypedDataSourceCodeGenerator.cs
- TokenizerHelper.cs
- SqlCacheDependencyDatabaseCollection.cs
- XmlAttributeAttribute.cs
- WsdlParser.cs
- ScrollProviderWrapper.cs
- CatalogPart.cs
- IconBitmapDecoder.cs
- SoapConverter.cs
- MdiWindowListStrip.cs
- DependencyObjectCodeDomSerializer.cs
- SqlBooleanizer.cs
- Splitter.cs
- RoleService.cs
- CoreSwitches.cs
- AssemblyBuilderData.cs
- UIElementCollection.cs
- SystemNetworkInterface.cs
- XmlNamespaceDeclarationsAttribute.cs
- ItemCollection.cs
- UserControlFileEditor.cs
- XmlSchemas.cs
- DateTimeStorage.cs
- ExpanderAutomationPeer.cs
- Tile.cs
- CssClassPropertyAttribute.cs
- PagedDataSource.cs
- ToolBarOverflowPanel.cs
- Switch.cs