| File: System\Windows\Media3D\Generated\Vector3D.cs | Web Access |
| Project: src\wpf\src\Microsoft.DotNet.Wpf\src\PresentationCore\PresentationCore.csproj (PresentationCore) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // // // This file was generated, please do not edit it directly. // // Please see MilCodeGen.html for more information. // using MS.Internal; using MS.Internal.Collections; using MS.Utility; using System.Collections; using System.ComponentModel; using System.Globalization; using System.Text; using System.Windows.Markup; using System.Windows.Media.Media3D.Converters; using System.Windows.Media.Animation; using System.Windows.Media.Composition; namespace System.Windows.Media.Media3D { [Serializable] [TypeConverter(typeof(Vector3DConverter))] [ValueSerializer(typeof(Vector3DValueSerializer))] // Used by MarkupWriter public partial struct Vector3D : IFormattable { //------------------------------------------------------ // // Public Methods // //------------------------------------------------------ #region Public Methods /// <summary> /// Compares two Vector3D instances for exact equality. /// Note that double values can acquire error when operated upon, such that /// an exact comparison between two values which are logically equal may fail. /// Furthermore, using this equality operator, Double.NaN is not equal to itself. /// </summary> /// <returns> /// bool - true if the two Vector3D instances are exactly equal, false otherwise /// </returns> /// <param name='vector1'>The first Vector3D to compare</param> /// <param name='vector2'>The second Vector3D to compare</param> public static bool operator ==(Vector3D vector1, Vector3D vector2) { return vector1.X == vector2.X && vector1.Y == vector2.Y && vector1.Z == vector2.Z; } /// <summary> /// Compares two Vector3D instances for exact inequality. /// Note that double values can acquire error when operated upon, such that /// an exact comparison between two values which are logically equal may fail. /// Furthermore, using this equality operator, Double.NaN is not equal to itself. /// </summary> /// <returns> /// bool - true if the two Vector3D instances are exactly unequal, false otherwise /// </returns> /// <param name='vector1'>The first Vector3D to compare</param> /// <param name='vector2'>The second Vector3D to compare</param> public static bool operator !=(Vector3D vector1, Vector3D vector2) { return !(vector1 == vector2); } /// <summary> /// Compares two Vector3D instances for object equality. In this equality /// Double.NaN is equal to itself, unlike in numeric equality. /// Note that double values can acquire error when operated upon, such that /// an exact comparison between two values which /// are logically equal may fail. /// </summary> /// <returns> /// bool - true if the two Vector3D instances are exactly equal, false otherwise /// </returns> /// <param name='vector1'>The first Vector3D to compare</param> /// <param name='vector2'>The second Vector3D to compare</param> public static bool Equals(Vector3D vector1, Vector3D vector2) { return vector1.X.Equals(vector2.X) && vector1.Y.Equals(vector2.Y) && vector1.Z.Equals(vector2.Z); } /// <summary> /// Equals - compares this Vector3D with the passed in object. In this equality /// Double.NaN is equal to itself, unlike in numeric equality. /// Note that double values can acquire error when operated upon, such that /// an exact comparison between two values which /// are logically equal may fail. /// </summary> /// <returns> /// bool - true if the object is an instance of Vector3D and if it's equal to "this". /// </returns> /// <param name='o'>The object to compare to "this"</param> public override bool Equals(object o) { if ((null == o) || !(o is Vector3D)) { return false; } Vector3D value = (Vector3D)o; return Vector3D.Equals(this,value); } /// <summary> /// Equals - compares this Vector3D with the passed in object. In this equality /// Double.NaN is equal to itself, unlike in numeric equality. /// Note that double values can acquire error when operated upon, such that /// an exact comparison between two values which /// are logically equal may fail. /// </summary> /// <returns> /// bool - true if "value" is equal to "this". /// </returns> /// <param name='value'>The Vector3D to compare to "this"</param> public bool Equals(Vector3D value) { return Vector3D.Equals(this, value); } /// <summary> /// Returns the HashCode for this Vector3D /// </summary> /// <returns> /// int - the HashCode for this Vector3D /// </returns> public override int GetHashCode() { // Perform field-by-field XOR of HashCodes return X.GetHashCode() ^ Y.GetHashCode() ^ Z.GetHashCode(); } /// <summary> /// Parse - returns an instance converted from the provided string using /// the culture "en-US" /// <param name="source"> string with Vector3D data </param> /// </summary> public static Vector3D Parse(string source) { IFormatProvider formatProvider = System.Windows.Markup.TypeConverterHelper.InvariantEnglishUS; TokenizerHelper th = new TokenizerHelper(source, formatProvider); Vector3D value; String firstToken = th.NextTokenRequired(); value = new Vector3D( Convert.ToDouble(firstToken, formatProvider), Convert.ToDouble(th.NextTokenRequired(), formatProvider), Convert.ToDouble(th.NextTokenRequired(), formatProvider)); // There should be no more tokens in this string. th.LastTokenRequired(); return value; } #endregion Public Methods //------------------------------------------------------ // // Public Properties // //------------------------------------------------------ #region Public Properties /// <summary> /// X - double. Default value is 0. /// </summary> public double X { get { return _x; } set { _x = value; } } /// <summary> /// Y - double. Default value is 0. /// </summary> public double Y { get { return _y; } set { _y = value; } } /// <summary> /// Z - double. Default value is 0. /// </summary> public double Z { get { return _z; } set { _z = value; } } #endregion Public Properties //------------------------------------------------------ // // Protected Methods // //------------------------------------------------------ #region Protected Methods #endregion ProtectedMethods //------------------------------------------------------ // // Internal Methods // //------------------------------------------------------ #region Internal Methods #endregion Internal Methods //------------------------------------------------------ // // Internal Properties // //------------------------------------------------------ #region Internal Properties /// <summary> /// Creates a string representation of this object based on the current culture. /// </summary> /// <returns> /// A string representation of this object. /// </returns> public override string ToString() { // Delegate to the internal method which implements all ToString calls. return ConvertToString(null /* format string */, null /* format provider */); } /// <summary> /// Creates a string representation of this object based on the IFormatProvider /// passed in. If the provider is null, the CurrentCulture is used. /// </summary> /// <returns> /// A string representation of this object. /// </returns> public string ToString(IFormatProvider provider) { // Delegate to the internal method which implements all ToString calls. return ConvertToString(null /* format string */, provider); } /// <summary> /// Creates a string representation of this object based on the format string /// and IFormatProvider passed in. /// If the provider is null, the CurrentCulture is used. /// See the documentation for IFormattable for more information. /// </summary> /// <returns> /// A string representation of this object. /// </returns> string IFormattable.ToString(string format, IFormatProvider provider) { // Delegate to the internal method which implements all ToString calls. return ConvertToString(format, provider); } /// <summary> /// Creates a string representation of this object based on the format string /// and IFormatProvider passed in. /// If the provider is null, the CurrentCulture is used. /// See the documentation for IFormattable for more information. /// </summary> /// <returns> /// A string representation of this object. /// </returns> internal string ConvertToString(string format, IFormatProvider provider) { // Helper to get the numeric list separator for a given culture. char separator = MS.Internal.TokenizerHelper.GetNumericListSeparator(provider); return String.Format(provider, "{1:" + format + "}{0}{2:" + format + "}{0}{3:" + format + "}", separator, _x, _y, _z); } #endregion Internal Properties //------------------------------------------------------ // // Dependency Properties // //------------------------------------------------------ #region Dependency Properties #endregion Dependency Properties //------------------------------------------------------ // // Internal Fields // //------------------------------------------------------ #region Internal Fields internal double _x; internal double _y; internal double _z; #endregion Internal Fields #region Constructors //------------------------------------------------------ // // Constructors // //------------------------------------------------------ #endregion Constructors } }