コード例 #1
0
ファイル: Tuple2d.cs プロジェクト: carlhuth/GenXSource
        /// <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(Tuple2d t1, double alpha)
        {
            double beta = 1 - alpha;

            x = beta * x + alpha * t1.x;
            y = beta * y + alpha * t1.y;
        }
コード例 #2
0
ファイル: Tuple2f.cs プロジェクト: carlhuth/GenXSource
 /// <summary> Sets the value of this tuple to the value of the Tuple2d argument.</summary>
 /// <param name="t1">the tuple to be copied
 /// </param>
 public void  set_Renamed(Tuple2d t1)
 {
     //UPGRADE_WARNING: Data types in Visual C# might be different.  Verify the accuracy of narrowing conversions. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1042'"
     x = (float)t1.x;
     //UPGRADE_WARNING: Data types in Visual C# might be different.  Verify the accuracy of narrowing conversions. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1042'"
     y = (float)t1.y;
 }
コード例 #3
0
ファイル: Tuple2d.cs プロジェクト: carlhuth/GenXSource
 /// <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(Tuple2d t1, Tuple2d t2, double alpha)
 {
     set_Renamed(t1);
     interpolate(t2, alpha);
 }
コード例 #4
0
ファイル: Tuple2d.cs プロジェクト: carlhuth/GenXSource
 /// <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(double s, Tuple2d t1)
 {
     x = s * x + t1.x;
     y = s * y + t1.y;
 }
コード例 #5
0
ファイル: Tuple2d.cs プロジェクト: carlhuth/GenXSource
 /// <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(double max, Tuple2d t)
 {
     set_Renamed(t);
     clampMax(max);
 }
コード例 #6
0
ファイル: Tuple2d.cs プロジェクト: carlhuth/GenXSource
 /// <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(Tuple2d t)
 {
     set_Renamed(t);
     absolute();
 }
コード例 #7
0
ファイル: Tuple2d.cs プロジェクト: carlhuth/GenXSource
 /// <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(double min, double max, Tuple2d t)
 {
     set_Renamed(t);
     clamp(min, max);
 }
コード例 #8
0
ファイル: Tuple2d.cs プロジェクト: carlhuth/GenXSource
 /// <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(double min, Tuple2d t)
 {
     set_Renamed(t);
     clampMin(min);
 }
コード例 #9
0
 /// <summary> Constructs and initializes a Vector2f from the specified Tuple2d.</summary>
 /// <param name="t1">the Tuple2d containing the initialization x y data
 /// </param>
 public Vector2f(Tuple2d t1) : base(t1)
 {
 }
コード例 #10
0
ファイル: Tuple2d.cs プロジェクト: carlhuth/GenXSource
        // Why no get(Tuple2d 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(Tuple2d t1, Tuple2d t2)
        {
            x = t1.x + t2.x;
            y = t1.y + t2.y;
        }
コード例 #11
0
ファイル: Tuple2d.cs プロジェクト: carlhuth/GenXSource
 /// <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(double s, Tuple2d t1, Tuple2d t2)
 {
     x = s * t1.x + t2.x;
     y = s * t1.y + t2.y;
 }
コード例 #12
0
ファイル: Tuple2d.cs プロジェクト: carlhuth/GenXSource
 /// <summary> Constructs and initializes a Tuple2d from the specified Tuple2d.</summary>
 /// <param name="t1">the Tuple2d containing the initialization x y data
 /// </param>
 public Tuple2d(Tuple2d t1)
 {
     x = t1.x;
     y = t1.y;
 }
コード例 #13
0
ファイル: Tuple2d.cs プロジェクト: carlhuth/GenXSource
 /// <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(double s, Tuple2d t1)
 {
     x = s * t1.x;
     y = s * t1.y;
 }
コード例 #14
0
ファイル: Tuple2d.cs プロジェクト: carlhuth/GenXSource
 /// <summary> Sets the value of this tuple to the negation of tuple t1. </summary>
 /// <param name="t1">the source vector
 /// </param>
 public void  negate(Tuple2d t1)
 {
     x = -t1.x;
     y = -t1.y;
 }
コード例 #15
0
ファイル: Tuple2d.cs プロジェクト: carlhuth/GenXSource
 /// <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(Tuple2d t1)
 {
     x -= t1.x;
     y -= t1.y;
 }
コード例 #16
0
ファイル: Tuple2d.cs プロジェクト: carlhuth/GenXSource
 /// <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(Tuple2d t1, Tuple2d t2)
 {
     x = t1.x - t2.x;
     y = t1.y - t2.y;
 }
コード例 #17
0
ファイル: Tuple2d.cs プロジェクト: carlhuth/GenXSource
 /// <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(Tuple2d t1)
 {
     x += t1.x;
     y += t1.y;
 }
コード例 #18
0
 /// <summary> Constructs and initializes a Point2f from the specified Tuple2d.</summary>
 /// <param name="t1">the Tuple2d containing the initialization x y data
 /// </param>
 public Point2f(Tuple2d t1) : base(t1)
 {
 }
コード例 #19
0
ファイル: Tuple2d.cs プロジェクト: carlhuth/GenXSource
        /// <summary> Returns a hash number based on the data values in this object.
        /// Two different Tuple2d objects with identical data  values
        /// (ie, returns true for equals(Tuple2d) ) 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.Double.doubleToLongBits' was not converted. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1000_javalangDoubledoubleToLongBits_double'"
        //    long xbits = Double.doubleToLongBits(x);
        //    //UPGRADE_ISSUE: Method 'java.lang.Double.doubleToLongBits' was not converted. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1000_javalangDoubledoubleToLongBits_double'"
        //    long ybits = Double.doubleToLongBits(y);
        //    return (int) (xbits ^ (xbits >> 32) ^ ybits ^ (ybits >> 32));
        //}

        /// <summary> Returns true if all of the data members of Tuple2d 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(Tuple2d t1)
        {
            return(t1 != null && x == t1.x && y == t1.y);
        }
コード例 #20
0
ファイル: Tuple2d.cs プロジェクト: carlhuth/GenXSource
 /// <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(Tuple2d t1, double epsilon)
 {
     return((System.Math.Abs(t1.x - this.x) <= epsilon) && (System.Math.Abs(t1.y - this.y) <= epsilon));
 }
コード例 #21
0
ファイル: Tuple2d.cs プロジェクト: carlhuth/GenXSource
 /// <summary> Sets the value of this tuple to the value of the Tuple2d argument.</summary>
 /// <param name="t1">the tuple to be copied
 /// </param>
 public void  set_Renamed(Tuple2d t1)
 {
     x = t1.x;
     y = t1.y;
 }