Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / Media3D / Model3DGroup.cs / 1305600 / Model3DGroup.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // // Description: 3D model collection. // // See spec at http://avalon/medialayer/Specifications/Avalon3D%20API%20Spec.mht // // History: // 06/28/2003 : t-gregr - Created // //--------------------------------------------------------------------------- using System; using System.Collections; using System.Diagnostics; using System.Windows; using System.Windows.Media; using System.Windows.Media.Media3D; using System.Windows.Markup; using MS.Internal; using MS.Internal.Media3D; using SR=MS.Internal.PresentationCore.SR; using SRID=MS.Internal.PresentationCore.SRID; namespace System.Windows.Media.Media3D { ////// 3D model group. /// [ContentProperty("Children")] public sealed partial class Model3DGroup : Model3D { //----------------------------------------------------- // // Constructors // //----------------------------------------------------- #region Constructors ////// Default constructor. /// public Model3DGroup() {} #endregion Constructors //------------------------------------------------------ // // Internal Methods // //----------------------------------------------------- #region Internal Methods internal override void RayHitTestCore( RayHitTestParameters rayParams) { Model3DCollection children = Children; if (children == null) { return; } for (int i = children.Count - 1; i >= 0; i--) { Model3D child = children.Internal_GetItem(i); // Perform the hit-test against the child. child.RayHitTest(rayParams); } } internal override Rect3D CalculateSubgraphBoundsInnerSpace() { Model3DCollection children = Children; if (children == null) { return Rect3D.Empty; } Rect3D bounds = Rect3D.Empty; for (int i = 0, count = children.Count; i < count; i++) { Model3D child = children.Internal_GetItem(i); // Calls CSBOS rather than Bounds to avoid ReadPreamble. bounds.Union(child.CalculateSubgraphBoundsOuterSpace()); } return bounds; } #endregion Internal Methods //------------------------------------------------------ // // Internal Properties // //------------------------------------------------------ #region Internal Properties // named EmptyGroup not to collide with public Model3D.Empty internal static Model3DGroup EmptyGroup { get { if (s_empty == null) { s_empty = new Model3DGroup(); s_empty.Freeze(); } return s_empty; } } #endregion Internal Properties //----------------------------------------------------- // // Private Fields // //------------------------------------------------------ #region Private Fields private static Model3DGroup s_empty; #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
- ClusterRegistryConfigurationProvider.cs
- XmlBindingWorker.cs
- ByteAnimationBase.cs
- WebException.cs
- WebRequest.cs
- XmlNavigatorFilter.cs
- X509Utils.cs
- TypedRowGenerator.cs
- EntityTypeBase.cs
- WindowsStatusBar.cs
- WorkflowServiceBuildProvider.cs
- SpellerStatusTable.cs
- PanningMessageFilter.cs
- MemoryStream.cs
- DataContractSet.cs
- SafePEFileHandle.cs
- TextRangeBase.cs
- TextBox.cs
- ActivityBindForm.Designer.cs
- BooleanFacetDescriptionElement.cs
- SoapRpcMethodAttribute.cs
- XmlSchemaProviderAttribute.cs
- CompilerCollection.cs
- AdjustableArrowCap.cs
- SafeHandle.cs
- CustomError.cs
- SpotLight.cs
- TextViewElement.cs
- DataGridViewHeaderCell.cs
- UrlPath.cs
- X509Certificate.cs
- ImageBrush.cs
- CharUnicodeInfo.cs
- ColumnTypeConverter.cs
- DataContractSerializerSection.cs
- SamlAssertionKeyIdentifierClause.cs
- PageStatePersister.cs
- SecondaryIndexList.cs
- MemberProjectedSlot.cs
- HttpContextWrapper.cs
- SingleStorage.cs
- CheckPair.cs
- View.cs
- WhitespaceRule.cs
- BindingManagerDataErrorEventArgs.cs
- ProxyWebPartManager.cs
- GridSplitterAutomationPeer.cs
- DataTrigger.cs
- ResourceDescriptionAttribute.cs
- ResourcePool.cs
- SharedDp.cs
- TreeView.cs
- _HeaderInfoTable.cs
- GridViewColumnHeader.cs
- CompoundFileIOPermission.cs
- UInt64.cs
- RepeatInfo.cs
- FileAuthorizationModule.cs
- SQLSingle.cs
- XPathAncestorQuery.cs
- ContentPosition.cs
- StateBag.cs
- BoundsDrawingContextWalker.cs
- PerformanceCounterCategory.cs
- CursorConverter.cs
- TimeBoundedCache.cs
- XhtmlBasicImageAdapter.cs
- HostingEnvironment.cs
- RightsManagementEncryptionTransform.cs
- DigestTraceRecordHelper.cs
- ReverseComparer.cs
- InkCanvasAutomationPeer.cs
- Tokenizer.cs
- FamilyMap.cs
- FixedPageStructure.cs
- SequentialUshortCollection.cs
- ScriptModule.cs
- HelpInfo.cs
- XmlLoader.cs
- SqlSelectStatement.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- HtmlButton.cs
- DesignerActionGlyph.cs
- FillRuleValidation.cs
- BooleanExpr.cs
- GridViewCancelEditEventArgs.cs
- Part.cs
- SystemIPv6InterfaceProperties.cs
- InvalidCastException.cs
- XsdValidatingReader.cs
- SystemDropShadowChrome.cs
- GridViewRowEventArgs.cs
- WebWorkflowRole.cs
- SafeFreeMibTable.cs
- FixedSOMTable.cs
- DtcInterfaces.cs
- ArrayMergeHelper.cs
- CDSsyncETWBCLProvider.cs
- Button.cs
- BinaryObjectReader.cs