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
- NavigatingCancelEventArgs.cs
- ApplicationSettingsBase.cs
- DynamicMethod.cs
- DataGridViewCellValidatingEventArgs.cs
- EntityDataSourceSelectingEventArgs.cs
- CollectionViewGroup.cs
- XmlSchemaImporter.cs
- SQLSingle.cs
- MonitorWrapper.cs
- SafeFileHandle.cs
- TextViewDesigner.cs
- WaitHandleCannotBeOpenedException.cs
- ChangeNode.cs
- ExpressionEvaluator.cs
- FontWeights.cs
- x509store.cs
- VisualBrush.cs
- TypedElement.cs
- precedingsibling.cs
- XmlSchemaCompilationSettings.cs
- BindingList.cs
- FontStyle.cs
- Config.cs
- HtmlInputCheckBox.cs
- ZipIOFileItemStream.cs
- LocatorPart.cs
- DataGridViewImageColumn.cs
- DesignTimeVisibleAttribute.cs
- ListView.cs
- CellCreator.cs
- DeviceFilterEditorDialog.cs
- SystemIPv4InterfaceProperties.cs
- PerfService.cs
- BaseCodePageEncoding.cs
- ThrowHelper.cs
- PrimitiveCodeDomSerializer.cs
- TextRange.cs
- NativeObjectSecurity.cs
- PrintingPermissionAttribute.cs
- ModifierKeysConverter.cs
- AmbiguousMatchException.cs
- TabletDeviceInfo.cs
- Annotation.cs
- AssemblyUtil.cs
- Span.cs
- MergeFilterQuery.cs
- MessageQueueException.cs
- CodeTypeParameterCollection.cs
- JavaScriptString.cs
- StreamHelper.cs
- DataGridColumn.cs
- FrameworkObject.cs
- JsonServiceDocumentSerializer.cs
- QilPatternVisitor.cs
- SrgsSubset.cs
- MdiWindowListStrip.cs
- SystemPens.cs
- Pens.cs
- MailMessageEventArgs.cs
- FlatButtonAppearance.cs
- TextDecoration.cs
- SerializationInfoEnumerator.cs
- ClientTargetCollection.cs
- CellQuery.cs
- Metadata.cs
- AuthenticationSection.cs
- Rotation3DAnimation.cs
- DesignerDataSchemaClass.cs
- AutoResetEvent.cs
- JpegBitmapDecoder.cs
- ImageCollectionCodeDomSerializer.cs
- BasicExpandProvider.cs
- CodeTypeDeclarationCollection.cs
- Utils.cs
- EditorPartCollection.cs
- TextModifier.cs
- ItemPager.cs
- WebPartDescription.cs
- HwndSourceKeyboardInputSite.cs
- BuildProviderCollection.cs
- EmptyStringExpandableObjectConverter.cs
- SettingsSavedEventArgs.cs
- PanelStyle.cs
- RawUIStateInputReport.cs
- DataGridCellsPresenter.cs
- XmlSerializerSection.cs
- FilterableAttribute.cs
- DecoderFallback.cs
- DictionaryGlobals.cs
- AmbiguousMatchException.cs
- VisualTreeUtils.cs
- ImageDrawing.cs
- StringWriter.cs
- EpmTargetTree.cs
- EntityProviderFactory.cs
- VoiceInfo.cs
- DrawingGroupDrawingContext.cs
- AbstractExpressions.cs
- UpdateRecord.cs
- X509InitiatorCertificateServiceElement.cs