Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / Media3D / Geometry3D.cs / 1305600 / Geometry3D.cs
//---------------------------------------------------------------------------- // //// Copyright (c) Microsoft Corporation. All rights reserved. // // // History: // 6/10/2004 : [....] - Created // //--------------------------------------------------------------------------- using MS.Internal.Media3D; using System; using System.Diagnostics; using System.Windows.Media.Animation; using System.Windows.Media.Composition; namespace System.Windows.Media.Media3D { ////// This is the base class for all 3D geometry classes. A geometry has /// bounds and can be rendered with a GeometryModel3D. /// [Localizability(LocalizationCategory.None, Readability = Readability.Unreadable)] // cannot be read & localized as string public abstract partial class Geometry3D : Animatable, DUCE.IResource { //----------------------------------------------------- // // Constructors // //----------------------------------------------------- #region Constructors // Prevent 3rd parties from extending this abstract base class. internal Geometry3D() {} #endregion Constructors //------------------------------------------------------ // // Public Methods // //----------------------------------------------------- #region Public Methods ////// Gets bounds for this Geometry3D. /// public abstract Rect3D Bounds { get; } #endregion Public Methods //------------------------------------------------------ // // Public Properties // //------------------------------------------------------ //----------------------------------------------------- // // Public Events // //------------------------------------------------------ //----------------------------------------------------- // // Internal Methods // //----------------------------------------------------- #region Internal Methods // NOTE: Geometry3D hit testing takes the rayParams in the outer space of the // Geometry3D. That is, RayHitTest() will apply this geometry's // transform to the ray for the caller. // // This is different than Visual hit testing which does not transform // the hit testing parameters by the Visual's transform. internal void RayHitTest(RayHitTestParameters rayParams, FaceType facesToHit) { Debug.Assert(facesToHit != FaceType.None, "Caller should make sure we're trying to hit something"); Rect3D bounds = Bounds; if (bounds.IsEmpty) { return; } // Point3D origin; Vector3D direction; rayParams.GetLocalLine(out origin, out direction); if (LineUtil.ComputeLineBoxIntersection(ref origin, ref direction, ref bounds, rayParams.IsRay)) { RayHitTestCore(rayParams, facesToHit); } // } internal abstract void RayHitTestCore(RayHitTestParameters rayParams, FaceType hitTestableFaces); #endregion Internal Methods } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------------------- // //// Copyright (c) Microsoft Corporation. All rights reserved. // // // History: // 6/10/2004 : [....] - Created // //--------------------------------------------------------------------------- using MS.Internal.Media3D; using System; using System.Diagnostics; using System.Windows.Media.Animation; using System.Windows.Media.Composition; namespace System.Windows.Media.Media3D { ////// This is the base class for all 3D geometry classes. A geometry has /// bounds and can be rendered with a GeometryModel3D. /// [Localizability(LocalizationCategory.None, Readability = Readability.Unreadable)] // cannot be read & localized as string public abstract partial class Geometry3D : Animatable, DUCE.IResource { //----------------------------------------------------- // // Constructors // //----------------------------------------------------- #region Constructors // Prevent 3rd parties from extending this abstract base class. internal Geometry3D() {} #endregion Constructors //------------------------------------------------------ // // Public Methods // //----------------------------------------------------- #region Public Methods ////// Gets bounds for this Geometry3D. /// public abstract Rect3D Bounds { get; } #endregion Public Methods //------------------------------------------------------ // // Public Properties // //------------------------------------------------------ //----------------------------------------------------- // // Public Events // //------------------------------------------------------ //----------------------------------------------------- // // Internal Methods // //----------------------------------------------------- #region Internal Methods // NOTE: Geometry3D hit testing takes the rayParams in the outer space of the // Geometry3D. That is, RayHitTest() will apply this geometry's // transform to the ray for the caller. // // This is different than Visual hit testing which does not transform // the hit testing parameters by the Visual's transform. internal void RayHitTest(RayHitTestParameters rayParams, FaceType facesToHit) { Debug.Assert(facesToHit != FaceType.None, "Caller should make sure we're trying to hit something"); Rect3D bounds = Bounds; if (bounds.IsEmpty) { return; } // Point3D origin; Vector3D direction; rayParams.GetLocalLine(out origin, out direction); if (LineUtil.ComputeLineBoxIntersection(ref origin, ref direction, ref bounds, rayParams.IsRay)) { RayHitTestCore(rayParams, facesToHit); } // } internal abstract void RayHitTestCore(RayHitTestParameters rayParams, FaceType hitTestableFaces); #endregion Internal Methods } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XhtmlTextWriter.cs
- MruCache.cs
- HyperLink.cs
- FileAuthorizationModule.cs
- Int64.cs
- SplineKeyFrames.cs
- MetadataCache.cs
- StandardMenuStripVerb.cs
- ContextMenu.cs
- ExtractedStateEntry.cs
- WebPartPersonalization.cs
- _RequestCacheProtocol.cs
- TextProperties.cs
- VarRemapper.cs
- ListViewDeletedEventArgs.cs
- GeneralTransformCollection.cs
- XPathNodeInfoAtom.cs
- CallContext.cs
- Nodes.cs
- PropertyPathWorker.cs
- SqlBooleanMismatchVisitor.cs
- CachedBitmap.cs
- CacheEntry.cs
- DragDrop.cs
- ControlIdConverter.cs
- ImageListStreamer.cs
- EditorPartChrome.cs
- MouseButton.cs
- TemplateAction.cs
- CustomErrorCollection.cs
- Point.cs
- DictionaryTraceRecord.cs
- TableLayoutColumnStyleCollection.cs
- EmptyEnumerator.cs
- AppSettingsSection.cs
- CacheSection.cs
- PropertyItemInternal.cs
- CustomTypeDescriptor.cs
- PrimitiveXmlSerializers.cs
- QuaternionAnimationBase.cs
- PointAnimationClockResource.cs
- DbXmlEnabledProviderManifest.cs
- RuntimeArgumentHandle.cs
- TrackPoint.cs
- OracleDataAdapter.cs
- XmlQuerySequence.cs
- GeometryModel3D.cs
- PropertyMapper.cs
- ScanQueryOperator.cs
- PopupControlService.cs
- IfElseDesigner.xaml.cs
- RoleService.cs
- DataSourceCacheDurationConverter.cs
- HWStack.cs
- SecurityDocument.cs
- RepeaterItemCollection.cs
- RegistrySecurity.cs
- Int64Animation.cs
- DataTableCollection.cs
- Point3DCollection.cs
- DelegatingHeader.cs
- XamlBrushSerializer.cs
- MouseGestureConverter.cs
- HebrewCalendar.cs
- securitycriticaldataformultiplegetandset.cs
- _UriSyntax.cs
- ProfileGroupSettingsCollection.cs
- COM2TypeInfoProcessor.cs
- XmlSchemaSimpleContentExtension.cs
- VisualBrush.cs
- ParameterElement.cs
- TextTreeNode.cs
- CodeAttributeDeclaration.cs
- ImportContext.cs
- SessionEndingCancelEventArgs.cs
- EntityDataSourceDataSelection.cs
- FloaterParagraph.cs
- ColumnTypeConverter.cs
- EntityType.cs
- Axis.cs
- SubpageParagraph.cs
- TrackingMemoryStream.cs
- SQLBytes.cs
- CommandID.cs
- HttpModulesSection.cs
- CustomError.cs
- ControlPersister.cs
- DeclarativeCatalogPart.cs
- ConnectionPoolManager.cs
- CompilerInfo.cs
- DateTimeUtil.cs
- StrokeFIndices.cs
- HasCopySemanticsAttribute.cs
- PagePropertiesChangingEventArgs.cs
- BaseTemplateCodeDomTreeGenerator.cs
- LockRecursionException.cs
- DoubleLinkListEnumerator.cs
- Formatter.cs
- DataGridViewRowContextMenuStripNeededEventArgs.cs
- ImageDrawing.cs