Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- PageRequestManager.cs
- ContractCodeDomInfo.cs
- Trigger.cs
- ClaimComparer.cs
- Maps.cs
- ComNativeDescriptor.cs
- ACL.cs
- ISCIIEncoding.cs
- ProxyHwnd.cs
- NameNode.cs
- MarkupCompilePass2.cs
- ContentOperations.cs
- XamlTemplateSerializer.cs
- InputLanguageProfileNotifySink.cs
- XPathMessageFilter.cs
- TextDecorationCollection.cs
- CompilationSection.cs
- RequestBringIntoViewEventArgs.cs
- ExpressionNode.cs
- RelatedPropertyManager.cs
- BoolLiteral.cs
- _ListenerAsyncResult.cs
- Task.cs
- DuplicateDetector.cs
- OracleDataReader.cs
- PageParserFilter.cs
- ReflectionUtil.cs
- UdpDiscoveryMessageFilter.cs
- DynamicDocumentPaginator.cs
- GridViewActionList.cs
- SafeRightsManagementPubHandle.cs
- XmlSchemaSimpleTypeUnion.cs
- MetadataPropertyAttribute.cs
- CustomBindingCollectionElement.cs
- WebPageTraceListener.cs
- BaseDataBoundControl.cs
- ThreadInterruptedException.cs
- QueryInterceptorAttribute.cs
- WpfGeneratedKnownTypes.cs
- ApplicationManager.cs
- DataServiceException.cs
- DecoratedNameAttribute.cs
- Int16AnimationUsingKeyFrames.cs
- GroupItem.cs
- EventRecordWrittenEventArgs.cs
- xdrvalidator.cs
- CommandSet.cs
- SafeRightsManagementQueryHandle.cs
- LinqDataSourceView.cs
- SoapCommonClasses.cs
- ObservableCollection.cs
- TdsParserHelperClasses.cs
- Validator.cs
- BypassElement.cs
- LinearKeyFrames.cs
- DataGridViewAdvancedBorderStyle.cs
- SafeNativeMethods.cs
- XmlSchemaSubstitutionGroup.cs
- DetailsViewInsertEventArgs.cs
- QuaternionRotation3D.cs
- DockEditor.cs
- SecurityContextTokenValidationException.cs
- EpmSyndicationContentSerializer.cs
- SqlFunctionAttribute.cs
- XamlFigureLengthSerializer.cs
- UInt16Storage.cs
- __Filters.cs
- CroppedBitmap.cs
- TypeContext.cs
- ValueUtilsSmi.cs
- AgileSafeNativeMemoryHandle.cs
- JsonFormatGeneratorStatics.cs
- SoapDocumentMethodAttribute.cs
- ButtonFlatAdapter.cs
- EventLogPermissionEntryCollection.cs
- MsmqIntegrationAppDomainProtocolHandler.cs
- SendingRequestEventArgs.cs
- SAPIEngineTypes.cs
- SqlCommandSet.cs
- XmlArrayAttribute.cs
- CorrelationTokenInvalidatedHandler.cs
- ProgressPage.cs
- Zone.cs
- InvokeProviderWrapper.cs
- PackageRelationship.cs
- PageContent.cs
- Assembly.cs
- ToolBarOverflowPanel.cs
- MethodToken.cs
- NativeCppClassAttribute.cs
- DrawingBrush.cs
- SimpleBitVector32.cs
- FamilyCollection.cs
- SqlInternalConnectionSmi.cs
- PolicyLevel.cs
- ApplicationFileCodeDomTreeGenerator.cs
- OleDbCommandBuilder.cs
- Empty.cs
- TrackingCondition.cs
- BitmapMetadata.cs