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
- XmlDataSourceNodeDescriptor.cs
- ClaimTypeRequirement.cs
- OperatingSystem.cs
- Viewport2DVisual3D.cs
- MediaElement.cs
- XmlDocumentType.cs
- Geometry3D.cs
- FamilyTypeface.cs
- MouseGestureConverter.cs
- DbParameterHelper.cs
- DbConnectionStringCommon.cs
- ReflectEventDescriptor.cs
- ObjectNotFoundException.cs
- SwitchLevelAttribute.cs
- SqlAggregateChecker.cs
- CodeCommentStatement.cs
- RSAOAEPKeyExchangeFormatter.cs
- EventRouteFactory.cs
- OracleCommand.cs
- FieldNameLookup.cs
- RemotingConfigParser.cs
- ButtonBase.cs
- GZipDecoder.cs
- DataBinder.cs
- ParserExtension.cs
- ClientTargetSection.cs
- IndentTextWriter.cs
- KnownIds.cs
- HtmlInputPassword.cs
- CreateWorkflowOwnerCommand.cs
- NonSerializedAttribute.cs
- ChtmlImageAdapter.cs
- AccessDataSource.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- ViewManager.cs
- EdmToObjectNamespaceMap.cs
- ProviderException.cs
- CompareValidator.cs
- Int64Animation.cs
- Interop.cs
- TableCell.cs
- EncoderParameter.cs
- SqlDataAdapter.cs
- DetailsViewInsertEventArgs.cs
- TreeViewDesigner.cs
- DataGridViewControlCollection.cs
- ExternalException.cs
- XpsImage.cs
- StructuralComparisons.cs
- ActivityDesignerResources.cs
- StringHandle.cs
- AutomationEvent.cs
- XPathParser.cs
- Sentence.cs
- TextCharacters.cs
- ChtmlTextWriter.cs
- Privilege.cs
- GenericTypeParameterBuilder.cs
- Exception.cs
- GradientStop.cs
- BreadCrumbTextConverter.cs
- TreeNodeCollection.cs
- RecognizedPhrase.cs
- Publisher.cs
- LogEntryDeserializer.cs
- MaskPropertyEditor.cs
- HMACMD5.cs
- CodeTypeReferenceExpression.cs
- ClassicBorderDecorator.cs
- IsolatedStorageException.cs
- PTUtility.cs
- FontSizeConverter.cs
- TimeSpanParse.cs
- Model3DGroup.cs
- ControlPropertyNameConverter.cs
- NavigationHelper.cs
- SchemaImporter.cs
- SqlProviderUtilities.cs
- MenuItem.cs
- WindowCollection.cs
- UpdateCommand.cs
- SchemaManager.cs
- BufferModesCollection.cs
- TextTreeRootTextBlock.cs
- XamlPointCollectionSerializer.cs
- TemplateBindingExpressionConverter.cs
- RouteCollection.cs
- GridPattern.cs
- TemplateControlCodeDomTreeGenerator.cs
- ThrowHelper.cs
- ReadOnlyHierarchicalDataSourceView.cs
- ReliableMessagingVersionConverter.cs
- ImageSourceConverter.cs
- PagerSettings.cs
- ResourceReferenceExpressionConverter.cs
- WindowProviderWrapper.cs
- ServicesUtilities.cs
- MonikerBuilder.cs
- ValidationPropertyAttribute.cs
- IndexingContentUnit.cs