示例#1
0
        /// <summary> Linearly interpolates between this tuple and tuple t1 and places the
        /// result into this tuple: this = (1-alpha)*this + alpha*t1.
        /// </summary>
        /// <param name="t1">the first tuple
        /// </param>
        /// <param name="alpha">the alpha interpolation parameter
        ///
        /// </param>
        public void  interpolate(Tuple2f t1, float alpha)
        {
            float beta = 1 - alpha;

            x = beta * x + alpha * t1.x;
            y = beta * y + alpha * t1.y;
        }
示例#2
0
 /// <summary> Returns true if the L-infinite distance between this tuple and tuple t1 is
 /// less than or equal to the epsilon parameter, otherwise returns false. The L-infinite
 /// distance is equal to MAX[abs(x1-x2), abs(y1-y2)].
 /// </summary>
 /// <param name="t1">the tuple to be compared to this tuple
 /// </param>
 /// <param name="epsilon">the threshold value
 /// </param>
 public virtual bool epsilonEquals(Tuple2f t1, float epsilon)
 {
     return((System.Math.Abs(t1.x - this.x) <= epsilon) && (System.Math.Abs(t1.y - this.y) <= epsilon));
 }
示例#3
0
 /// <summary> Sets the value of this tuple to the scalar multiplication of itself and then
 /// adds tuple t1 (this = s*this + t1).
 /// </summary>
 /// <param name="s">the scalar value
 /// </param>
 /// <param name="t1">the tuple to be added
 /// </param>
 public void  scaleAdd(float s, Tuple2f t1)
 {
     x = s * x + t1.x;
     y = s * y + t1.y;
 }
示例#4
0
 /// <summary> Sets the value of this tuple to the scalar multiplication of tuple t1.</summary>
 /// <param name="s">the scalar value
 /// </param>
 /// <param name="t1">the source tuple
 /// </param>
 public void  scale(float s, Tuple2f t1)
 {
     x = s * t1.x;
     y = s * t1.y;
 }
示例#5
0
 /// <summary> Sets the value of this tuple to the vector difference of itself and tuple t1 (this = this - t1).</summary>
 /// <param name="t1">the other tuple
 /// </param>
 public void  sub(Tuple2f t1)
 {
     x -= t1.x;
     y -= t1.y;
 }
示例#6
0
 /// <summary> Sets the value of this tuple to the vector sum of itself and tuple t1.</summary>
 /// <param name="t1"> the other tuple
 /// </param>
 public void  add(Tuple2f t1)
 {
     x += t1.x;
     y += t1.y;
 }
示例#7
0
		/// <summary> Sets the value of this tuple to the value of the Tuple2f argument.</summary>
		/// <param name="t1">the tuple to be copied
		/// </param>
		public void  set_Renamed(Tuple2f t1)
		{
			x = t1.x;
			y = t1.y;
		}
示例#8
0
		/// <summary> Sets the value of this tuple to the scalar multiplication of tuple t1.</summary>
		/// <param name="s">the scalar value
		/// </param>
		/// <param name="t1">the source tuple
		/// </param>
		public void  scale(float s, Tuple2f t1)
		{
			x = s * t1.x;
			y = s * t1.y;
		}
示例#9
0
		/// <summary> Sets the value of this tuple to the scalar multiplication of tuple t1 and then
		/// adds tuple t2 (this = s*t1 + t2).
		/// </summary>
		/// <param name="s">the scalar value
		/// </param>
		/// <param name="t1">the tuple to be multipled
		/// </param>
		/// <param name="t2">the tuple to be added
		/// </param>
		public void  scaleAdd(float s, Tuple2f t1, Tuple2f t2)
		{
			x = s * t1.x + t2.x;
			y = s * t1.y + t2.y;
		}
示例#10
0
		/// <summary> Sets the value of this tuple to the vector difference of itself and tuple t1 (this = this - t1).</summary>
		/// <param name="t1">the other tuple
		/// </param>
		public void  sub(Tuple2f t1)
		{
			x -= t1.x;
			y -= t1.y;
		}
示例#11
0
		/// <summary> Sets the value of this tuple to the negation of tuple t1. </summary>
		/// <param name="t1">the source vector
		/// </param>
		public void  negate(Tuple2f t1)
		{
			x = - t1.x;
			y = - t1.y;
		}
