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
- Menu.cs
- AddInActivator.cs
- Identity.cs
- UnsupportedPolicyOptionsException.cs
- DomainUpDown.cs
- ApplicationDirectoryMembershipCondition.cs
- propertytag.cs
- SemanticAnalyzer.cs
- SrgsRulesCollection.cs
- ResourceDescriptionAttribute.cs
- ServiceOperationDetailViewControl.cs
- WmlCalendarAdapter.cs
- DrawToolTipEventArgs.cs
- ForwardPositionQuery.cs
- ComponentConverter.cs
- GraphicsPathIterator.cs
- NamedPipeAppDomainProtocolHandler.cs
- PingReply.cs
- SyntaxCheck.cs
- ReflectPropertyDescriptor.cs
- TablePattern.cs
- DBBindings.cs
- TextSearch.cs
- SqlGatherConsumedAliases.cs
- RootBrowserWindowProxy.cs
- ObservableCollection.cs
- OleDbDataReader.cs
- CustomLineCap.cs
- MetadataPropertyAttribute.cs
- FrameworkElementFactoryMarkupObject.cs
- followingquery.cs
- DesignerListAdapter.cs
- TemplatePagerField.cs
- XamlInt32CollectionSerializer.cs
- Normalizer.cs
- DocumentXPathNavigator.cs
- FastPropertyAccessor.cs
- TransformationRules.cs
- SoapAttributeOverrides.cs
- Control.cs
- KeyGestureValueSerializer.cs
- IDispatchConstantAttribute.cs
- Number.cs
- cookie.cs
- XsdBuildProvider.cs
- CoTaskMemHandle.cs
- LoginView.cs
- OdbcTransaction.cs
- SqlBulkCopyColumnMappingCollection.cs
- GenericTextProperties.cs
- SafeArrayRankMismatchException.cs
- ImmutableObjectAttribute.cs
- Pool.cs
- TextViewBase.cs
- StyleSheetDesigner.cs
- SqlMethods.cs
- FilteredSchemaElementLookUpTable.cs
- ToolStripComboBox.cs
- TableLayoutSettingsTypeConverter.cs
- ListBindableAttribute.cs
- SequenceDesignerAccessibleObject.cs
- KoreanCalendar.cs
- ObjectHandle.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- HashCodeCombiner.cs
- FigureParagraph.cs
- MetaType.cs
- XmlStreamNodeWriter.cs
- RuntimeWrappedException.cs
- Menu.cs
- PrintingPermissionAttribute.cs
- SizeValueSerializer.cs
- WebPartConnectionsDisconnectVerb.cs
- ConfigDefinitionUpdates.cs
- AutoScrollExpandMessageFilter.cs
- AccessDataSource.cs
- PenLineJoinValidation.cs
- SystemFonts.cs
- Animatable.cs
- ConsumerConnectionPointCollection.cs
- IsolatedStorageFileStream.cs
- DataMisalignedException.cs
- HttpCapabilitiesBase.cs
- SqlAliasesReferenced.cs
- QilTernary.cs
- SiteMapSection.cs
- MiniCustomAttributeInfo.cs
- CodeExporter.cs
- MemoryStream.cs
- WebPartCatalogAddVerb.cs
- BindingUtils.cs
- DebugView.cs
- NativeMethods.cs
- DataGridViewCellValidatingEventArgs.cs
- ScriptReferenceEventArgs.cs
- StringReader.cs
- ScriptControl.cs
- RelationshipEndMember.cs
- FileDialogCustomPlacesCollection.cs
- InvalidPrinterException.cs