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
- RichTextBoxConstants.cs
- AuthenticationSection.cs
- ProfileModule.cs
- GacUtil.cs
- DiffuseMaterial.cs
- Ipv6Element.cs
- BooleanFacetDescriptionElement.cs
- QueryOptionExpression.cs
- SQLString.cs
- SoundPlayerAction.cs
- CommonObjectSecurity.cs
- DBParameter.cs
- ToolboxItem.cs
- NamedPipeTransportSecurity.cs
- SystemUdpStatistics.cs
- SQLMoneyStorage.cs
- SymbolPair.cs
- MsmqReceiveHelper.cs
- UserControlAutomationPeer.cs
- LocalizeDesigner.cs
- Decorator.cs
- ChannelServices.cs
- DocumentApplication.cs
- GroupLabel.cs
- PreviewPageInfo.cs
- RSACryptoServiceProvider.cs
- OdbcDataReader.cs
- CannotUnloadAppDomainException.cs
- Page.cs
- RootProfilePropertySettingsCollection.cs
- ConsumerConnectionPoint.cs
- XmlDataSourceView.cs
- RequestReplyCorrelator.cs
- PropertyMapper.cs
- CriticalHandle.cs
- CollectionDataContractAttribute.cs
- DrawingContext.cs
- TemplateBaseAction.cs
- BaseEntityWrapper.cs
- CaseStatement.cs
- PassportIdentity.cs
- DynamicValueConverter.cs
- TextTreeRootTextBlock.cs
- CharEntityEncoderFallback.cs
- XmlSchemaType.cs
- ResourceReferenceKeyNotFoundException.cs
- WebDescriptionAttribute.cs
- ForwardPositionQuery.cs
- RSAOAEPKeyExchangeDeformatter.cs
- BookmarkNameHelper.cs
- BaseParagraph.cs
- XPathParser.cs
- XmlReaderDelegator.cs
- ChangeBlockUndoRecord.cs
- IdleTimeoutMonitor.cs
- Metadata.cs
- DbCommandTree.cs
- HashCryptoHandle.cs
- AlignmentYValidation.cs
- LoginDesigner.cs
- SourceLocation.cs
- CodeAttributeDeclarationCollection.cs
- ActiveXSite.cs
- StructuredProperty.cs
- TreeView.cs
- InvalidateEvent.cs
- Privilege.cs
- ArgumentNullException.cs
- mil_sdk_version.cs
- dbdatarecord.cs
- DesignerOptions.cs
- SQLDouble.cs
- CopyCodeAction.cs
- Converter.cs
- DataRelation.cs
- DataGridViewCellCancelEventArgs.cs
- Input.cs
- SrgsElementList.cs
- coordinatorscratchpad.cs
- ViewStateModeByIdAttribute.cs
- isolationinterop.cs
- InvokeWebServiceDesigner.cs
- PageParserFilter.cs
- Operators.cs
- DatasetMethodGenerator.cs
- WebPartVerb.cs
- SystemWebCachingSectionGroup.cs
- PhysicalFontFamily.cs
- DiagnosticTraceSource.cs
- PrintSystemException.cs
- UpdateTranslator.cs
- XmlSchemaIdentityConstraint.cs
- LoginCancelEventArgs.cs
- BamlVersionHeader.cs
- WizardPanel.cs
- BufferedStream2.cs
- ExplicitDiscriminatorMap.cs
- InvokeMethodActivityDesigner.cs
- Rotation3D.cs
- SharedPerformanceCounter.cs