示例#12
0
		/// <summary> Sets the value of this tuple to the vector difference of tuple t1 and t2 (this = t1 - t2).</summary>
		/// <param name="t1">the first tuple
		/// </param>
		/// <param name="t2">the second tuple
		/// </param>
		public void  sub(Tuple2f t1, Tuple2f t2)
		{
			x = t1.x - t2.x;
			y = t1.y - t2.y;
		}
示例#13
0
		/// <summary> Sets the value of this tuple to the vector sum of itself and tuple t1.</summary>
		/// <param name="t1"> the other tuple
		/// </param>
		public void  add(Tuple2f t1)
		{
			x += t1.x;
			y += t1.y;
		}
示例#14
0
		// Why no get(Tuple2f t), which exists in Tuple3f ?
		
		/// <summary> Sets the value of this tuple to the vector sum of tuples t1 and t2.</summary>
		/// <param name="t1">the first tuple
		/// </param>
		/// <param name="t2">the second tuple
		/// </param>
		public void  add(Tuple2f t1, Tuple2f t2)
		{
			x = t1.x + t2.x;
			y = t1.y + t2.y;
		}
示例#15
0
 /// <summary> Clamps the minimum value of the tuple parameter to the min parameter
 /// and places the values into this tuple.
 /// </summary>
 /// <param name="min">the lowest value in the tuple after clamping
 /// </param>
 /// <parm>  t the source tuple, which will not be modified </parm>
 public void  clampMin(float min, Tuple2f t)
 {
     set_Renamed(t);
     clampMin(min);
 }
示例#16
0
		/// <summary> Sets the value of this tuple to the scalar multiplication of itself and then
		/// adds tuple t1 (this = s*this + t1).
		/// </summary>
		/// <param name="s">the scalar value
		/// </param>
		/// <param name="t1">the tuple to be added
		/// </param>
		public void  scaleAdd(float s, Tuple2f t1)
		{
			x = s * x + t1.x;
			y = s * y + t1.y;
		}
示例#17
0
 /// <summary> Sets each component of the tuple parameter to its absolute value and
 /// places the modified values into this tuple.
 /// </summary>
 /// <param name="t">the source tuple, which will not be modified
 /// </param>
 public void  absolute(Tuple2f t)
 {
     set_Renamed(t);
     absolute();
 }
示例#18
0
		/// <summary> Returns a hash number based on the data values in this object. 
		/// Two different Tuple2f objects with identical data  values
		/// (ie, returns true for equals(Tuple2f) ) will return the same hash number.
		/// Two vectors with different data members may return the same hash value,
		/// although this is not likely.
		/// </summary>
        //public override int GetHashCode()
        //{
        //    //UPGRADE_ISSUE: Method 'java.lang.Float.floatToIntBits' was not converted. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1000_javalangFloatfloatToIntBits_float'"
        //    int xbits = Float.floatToIntBits(x);
        //    //UPGRADE_ISSUE: Method 'java.lang.Float.floatToIntBits' was not converted. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1000_javalangFloatfloatToIntBits_float'"
        //    int ybits = Float.floatToIntBits(y);
        //    return xbits ^ ybits;
        //}
		
		/// <summary> Returns true if all of the data members of Tuple2f t1 are equal to the corresponding
		/// data members in this
		/// </summary>
		/// <param name="t1">the vector with which the comparison is made.
		/// </param>
		public bool equals(Tuple2f t1)
		{
			return t1 != null && x == t1.x && y == t1.y;
		}
示例#19
0
		/// <summary> Constructs and initializes a Vector2f from the specified Tuple2f.</summary>
		/// <param name="t1">the Tuple2f containing the initialization x y data
		/// </param>
		public Vector2f(Tuple2f t1):base(t1)
		{
		}
示例#20
0
		/// <summary> Returns true if the L-infinite distance between this tuple and tuple t1 is
		/// less than or equal to the epsilon parameter, otherwise returns false. The L-infinite
		/// distance is equal to MAX[abs(x1-x2), abs(y1-y2)].
		/// </summary>
		/// <param name="t1">the tuple to be compared to this tuple
		/// </param>
		/// <param name="epsilon">the threshold value
		/// </param>
		public virtual bool epsilonEquals(Tuple2f t1, float epsilon)
		{
			return (System.Math.Abs(t1.x - this.x) <= epsilon) && (System.Math.Abs(t1.y - this.y) <= epsilon);
		}
