Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / Media3D / Point4D.cs / 1305600 / Point4D.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // // Description: 4D point implementation. // // See spec at http://avalon/medialayer/Specifications/Avalon3D%20API%20Spec.mht // // History: // 06/04/2003 : t-gregr - Created // //--------------------------------------------------------------------------- using System.Windows; using System.Windows.Media.Media3D; using System; namespace System.Windows.Media.Media3D { ////// Point4D - 4D point representation. /// Defaults to (0,0,0,0). /// public partial struct Point4D { //----------------------------------------------------- // // Constructors // //----------------------------------------------------- #region Constructors ////// Constructor that sets point's initial values. /// /// Value of the X coordinate of the new point. /// Value of the Y coordinate of the new point. /// Value of the Z coordinate of the new point. /// Value of the W coordinate of the new point. public Point4D(double x, double y, double z, double w) { _x = x; _y = y; _z = z; _w = w; } #endregion Constructors //------------------------------------------------------ // // Public Methods // //----------------------------------------------------- #region Public Methods ////// Offset - update point position by adding deltaX to X, deltaY to Y, deltaZ to Z, and deltaW to W. /// /// Offset in the X direction. /// Offset in the Y direction. /// Offset in the Z direction. /// Offset in the W direction. public void Offset(double deltaX, double deltaY, double deltaZ, double deltaW) { _x += deltaX; _y += deltaY; _z += deltaZ; _w += deltaW; } ////// Addition. /// /// First point being added. /// Second point being added. ///Result of addition. public static Point4D operator +(Point4D point1, Point4D point2) { return new Point4D(point1._x + point2._x, point1._y + point2._y, point1._z + point2._z, point1._w + point2._w); } ////// Addition. /// /// First point being added. /// Second point being added. ///Result of addition. public static Point4D Add(Point4D point1, Point4D point2) { return new Point4D(point1._x + point2._x, point1._y + point2._y, point1._z + point2._z, point1._w + point2._w); } ////// Subtraction. /// /// Point from which we are subtracting the second point. /// Point being subtracted. ///Vector between the two points. public static Point4D operator -(Point4D point1, Point4D point2) { return new Point4D(point1._x - point2._x, point1._y - point2._y, point1._z - point2._z, point1._w - point2._w); } ////// Subtraction. /// /// Point from which we are subtracting the second point. /// Point being subtracted. ///Vector between the two points. public static Point4D Subtract(Point4D point1, Point4D point2) { return new Point4D(point1._x - point2._x, point1._y - point2._y, point1._z - point2._z, point1._w - point2._w); } ////// Point4D * Matrix3D multiplication. /// /// Point being transformed. /// Transformation matrix applied to the point. ///Result of the transformation matrix applied to the point. public static Point4D operator *(Point4D point, Matrix3D matrix) { return matrix.Transform(point); } ////// Point4D * Matrix3D multiplication. /// /// Point being transformed. /// Transformation matrix applied to the point. ///Result of the transformation matrix applied to the point. public static Point4D Multiply(Point4D point, Matrix3D matrix) { return matrix.Transform(point); } #endregion Public Methods } } // 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: 4D point implementation. // // See spec at http://avalon/medialayer/Specifications/Avalon3D%20API%20Spec.mht // // History: // 06/04/2003 : t-gregr - Created // //--------------------------------------------------------------------------- using System.Windows; using System.Windows.Media.Media3D; using System; namespace System.Windows.Media.Media3D { ////// Point4D - 4D point representation. /// Defaults to (0,0,0,0). /// public partial struct Point4D { //----------------------------------------------------- // // Constructors // //----------------------------------------------------- #region Constructors ////// Constructor that sets point's initial values. /// /// Value of the X coordinate of the new point. /// Value of the Y coordinate of the new point. /// Value of the Z coordinate of the new point. /// Value of the W coordinate of the new point. public Point4D(double x, double y, double z, double w) { _x = x; _y = y; _z = z; _w = w; } #endregion Constructors //------------------------------------------------------ // // Public Methods // //----------------------------------------------------- #region Public Methods ////// Offset - update point position by adding deltaX to X, deltaY to Y, deltaZ to Z, and deltaW to W. /// /// Offset in the X direction. /// Offset in the Y direction. /// Offset in the Z direction. /// Offset in the W direction. public void Offset(double deltaX, double deltaY, double deltaZ, double deltaW) { _x += deltaX; _y += deltaY; _z += deltaZ; _w += deltaW; } ////// Addition. /// /// First point being added. /// Second point being added. ///Result of addition. public static Point4D operator +(Point4D point1, Point4D point2) { return new Point4D(point1._x + point2._x, point1._y + point2._y, point1._z + point2._z, point1._w + point2._w); } ////// Addition. /// /// First point being added. /// Second point being added. ///Result of addition. public static Point4D Add(Point4D point1, Point4D point2) { return new Point4D(point1._x + point2._x, point1._y + point2._y, point1._z + point2._z, point1._w + point2._w); } ////// Subtraction. /// /// Point from which we are subtracting the second point. /// Point being subtracted. ///Vector between the two points. public static Point4D operator -(Point4D point1, Point4D point2) { return new Point4D(point1._x - point2._x, point1._y - point2._y, point1._z - point2._z, point1._w - point2._w); } ////// Subtraction. /// /// Point from which we are subtracting the second point. /// Point being subtracted. ///Vector between the two points. public static Point4D Subtract(Point4D point1, Point4D point2) { return new Point4D(point1._x - point2._x, point1._y - point2._y, point1._z - point2._z, point1._w - point2._w); } ////// Point4D * Matrix3D multiplication. /// /// Point being transformed. /// Transformation matrix applied to the point. ///Result of the transformation matrix applied to the point. public static Point4D operator *(Point4D point, Matrix3D matrix) { return matrix.Transform(point); } ////// Point4D * Matrix3D multiplication. /// /// Point being transformed. /// Transformation matrix applied to the point. ///Result of the transformation matrix applied to the point. public static Point4D Multiply(Point4D point, Matrix3D matrix) { return matrix.Transform(point); } #endregion Public Methods } } // 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
- ConfigXmlSignificantWhitespace.cs
- RequestCacheValidator.cs
- EventRoute.cs
- ConfigurationLocation.cs
- WizardSideBarListControlItemEventArgs.cs
- UrlAuthFailureHandler.cs
- ProxyWebPart.cs
- DiscoveryClientProtocol.cs
- TypeRestriction.cs
- EncoderParameter.cs
- Token.cs
- DbProviderFactoriesConfigurationHandler.cs
- DocumentViewerBase.cs
- Resources.Designer.cs
- SpellerError.cs
- EncoderFallback.cs
- AsmxEndpointPickerExtension.cs
- APCustomTypeDescriptor.cs
- TextBoxLine.cs
- MemoryMappedView.cs
- User.cs
- UntypedNullExpression.cs
- OracleConnectionString.cs
- HashUtility.cs
- ResourcePermissionBaseEntry.cs
- basemetadatamappingvisitor.cs
- UpdateTracker.cs
- FormViewPagerRow.cs
- GlyphingCache.cs
- Panel.cs
- Configuration.cs
- WebPartRestoreVerb.cs
- SamlSecurityToken.cs
- ReaderWriterLock.cs
- DataFormats.cs
- TrustLevel.cs
- HyperLinkStyle.cs
- StatusBarPanel.cs
- CollectionType.cs
- RelatedImageListAttribute.cs
- NamedPipeTransportSecurity.cs
- ObjectListDesigner.cs
- DatasetMethodGenerator.cs
- EdmRelationshipRoleAttribute.cs
- Property.cs
- DependencyObject.cs
- CopyNamespacesAction.cs
- _AutoWebProxyScriptHelper.cs
- SemanticKeyElement.cs
- ManualWorkflowSchedulerService.cs
- SystemResourceHost.cs
- HMAC.cs
- BooleanAnimationUsingKeyFrames.cs
- ConsumerConnectionPoint.cs
- GroupItem.cs
- ProtectedConfigurationSection.cs
- BulletedList.cs
- SortDescriptionCollection.cs
- fixedPageContentExtractor.cs
- CheckedPointers.cs
- InvokeWebService.cs
- Utility.cs
- _Semaphore.cs
- RichTextBoxConstants.cs
- UnmanagedMarshal.cs
- TypographyProperties.cs
- DelimitedListTraceListener.cs
- DataGridViewElement.cs
- Socket.cs
- SamlAuthorizationDecisionClaimResource.cs
- FrameworkTemplate.cs
- OptimalTextSource.cs
- ValidatorUtils.cs
- ELinqQueryState.cs
- Currency.cs
- SoapEnumAttribute.cs
- Underline.cs
- UnaryOperationBinder.cs
- SSmlParser.cs
- RecordBuilder.cs
- DataErrorValidationRule.cs
- DataSourceUtil.cs
- GraphicsPath.cs
- BitmapEffectGeneralTransform.cs
- InputScope.cs
- SimpleTypeResolver.cs
- PositiveTimeSpanValidatorAttribute.cs
- DataObjectFieldAttribute.cs
- NamespaceTable.cs
- ExtractorMetadata.cs
- ReaderContextStackData.cs
- DataViewSettingCollection.cs
- AsymmetricKeyExchangeFormatter.cs
- Action.cs
- Storyboard.cs
- StatusStrip.cs
- Matrix.cs
- PrefixQName.cs
- Brush.cs
- TransportConfigurationTypeElement.cs