예제 #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="_testo"></param>
        /// <returns></returns>
        public override bool Equals(object _testo)
        {
            Point3F _test = (Point3F)_testo;

            return((x == _test.x) && (y == _test.y) && (z == _test.z));
        }
예제 #2
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="axis"></param>
 /// <param name="angle"></param>
 public AngAxisF(Point3F axis, float angle)
 {
     _mAngle = angle;
 }
예제 #3
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public Point3F copy()
        {
            Point3F t = new Point3F(x, y, z); //, axis_x, axis_y, axis_z, angle);

            return(t);
        }
예제 #4
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="p1"></param>
 /// <param name="p2"></param>
 /// <returns></returns>
 public static float vectorDot(TransformF p1, Point3F p2)
 {
     return(p1.mPositionX * p2.x + p1.mPositionY * p2.y + p1.mPositionZ * p2.z);
 }
예제 #5
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="c"></param>
 public void convolve(Point3F c)
 {
     x *= c.x;
     y *= c.y;
     z *= c.z;
 }
예제 #6
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="c"></param>
 public void convolveInverse(Point3F c)
 {
     x /= c.x;
     y /= c.y;
     z /= c.z;
 }
예제 #7
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="velocity"></param>
 /// <returns></returns>
 public float vectorDot(Point3F velocity)
 {
     return(vectorDot(this, velocity));
 }
예제 #8
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="compare"></param>
 /// <param name="epsilon"></param>
 /// <returns></returns>
 public bool equal(Point3F compare, double epsilon)
 {
     return((Math.Abs(x - compare.x) < epsilon) && (Math.Abs(y - compare.y) < epsilon) && (Math.Abs(z - compare.z) < epsilon));
 }
예제 #9
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="p1"></param>
 /// <param name="p2"></param>
 /// <returns></returns>
 public static float vectorDot(Point3F p1, Point3F p2)
 {
     return(p1.x * p2.x + p1.y * p2.y + p1.z * p2.z);
 }
예제 #10
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="point"></param>
 /// <param name="scalar"></param>
 /// <returns></returns>
 public static Point3F vectorScale(Point3F point, float scalar)
 {
     return(point * scalar);
 }
예제 #11
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="_test"></param>
 public void SetMax(Point3F _test)
 {
     x = (_test.x > x) ? _test.x : x;
     y = (_test.y > y) ? _test.y : y;
     z = (_test.z > z) ? _test.z : z;
 }
예제 #12
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="_test"></param>
 public void SetMin(Point3F _test)
 {
     x = (_test.x < x) ? _test.x : x;
     y = (_test.y < y) ? _test.y : y;
     z = (_test.z < z) ? _test.z : z;
 }
예제 #13
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="p"></param>
 public Point3F(Point3F p)
 {
     x = p.x;
     y = p.y;
     z = p.z;
 }