Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / Core / CSharp / System / Windows / Media3D / RayMeshGeometry3DHitTestResult.cs / 1 / RayMeshGeometry3DHitTestResult.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // // History: // 06/22/2005 : [....] - Integrated from RayHitTestResult. // //--------------------------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; namespace System.Windows.Media.Media3D { ////// The HitTestResult of a Visual3D.HitTest(...) where the parameter /// was a RayHitTestParameter and the ray intersected a MeshGeometry3D. /// /// NOTE: This might have originated as a PointHitTest on a 2D Visual /// which was extended into 3D. /// public sealed class RayMeshGeometry3DHitTestResult : RayHitTestResult { //----------------------------------------------------- // // Constructors // //----------------------------------------------------- #region Constructors internal RayMeshGeometry3DHitTestResult( Visual3D visualHit, Model3D modelHit, MeshGeometry3D meshHit, Point3D pointHit, double distanceToRayOrigin, int vertexIndex1, int vertexIndex2, int vertexIndex3, Point barycentricCoordinate) : base (visualHit, modelHit) { _meshHit = meshHit; _pointHit = pointHit; _distanceToRayOrigin = distanceToRayOrigin; _vertexIndex1 = vertexIndex1; _vertexIndex2 = vertexIndex2; _vertexIndex3 = vertexIndex3; _barycentricCoordinate = barycentricCoordinate; } #endregion Constructors //------------------------------------------------------ // // Public Methods // //----------------------------------------------------- ////// This is a point in 3-space at which the ray intersected /// the geometry of the hit Model3D. This point is in the /// coordinate system of the Visual3D. /// public override Point3D PointHit { get { return _pointHit; } } ////// This is the distance between the ray's origin and the /// point the PointHit. /// public override double DistanceToRayOrigin { get { return _distanceToRayOrigin; } } ////// Index of the 1st vertex of the triangle which was intersected. /// Use this to retrieve the position, texturecoordinate, etc. from /// the MeshHit. /// public int VertexIndex1 { get { return _vertexIndex1; } } ////// Index of the 2nd vertex of the triangle which was intersected. /// Use this to retrieve the position, texturecoordinate, etc. from /// the MeshHit. /// public int VertexIndex2 { get { return _vertexIndex2; } } ////// Index of the 3rd vertex of the triangle which was intersected. /// Use this to retrieve the position, texturecoordinate, etc. from /// the MeshHit. /// public int VertexIndex3 { get { return _vertexIndex3; } } ///public double VertexWeight1 { get { return 1 - VertexWeight2 - VertexWeight3; } } /// public double VertexWeight2 { get { return _barycentricCoordinate.X; } } /// public double VertexWeight3 { get { return _barycentricCoordinate.Y; } } /// /// The MeshGeometry3D which was intersected by the ray. /// public MeshGeometry3D MeshHit { get { return _meshHit; } } //------------------------------------------------------ // // Public Properties // //------------------------------------------------------ //----------------------------------------------------- // // Public Events // //------------------------------------------------------ //----------------------------------------------------- // // Internal Methods // //----------------------------------------------------- internal override void SetDistanceToRayOrigin(double distance) { _distanceToRayOrigin = distance; } //----------------------------------------------------- // // Private Fields // //------------------------------------------------------ #region Private Fields private double _distanceToRayOrigin; // Not readonly because it can be adjusted after construction. private readonly int _vertexIndex1; private readonly int _vertexIndex2; private readonly int _vertexIndex3; private readonly Point _barycentricCoordinate; private readonly MeshGeometry3D _meshHit; private readonly Point3D _pointHit; #endregion Private Fields } } // 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. // // // // History: // 06/22/2005 : [....] - Integrated from RayHitTestResult. // //--------------------------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; namespace System.Windows.Media.Media3D { ////// The HitTestResult of a Visual3D.HitTest(...) where the parameter /// was a RayHitTestParameter and the ray intersected a MeshGeometry3D. /// /// NOTE: This might have originated as a PointHitTest on a 2D Visual /// which was extended into 3D. /// public sealed class RayMeshGeometry3DHitTestResult : RayHitTestResult { //----------------------------------------------------- // // Constructors // //----------------------------------------------------- #region Constructors internal RayMeshGeometry3DHitTestResult( Visual3D visualHit, Model3D modelHit, MeshGeometry3D meshHit, Point3D pointHit, double distanceToRayOrigin, int vertexIndex1, int vertexIndex2, int vertexIndex3, Point barycentricCoordinate) : base (visualHit, modelHit) { _meshHit = meshHit; _pointHit = pointHit; _distanceToRayOrigin = distanceToRayOrigin; _vertexIndex1 = vertexIndex1; _vertexIndex2 = vertexIndex2; _vertexIndex3 = vertexIndex3; _barycentricCoordinate = barycentricCoordinate; } #endregion Constructors //------------------------------------------------------ // // Public Methods // //----------------------------------------------------- ////// This is a point in 3-space at which the ray intersected /// the geometry of the hit Model3D. This point is in the /// coordinate system of the Visual3D. /// public override Point3D PointHit { get { return _pointHit; } } ////// This is the distance between the ray's origin and the /// point the PointHit. /// public override double DistanceToRayOrigin { get { return _distanceToRayOrigin; } } ////// Index of the 1st vertex of the triangle which was intersected. /// Use this to retrieve the position, texturecoordinate, etc. from /// the MeshHit. /// public int VertexIndex1 { get { return _vertexIndex1; } } ////// Index of the 2nd vertex of the triangle which was intersected. /// Use this to retrieve the position, texturecoordinate, etc. from /// the MeshHit. /// public int VertexIndex2 { get { return _vertexIndex2; } } ////// Index of the 3rd vertex of the triangle which was intersected. /// Use this to retrieve the position, texturecoordinate, etc. from /// the MeshHit. /// public int VertexIndex3 { get { return _vertexIndex3; } } ///public double VertexWeight1 { get { return 1 - VertexWeight2 - VertexWeight3; } } /// public double VertexWeight2 { get { return _barycentricCoordinate.X; } } /// public double VertexWeight3 { get { return _barycentricCoordinate.Y; } } /// /// The MeshGeometry3D which was intersected by the ray. /// public MeshGeometry3D MeshHit { get { return _meshHit; } } //------------------------------------------------------ // // Public Properties // //------------------------------------------------------ //----------------------------------------------------- // // Public Events // //------------------------------------------------------ //----------------------------------------------------- // // Internal Methods // //----------------------------------------------------- internal override void SetDistanceToRayOrigin(double distance) { _distanceToRayOrigin = distance; } //----------------------------------------------------- // // Private Fields // //------------------------------------------------------ #region Private Fields private double _distanceToRayOrigin; // Not readonly because it can be adjusted after construction. private readonly int _vertexIndex1; private readonly int _vertexIndex2; private readonly int _vertexIndex3; private readonly Point _barycentricCoordinate; private readonly MeshGeometry3D _meshHit; private readonly Point3D _pointHit; #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
- SqlUserDefinedTypeAttribute.cs
- EngineSiteSapi.cs
- WaveHeader.cs
- IntersectQueryOperator.cs
- Boolean.cs
- GestureRecognizer.cs
- RegisteredExpandoAttribute.cs
- CompiledQueryCacheEntry.cs
- Imaging.cs
- XmlStringTable.cs
- NameTable.cs
- WindowsListViewItem.cs
- MergablePropertyAttribute.cs
- RoutedEvent.cs
- UIPropertyMetadata.cs
- SecurityElement.cs
- _Win32.cs
- CompoundFileReference.cs
- SessionEndingEventArgs.cs
- UrlAuthorizationModule.cs
- DefaultObjectSerializer.cs
- ClientFormsIdentity.cs
- ColorTransform.cs
- ExternalFile.cs
- invalidudtexception.cs
- MergeFailedEvent.cs
- ModelMemberCollection.cs
- ThumbButtonInfo.cs
- ExpressionCopier.cs
- _AcceptOverlappedAsyncResult.cs
- CurrentChangingEventArgs.cs
- AsyncContentLoadedEventArgs.cs
- FormCollection.cs
- TreeNodeStyle.cs
- Dynamic.cs
- ContentElementAutomationPeer.cs
- ProviderCollection.cs
- SourceInterpreter.cs
- HttpFileCollection.cs
- XmlHelper.cs
- XPathQueryGenerator.cs
- DataGridLengthConverter.cs
- ServiceOperation.cs
- XmlElementAttributes.cs
- MultipleCopiesCollection.cs
- CommandField.cs
- NonParentingControl.cs
- HyperLinkColumn.cs
- ToolStrip.cs
- ContainerCodeDomSerializer.cs
- SafeBuffer.cs
- WebPartCollection.cs
- CommonXSendMessage.cs
- ToolStripControlHost.cs
- ValidationEventArgs.cs
- SByteConverter.cs
- DelayedRegex.cs
- HttpListenerResponse.cs
- TreeWalkHelper.cs
- KeyGestureValueSerializer.cs
- PrintDialog.cs
- LifetimeMonitor.cs
- AutoSizeComboBox.cs
- Exception.cs
- GridViewSortEventArgs.cs
- MultiplexingDispatchMessageFormatter.cs
- TraceContextEventArgs.cs
- SmiMetaData.cs
- ContractDescription.cs
- DataTemplate.cs
- Material.cs
- UserControlDocumentDesigner.cs
- InputLangChangeRequestEvent.cs
- DateTimeStorage.cs
- SystemColorTracker.cs
- WebPartPersonalization.cs
- ResourceSetExpression.cs
- Root.cs
- ObjectDataSource.cs
- DataGridViewRowCancelEventArgs.cs
- TargetException.cs
- CanonicalFontFamilyReference.cs
- Positioning.cs
- TableLayoutStyleCollection.cs
- IndependentAnimationStorage.cs
- TypefaceCollection.cs
- Animatable.cs
- TreeNodeBindingCollection.cs
- DataSourceControl.cs
- ReflectionPermission.cs
- WebPartConnectionsDisconnectVerb.cs
- COM2PictureConverter.cs
- XmlDictionary.cs
- MetadataCache.cs
- PkcsUtils.cs
- AttributeParameterInfo.cs
- DbProviderFactories.cs
- TrimSurroundingWhitespaceAttribute.cs
- AxisAngleRotation3D.cs
- GatewayDefinition.cs