Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / Media3D / RayMeshGeometry3DHitTestResult.cs / 1305600 / 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
- ProfileSettingsCollection.cs
- HtmlDocument.cs
- PlainXmlWriter.cs
- RelationshipConstraintValidator.cs
- HitTestFilterBehavior.cs
- OracleTransaction.cs
- DrawingImage.cs
- ShapingEngine.cs
- PrintingPermissionAttribute.cs
- XPathDescendantIterator.cs
- DesignerVerb.cs
- ListenerSessionConnection.cs
- DropShadowEffect.cs
- __Error.cs
- AutomationPatternInfo.cs
- DataGridViewColumnStateChangedEventArgs.cs
- DbException.cs
- StructuralComparisons.cs
- SymbolType.cs
- NamedPipeAppDomainProtocolHandler.cs
- ViewLoader.cs
- CallbackValidator.cs
- ADMembershipUser.cs
- ExceptionTranslationTable.cs
- ClonableStack.cs
- Enlistment.cs
- RightsManagementManager.cs
- TableCellAutomationPeer.cs
- HttpHandlerActionCollection.cs
- Control.cs
- ProfilePropertyNameValidator.cs
- CommandBinding.cs
- AccessibilityApplicationManager.cs
- TiffBitmapDecoder.cs
- SqlMultiplexer.cs
- PeerInvitationResponse.cs
- ListChangedEventArgs.cs
- DependencyObjectProvider.cs
- ClientData.cs
- FontFamilyValueSerializer.cs
- DesignerView.xaml.cs
- InvalidCastException.cs
- IntPtr.cs
- RubberbandSelector.cs
- TextRangeEdit.cs
- TransactionFlowBindingElementImporter.cs
- ProcessThread.cs
- CurrencyWrapper.cs
- SrgsDocumentParser.cs
- ViewPort3D.cs
- Peer.cs
- IriParsingElement.cs
- TreeNodeEventArgs.cs
- FontCacheLogic.cs
- DynamicILGenerator.cs
- PersonalizationStateInfoCollection.cs
- QilInvoke.cs
- MessageQueueCriteria.cs
- StaticFileHandler.cs
- ProgramPublisher.cs
- AutomationPropertyInfo.cs
- TextWriter.cs
- DNS.cs
- HierarchicalDataBoundControl.cs
- SqlNotificationEventArgs.cs
- DbCommandTree.cs
- BinaryNegotiation.cs
- XmlReaderSettings.cs
- WebConfigurationHostFileChange.cs
- RadioButton.cs
- PointCollectionConverter.cs
- WebColorConverter.cs
- NumberFunctions.cs
- WsatTransactionInfo.cs
- ExpressionBuilder.cs
- StringDictionary.cs
- CodeExpressionCollection.cs
- SerialStream.cs
- RootProfilePropertySettingsCollection.cs
- WebServiceBindingAttribute.cs
- RewritingProcessor.cs
- BrowserCapabilitiesFactory.cs
- ResourcesBuildProvider.cs
- UIElementCollection.cs
- XmlArrayItemAttributes.cs
- HandleRef.cs
- DatePickerTextBox.cs
- FormConverter.cs
- UrlMappingsSection.cs
- TextSelectionHelper.cs
- TemplateManager.cs
- DbConnectionPool.cs
- _UriTypeConverter.cs
- SQLDateTime.cs
- ConfigurationValue.cs
- RawStylusActions.cs
- DbProviderFactories.cs
- DataGridViewBand.cs
- TaskForm.cs
- PropertyStore.cs