Code:
/ 4.0 / 4.0 / 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. //---------------------------------------------------------------------------- // //// 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
- WebPartRestoreVerb.cs
- VisualStyleInformation.cs
- WindowsToolbar.cs
- SoapFault.cs
- EntityDataSourceEntitySetNameItem.cs
- SelectedPathEditor.cs
- CompletedAsyncResult.cs
- Pool.cs
- TextBlock.cs
- DatasetMethodGenerator.cs
- LogArchiveSnapshot.cs
- SatelliteContractVersionAttribute.cs
- GenericUriParser.cs
- NeutralResourcesLanguageAttribute.cs
- FunctionOverloadResolver.cs
- LayoutTableCell.cs
- mactripleDES.cs
- DependencyPropertyDescriptor.cs
- DataChangedEventManager.cs
- _OverlappedAsyncResult.cs
- WindowInteropHelper.cs
- Slider.cs
- Stroke2.cs
- PatternMatcher.cs
- InheritedPropertyChangedEventArgs.cs
- WindowsIPAddress.cs
- HttpPostedFile.cs
- AsyncContentLoadedEventArgs.cs
- SQLGuidStorage.cs
- AttachInfo.cs
- CfgParser.cs
- DecoderBestFitFallback.cs
- SingleKeyFrameCollection.cs
- dataSvcMapFileLoader.cs
- FixedDocumentPaginator.cs
- OdbcParameterCollection.cs
- MimeImporter.cs
- JapaneseLunisolarCalendar.cs
- SqlDuplicator.cs
- ColorInterpolationModeValidation.cs
- WebPartConnection.cs
- GotoExpression.cs
- SynchronizationContext.cs
- FileChangesMonitor.cs
- baseaxisquery.cs
- ExpanderAutomationPeer.cs
- QueryOutputWriter.cs
- DateTimeOffsetStorage.cs
- RuntimeIdentifierPropertyAttribute.cs
- UnitControl.cs
- DataGridCell.cs
- ListViewItemSelectionChangedEvent.cs
- safex509handles.cs
- XmlUtf8RawTextWriter.cs
- StateDesigner.TransitionInfo.cs
- ApplicationFileCodeDomTreeGenerator.cs
- ControlIdConverter.cs
- ConfigurationException.cs
- RelationshipType.cs
- shaperfactory.cs
- SearchForVirtualItemEventArgs.cs
- SafeArrayRankMismatchException.cs
- StorageEntitySetMapping.cs
- autovalidator.cs
- ToolStripItemImageRenderEventArgs.cs
- FontStyleConverter.cs
- Exceptions.cs
- DataTableClearEvent.cs
- ImagingCache.cs
- StreamResourceInfo.cs
- Vector3D.cs
- ValidationService.cs
- PriorityChain.cs
- SoapAttributes.cs
- EastAsianLunisolarCalendar.cs
- StringSorter.cs
- EntityDataSourceWrapperPropertyDescriptor.cs
- FunctionUpdateCommand.cs
- HandlerFactoryCache.cs
- FormsIdentity.cs
- ConstraintConverter.cs
- ShellProvider.cs
- _NestedSingleAsyncResult.cs
- HtmlButton.cs
- HttpHandlerAction.cs
- SystemParameters.cs
- SettingsAttributes.cs
- Maps.cs
- EntityViewContainer.cs
- WizardStepBase.cs
- UnsafeNativeMethods.cs
- ISessionStateStore.cs
- DataGridPagerStyle.cs
- XPathQilFactory.cs
- DbConnectionStringCommon.cs
- SystemIPGlobalStatistics.cs
- ProcessHostConfigUtils.cs
- WebPartEditorApplyVerb.cs
- tabpagecollectioneditor.cs
- CompilerScope.cs