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
- RsaSecurityTokenAuthenticator.cs
- DiscoveryClientProtocol.cs
- DelegatingHeader.cs
- Separator.cs
- HyperlinkAutomationPeer.cs
- ModelItemKeyValuePair.cs
- XmlNodeList.cs
- OdbcDataReader.cs
- BuilderElements.cs
- SiteMapDataSourceDesigner.cs
- InstanceKey.cs
- XmlDataSourceNodeDescriptor.cs
- SBCSCodePageEncoding.cs
- SamlNameIdentifierClaimResource.cs
- ToolStripContainer.cs
- AssemblyCacheEntry.cs
- CompositeTypefaceMetrics.cs
- SimpleType.cs
- PermissionAttributes.cs
- UIElementParagraph.cs
- ASCIIEncoding.cs
- Walker.cs
- SqlPersistenceProviderFactory.cs
- DataGridCaption.cs
- Currency.cs
- GridItemPattern.cs
- ImageButton.cs
- SiteMapProvider.cs
- DependencyObject.cs
- DBDataPermissionAttribute.cs
- PresentationAppDomainManager.cs
- LoadedOrUnloadedOperation.cs
- UIElement3D.cs
- Number.cs
- LogRecordSequence.cs
- InternalConfigSettingsFactory.cs
- Choices.cs
- PenLineCapValidation.cs
- XmlSerializerAssemblyAttribute.cs
- Visitor.cs
- XmlMembersMapping.cs
- DictionaryBase.cs
- PointHitTestParameters.cs
- BitConverter.cs
- TaskCanceledException.cs
- WindowsContainer.cs
- StoreContentChangedEventArgs.cs
- EmptyEnumerator.cs
- CodeDelegateInvokeExpression.cs
- AutomationElement.cs
- Simplifier.cs
- CodeExporter.cs
- DataGridDetailsPresenter.cs
- DragDropHelper.cs
- DesignerTransaction.cs
- HtmlTableRowCollection.cs
- EnumMember.cs
- PointIndependentAnimationStorage.cs
- DependencyObjectProvider.cs
- Stylus.cs
- MemoryPressure.cs
- Int32.cs
- DataGridViewUtilities.cs
- LocalizationComments.cs
- BitConverter.cs
- ConnectionsZone.cs
- CodeAttributeDeclarationCollection.cs
- ListControl.cs
- EventBindingService.cs
- XmlSignificantWhitespace.cs
- GetWinFXPath.cs
- IOException.cs
- OleDbError.cs
- DataGridViewCellCancelEventArgs.cs
- PropertySegmentSerializer.cs
- DescendentsWalkerBase.cs
- ReadWriteSpinLock.cs
- Size3D.cs
- MethodRental.cs
- WebPartCloseVerb.cs
- RequestReplyCorrelator.cs
- PermissionRequestEvidence.cs
- DataContract.cs
- OutputCacheProviderCollection.cs
- HierarchicalDataBoundControlAdapter.cs
- MembershipUser.cs
- XmlAttribute.cs
- XmlSchemaComplexType.cs
- _LazyAsyncResult.cs
- SequentialWorkflowRootDesigner.cs
- PageThemeCodeDomTreeGenerator.cs
- GiveFeedbackEvent.cs
- ModelPropertyDescriptor.cs
- FloatMinMaxAggregationOperator.cs
- BaseTemplateParser.cs
- TemplatePropertyEntry.cs
- TableHeaderCell.cs
- Int16.cs
- XmlIlTypeHelper.cs
- Table.cs