Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Core / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ResourcePermissionBaseEntry.cs
- NotifyParentPropertyAttribute.cs
- ThaiBuddhistCalendar.cs
- ZipIOModeEnforcingStream.cs
- StylusCaptureWithinProperty.cs
- PkcsMisc.cs
- StringInfo.cs
- InputBindingCollection.cs
- PublisherMembershipCondition.cs
- Proxy.cs
- EntityDataSourceSelectingEventArgs.cs
- Path.cs
- ButtonChrome.cs
- ActivityWithResultValueSerializer.cs
- DebuggerAttributes.cs
- SslStream.cs
- WriterOutput.cs
- DynamicResourceExtensionConverter.cs
- FragmentNavigationEventArgs.cs
- AppDomainManager.cs
- SqlAliaser.cs
- SessionState.cs
- ConfigXmlElement.cs
- XmlAutoDetectWriter.cs
- BitArray.cs
- CompiledRegexRunner.cs
- GroupByExpressionRewriter.cs
- XPathBinder.cs
- PagedDataSource.cs
- SecurityContextSecurityTokenAuthenticator.cs
- ClipboardProcessor.cs
- ButtonFlatAdapter.cs
- _NtlmClient.cs
- TextAdaptor.cs
- PermissionSetTriple.cs
- SchemaManager.cs
- Stylus.cs
- DoubleAnimationUsingPath.cs
- FileCodeGroup.cs
- MarshalByRefObject.cs
- WindowsImpersonationContext.cs
- DocumentXmlWriter.cs
- SplineQuaternionKeyFrame.cs
- CultureInfoConverter.cs
- DtdParser.cs
- Helper.cs
- EffectiveValueEntry.cs
- DataGridViewHitTestInfo.cs
- FileDialog_Vista.cs
- XmlSchemaObject.cs
- XmlSortKeyAccumulator.cs
- SystemIPGlobalProperties.cs
- PriorityRange.cs
- EncryptedKeyIdentifierClause.cs
- ListViewDeletedEventArgs.cs
- DataSet.cs
- XPathBuilder.cs
- TimeSpanOrInfiniteValidator.cs
- GeometryHitTestParameters.cs
- SqlDuplicator.cs
- ModulesEntry.cs
- AssemblyBuilder.cs
- ViewPort3D.cs
- AnnotationObservableCollection.cs
- ListItem.cs
- _NetworkingPerfCounters.cs
- DefinitionBase.cs
- mongolianshape.cs
- SqlLiftWhereClauses.cs
- TypedColumnHandler.cs
- EncoderExceptionFallback.cs
- DbDataSourceEnumerator.cs
- Scripts.cs
- MimeParameter.cs
- WindowsFormsHostPropertyMap.cs
- ObjectResult.cs
- DataSourceControlBuilder.cs
- PropertyToken.cs
- AnnotationService.cs
- TableDetailsRow.cs
- BuildProviderAppliesToAttribute.cs
- DesignerVerb.cs
- SignatureConfirmations.cs
- UIElementAutomationPeer.cs
- SystemGatewayIPAddressInformation.cs
- GridViewRowPresenterBase.cs
- NavigationProgressEventArgs.cs
- Convert.cs
- DoubleAnimationClockResource.cs
- FastEncoderWindow.cs
- MobileControlsSectionHandler.cs
- XmlValidatingReaderImpl.cs
- EventLogPermission.cs
- UriParserTemplates.cs
- GridViewCancelEditEventArgs.cs
- QueryAccessibilityHelpEvent.cs
- ManifestResourceInfo.cs
- HtmlTableCell.cs
- PeerCustomResolverSettings.cs
- DataPagerCommandEventArgs.cs