Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SyndicationLink.cs
- ComponentChangingEvent.cs
- CustomAttributeBuilder.cs
- MailDefinition.cs
- HtmlFormWrapper.cs
- InstanceDataCollection.cs
- DeflateStream.cs
- DataContractJsonSerializerOperationFormatter.cs
- xsdvalidator.cs
- EntityPropertyMappingAttribute.cs
- MissingManifestResourceException.cs
- TripleDES.cs
- XmlSchemaDocumentation.cs
- HostExecutionContextManager.cs
- MailMessageEventArgs.cs
- PeerChannelListener.cs
- EraserBehavior.cs
- TypeInitializationException.cs
- DynamicActivityXamlReader.cs
- InlineCollection.cs
- HandledEventArgs.cs
- WindowsRebar.cs
- RoamingStoreFile.cs
- SoapExtensionTypeElement.cs
- SingleAnimationBase.cs
- WebPartCancelEventArgs.cs
- Section.cs
- NamedServiceModelExtensionCollectionElement.cs
- ArglessEventHandlerProxy.cs
- bindurihelper.cs
- util.cs
- UnicodeEncoding.cs
- SqlBulkCopyColumnMapping.cs
- XamlToRtfWriter.cs
- SessionParameter.cs
- SoapHttpTransportImporter.cs
- PersonalizationState.cs
- BreakRecordTable.cs
- GraphicsState.cs
- ISAPIApplicationHost.cs
- PointAnimationClockResource.cs
- RuntimeCompatibilityAttribute.cs
- HttpPostServerProtocol.cs
- UserPreference.cs
- RangeValidator.cs
- XmlEntityReference.cs
- EventPropertyMap.cs
- MethodCallTranslator.cs
- CngKeyBlobFormat.cs
- BaseDataBoundControl.cs
- DictionaryEntry.cs
- OdbcDataAdapter.cs
- BindingContext.cs
- SourceFilter.cs
- CorrelationService.cs
- EventsTab.cs
- Hex.cs
- UndirectedGraph.cs
- HashAlgorithm.cs
- Control.cs
- DataTableNameHandler.cs
- FixedStringLookup.cs
- ProviderUtil.cs
- LinkTarget.cs
- FullTextState.cs
- BufferModeSettings.cs
- DashStyles.cs
- XmlElementList.cs
- XmlIncludeAttribute.cs
- CompositeScriptReference.cs
- AssemblyBuilderData.cs
- EmptyCollection.cs
- XmlHierarchyData.cs
- Hash.cs
- ZipFileInfo.cs
- HttpInputStream.cs
- HwndKeyboardInputProvider.cs
- XPathBinder.cs
- FixedSOMPageConstructor.cs
- BreakRecordTable.cs
- XmlLinkedNode.cs
- FixedSOMTextRun.cs
- ArgIterator.cs
- WebPartDisplayModeCancelEventArgs.cs
- _AutoWebProxyScriptEngine.cs
- XmlAutoDetectWriter.cs
- BaseCAMarshaler.cs
- CriticalFinalizerObject.cs
- RecordConverter.cs
- InstancePersistenceCommandException.cs
- XmlImplementation.cs
- RectAnimation.cs
- ExtentKey.cs
- TypeUsage.cs
- Transform3D.cs
- DataKey.cs
- RtfControls.cs
- WpfKnownMember.cs
- BitmapEffectInput.cs
- XmlLoader.cs