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
- SynchronizationContext.cs
- KeyFrames.cs
- KeySplineConverter.cs
- ObjectIDGenerator.cs
- SchemaManager.cs
- commandenforcer.cs
- ToolStripSplitStackLayout.cs
- XmlBoundElement.cs
- ManagementOperationWatcher.cs
- SQLByte.cs
- CellParagraph.cs
- Types.cs
- ToolStripDropDownClosingEventArgs.cs
- BitmapFrame.cs
- PolicyLevel.cs
- OlePropertyStructs.cs
- TimeoutValidationAttribute.cs
- SendingRequestEventArgs.cs
- StickyNoteContentControl.cs
- XmlRawWriterWrapper.cs
- CdpEqualityComparer.cs
- TextAdaptor.cs
- GenericAuthenticationEventArgs.cs
- TablePattern.cs
- HostProtectionException.cs
- ResourcesChangeInfo.cs
- SQLByte.cs
- XmlCharCheckingWriter.cs
- XdrBuilder.cs
- CookieHandler.cs
- TableHeaderCell.cs
- AesManaged.cs
- ToolBarTray.cs
- HyperLinkColumn.cs
- XmlTypeAttribute.cs
- DomainConstraint.cs
- SettingsBindableAttribute.cs
- UserPreferenceChangingEventArgs.cs
- CodeTypeReferenceExpression.cs
- translator.cs
- EditorBrowsableAttribute.cs
- DictionaryContent.cs
- CursorInteropHelper.cs
- ListBox.cs
- EntityModelBuildProvider.cs
- DefaultValueAttribute.cs
- DataRelationPropertyDescriptor.cs
- ExpressionBindingCollection.cs
- PropertyIDSet.cs
- DataGridViewImageCell.cs
- Highlights.cs
- CatalogZoneAutoFormat.cs
- AuthenticationModuleElement.cs
- MetabaseServerConfig.cs
- DecimalAverageAggregationOperator.cs
- TimeSpanFormat.cs
- Claim.cs
- StorageEndPropertyMapping.cs
- DbUpdateCommandTree.cs
- ContentAlignmentEditor.cs
- MarkupExtensionSerializer.cs
- hresults.cs
- ObjectStateEntry.cs
- RegexTree.cs
- FuncTypeConverter.cs
- SymbolTable.cs
- DataGridViewUtilities.cs
- ApplicationDirectory.cs
- UIntPtr.cs
- DataControlButton.cs
- Font.cs
- ClockController.cs
- LinqDataSourceContextEventArgs.cs
- AmbientLight.cs
- XmlIlVisitor.cs
- SimplePropertyEntry.cs
- TcpConnectionPoolSettingsElement.cs
- FixedFindEngine.cs
- ResourceAssociationTypeEnd.cs
- SqlClientWrapperSmiStreamChars.cs
- ImageIndexConverter.cs
- DetailsViewDeleteEventArgs.cs
- SQLBytes.cs
- CollectionChangedEventManager.cs
- UriSection.cs
- SystemIPInterfaceStatistics.cs
- FixedSOMTableRow.cs
- Token.cs
- CompilerParameters.cs
- InlineUIContainer.cs
- TerminateDesigner.cs
- DiagnosticTrace.cs
- XPathSingletonIterator.cs
- ZoneLinkButton.cs
- WindowsClaimSet.cs
- PenThreadPool.cs
- StyleCollectionEditor.cs
- StreamedWorkflowDefinitionContext.cs
- Models.cs
- TemplateInstanceAttribute.cs