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
- RectangleGeometry.cs
- DesignerResources.cs
- CodeGeneratorOptions.cs
- WebPartMenu.cs
- DataTransferEventArgs.cs
- StringExpressionSet.cs
- NamespaceListProperty.cs
- AssemblyCollection.cs
- CalendarDay.cs
- UriExt.cs
- TokenCreationException.cs
- LinqDataSourceContextEventArgs.cs
- TextPenaltyModule.cs
- BamlBinaryWriter.cs
- HttpHandlersSection.cs
- SafeNativeMethodsCLR.cs
- TextSelectionProcessor.cs
- ValidationRule.cs
- StrongName.cs
- XslAstAnalyzer.cs
- RadioButtonFlatAdapter.cs
- DeploymentSection.cs
- DataGridHeaderBorder.cs
- TypeElementCollection.cs
- GenericFlowSwitchHelper.cs
- FloaterParagraph.cs
- SpeechUI.cs
- TextTreeText.cs
- XmlnsPrefixAttribute.cs
- ObjectAnimationBase.cs
- SafeNativeMethods.cs
- PassportAuthenticationEventArgs.cs
- ListSourceHelper.cs
- SimpleWebHandlerParser.cs
- MimeMultiPart.cs
- Buffer.cs
- EventMappingSettingsCollection.cs
- CheckableControlBaseAdapter.cs
- Button.cs
- RMPermissions.cs
- XmlSchemaSimpleTypeUnion.cs
- AsymmetricAlgorithm.cs
- DataListCommandEventArgs.cs
- xmlsaver.cs
- _CommandStream.cs
- SpeechRecognizer.cs
- Win32SafeHandles.cs
- NamedPermissionSet.cs
- AlignmentYValidation.cs
- ItemCheckedEvent.cs
- AlphaSortedEnumConverter.cs
- ServiceDescription.cs
- SyndicationFeedFormatter.cs
- ExtendedProperty.cs
- Cursor.cs
- DataSourceView.cs
- ListenerSessionConnectionReader.cs
- AutoResizedEvent.cs
- IfAction.cs
- SqlRemoveConstantOrderBy.cs
- KeyboardEventArgs.cs
- ListMarkerSourceInfo.cs
- ColorMap.cs
- FigureParagraph.cs
- ByteStreamMessageEncoderFactory.cs
- RadialGradientBrush.cs
- FixedFindEngine.cs
- ProtocolsInstallComponent.cs
- XomlSerializationHelpers.cs
- CustomErrorsSection.cs
- UnsettableComboBox.cs
- FixedPosition.cs
- Literal.cs
- ZipIOExtraField.cs
- CodeMethodReturnStatement.cs
- Formatter.cs
- SamlAssertion.cs
- RuntimeWrappedException.cs
- RsaKeyIdentifierClause.cs
- IdnElement.cs
- XmlEntity.cs
- CLSCompliantAttribute.cs
- EditorZone.cs
- HttpListenerResponse.cs
- Object.cs
- MarkupCompiler.cs
- ProcessHostFactoryHelper.cs
- QuestionEventArgs.cs
- ValidatingPropertiesEventArgs.cs
- DispatcherTimer.cs
- PageCodeDomTreeGenerator.cs
- DocobjHost.cs
- Base64Stream.cs
- XmlIncludeAttribute.cs
- HTMLTextWriter.cs
- TPLETWProvider.cs
- ButtonColumn.cs
- Vector3DAnimationBase.cs
- GridViewSelectEventArgs.cs
- SuppressMergeCheckAttribute.cs