示例#21
0
        // Why no get(Tuple2f t), which exists in Tuple3f ?

        /// <summary> Sets the value of this tuple to the vector sum of tuples t1 and t2.</summary>
        /// <param name="t1">the first tuple
        /// </param>
        /// <param name="t2">the second tuple
        /// </param>
        public void  add(Tuple2f t1, Tuple2f t2)
        {
            x = t1.x + t2.x;
            y = t1.y + t2.y;
        }
示例#22
0
		/// <summary> Clamps the tuple parameter to the range [low, high] and places the values
		/// into this tuple.
		/// </summary>
		/// <param name="min">the lowest value in the tuple after clamping
		/// </param>
		/// <param name="max">the highest value in the tuple after clamping
		/// </param>
		/// <param name="t">the source tuple, which will not be modified
		/// </param>
		public void  clamp(float min, float max, Tuple2f t)
		{
			set_Renamed(t);
			clamp(min, max);
		}
示例#23
0
 /// <summary> Sets the value of this tuple to the vector difference of tuple t1 and t2 (this = t1 - t2).</summary>
 /// <param name="t1">the first tuple
 /// </param>
 /// <param name="t2">the second tuple
 /// </param>
 public void  sub(Tuple2f t1, Tuple2f t2)
 {
     x = t1.x - t2.x;
     y = t1.y - t2.y;
 }
示例#24
0
		/// <summary> Clamps the minimum value of the tuple parameter to the min parameter
		/// and places the values into this tuple.
		/// </summary>
		/// <param name="min">the lowest value in the tuple after clamping
		/// </param>
		/// <parm>  t the source tuple, which will not be modified </parm>
		public void  clampMin(float min, Tuple2f t)
		{
			set_Renamed(t);
			clampMin(min);
		}
示例#25
0
 /// <summary> Sets the value of this tuple to the negation of tuple t1. </summary>
 /// <param name="t1">the source vector
 /// </param>
 public void  negate(Tuple2f t1)
 {
     x = -t1.x;
     y = -t1.y;
 }
示例#26
0
		/// <summary> Clamps the maximum value of the tuple parameter to the max parameter and
		/// places the values into this tuple.
		/// </summary>
		/// <param name="max">the highest value in the tuple after clamping
		/// </param>
		/// <param name="t">the source tuple, which will not be modified
		/// </param>
		public void  clampMax(float max, Tuple2f t)
		{
			set_Renamed(t);
			clampMax(max);
		}
示例#27
0
 /// <summary> Sets the value of this tuple to the scalar multiplication of tuple t1 and then
 /// adds tuple t2 (this = s*t1 + t2).
 /// </summary>
 /// <param name="s">the scalar value
 /// </param>
 /// <param name="t1">the tuple to be multipled
 /// </param>
 /// <param name="t2">the tuple to be added
 /// </param>
 public void  scaleAdd(float s, Tuple2f t1, Tuple2f t2)
 {
     x = s * t1.x + t2.x;
     y = s * t1.y + t2.y;
 }
示例#28
0
		/// <summary> Sets each component of the tuple parameter to its absolute value and
		/// places the modified values into this tuple.
		/// </summary>
		/// <param name="t">the source tuple, which will not be modified
		/// </param>
		public void  absolute(Tuple2f t)
		{
			set_Renamed(t);
			absolute();
		}
示例#29
0
        /// <summary> Returns a hash number based on the data values in this object.
        /// Two different Tuple2f objects with identical data  values
        /// (ie, returns true for equals(Tuple2f) ) will return the same hash number.
        /// Two vectors with different data members may return the same hash value,
        /// although this is not likely.
        /// </summary>
        //public override int GetHashCode()
        //{
        //    //UPGRADE_ISSUE: Method 'java.lang.Float.floatToIntBits' was not converted. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1000_javalangFloatfloatToIntBits_float'"
        //    int xbits = Float.floatToIntBits(x);
        //    //UPGRADE_ISSUE: Method 'java.lang.Float.floatToIntBits' was not converted. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1000_javalangFloatfloatToIntBits_float'"
        //    int ybits = Float.floatToIntBits(y);
        //    return xbits ^ ybits;
        //}

        /// <summary> Returns true if all of the data members of Tuple2f t1 are equal to the corresponding
        /// data members in this
        /// </summary>
        /// <param name="t1">the vector with which the comparison is made.
        /// </param>
        public bool equals(Tuple2f t1)
        {
            return(t1 != null && x == t1.x && y == t1.y);
        }
示例#30
0
		/// <summary> Linearly interpolates between tuples t1 and t2 and places the
		/// result into this tuple: this = (1-alpha)*t1 + alpha*t2.
		/// </summary>
		/// <param name="t1">the first tuple
		/// </param>
		/// <param name="t2">the second tuple
		/// </param>
		/// <param name="alpha">the alpha interpolation parameter
		/// </param>
		public void  interpolate(Tuple2f t1, Tuple2f t2, float alpha)
		{
			set_Renamed(t1);
			interpolate(t2, alpha);
		}
示例#31
0
 /// <summary> Clamps the tuple parameter to the range [low, high] and places the values
 /// into this tuple.
 /// </summary>
 /// <param name="min">the lowest value in the tuple after clamping
 /// </param>
 /// <param name="max">the highest value in the tuple after clamping
 /// </param>
 /// <param name="t">the source tuple, which will not be modified
 /// </param>
 public void  clamp(float min, float max, Tuple2f t)
 {
     set_Renamed(t);
     clamp(min, max);
 }
示例#32
0
		/// <summary> Linearly interpolates between this tuple and tuple t1 and places the
		/// result into this tuple: this = (1-alpha)*this + alpha*t1.
		/// </summary>
		/// <param name="t1">the first tuple
		/// </param>
		/// <param name="alpha">the alpha interpolation parameter
		/// 
		/// </param>
		public void  interpolate(Tuple2f t1, float alpha)
		{
			float beta = 1 - alpha;
			x = beta * x + alpha * t1.x;
			y = beta * y + alpha * t1.y;
		}
示例#33
0
 /// <summary> Clamps the maximum value of the tuple parameter to the max parameter and
 /// places the values into this tuple.
 /// </summary>
 /// <param name="max">the highest value in the tuple after clamping
 /// </param>
 /// <param name="t">the source tuple, which will not be modified
 /// </param>
 public void  clampMax(float max, Tuple2f t)
 {
     set_Renamed(t);
     clampMax(max);
 }
示例#34
0
		/// <summary> Constructs and initializes a Tuple2f from the specified Tuple2f.</summary>
		/// <param name="t1">the Tuple2f containing the initialization x y data
		/// </param>
		public Tuple2f(Tuple2f t1)
		{
			x = t1.x;
			y = t1.y;
		}
示例#35
0
 /// <summary> Linearly interpolates between tuples t1 and t2 and places the
 /// result into this tuple: this = (1-alpha)*t1 + alpha*t2.
 /// </summary>
 /// <param name="t1">the first tuple
 /// </param>
 /// <param name="t2">the second tuple
 /// </param>
 /// <param name="alpha">the alpha interpolation parameter
 /// </param>
 public void  interpolate(Tuple2f t1, Tuple2f t2, float alpha)
 {
     set_Renamed(t1);
     interpolate(t2, alpha);
 }
示例#36
0
 /// <summary> Constructs and initializes a Vector2f from the specified Tuple2f.</summary>
 /// <param name="t1">the Tuple2f containing the initialization x y data
 /// </param>
 public Vector2f(Tuple2f t1) : base(t1)
 {
 }
示例#37
0
 /// <summary> Constructs and initializes a Tuple2f from the specified Tuple2f.</summary>
 /// <param name="t1">the Tuple2f containing the initialization x y data
 /// </param>
 public Tuple2f(Tuple2f t1)
 {
     x = t1.x;
     y = t1.y;
 }
示例#38
0
 /// <summary> Sets the value of this tuple to the value of the Tuple2f argument.</summary>
 /// <param name="t1">the tuple to be copied
 /// </param>
 public void  set_Renamed(Tuple2f t1)
 {
     x = t1.x;
     y = t1.y;
 }
示例#39
0
		/// <summary> Constructs and initializes a Point2d from the specified Tuple2f.</summary>
		/// <param name="t1">the Tuple2f containing the initialization x y data
		/// </param>
		public Point2d(Tuple2f t1):base(t1)
		{
		}
示例#40
0
 /// <summary> Constructs and initializes a Point2f from the specified Tuple2f.</summary>
 /// <param name="t1">the Tuple2f containing the initialization x y data
 /// </param>
 public Point2f(Tuple2f t1) : base(t1)
 {
 }