Exemple #1
0
        public void Sub(IPoint3 p1, IPoint3 p2)
        {
            ITuple3_Double _p1 = p1.AsTupleDouble();
            ITuple3_Double _p2 = p2.AsTupleDouble();

            this.Set(_p1.X - _p2.X, _p1.Y - _p2.Y, _p1.Z - _p2.Z);
        }
Exemple #2
0
        public void Add(IPoint3 p, IVector3 v)
        {
            ITuple3_Double _p = p.AsTupleDouble();
            ITuple3_Double _v = v.AsTupleDouble();

            this.Set(_p.X + _v.X, _p.Y + _v.Y, _p.Z + _v.Z);
        }
Exemple #3
0
        public void SimpleMul(IVector3 v1, IVector3 v2)
        {
            ITuple3_Double _v1 = v1.AsTupleDouble();
            ITuple3_Double _v2 = v2.AsTupleDouble();

            this.Set(_v1.X * _v2.X, _v1.Y * _v2.Y, _v1.Z * _v2.Z);
        }
Exemple #4
0
        public void Add(IVector3 v1, IVector3 v2)
        {
            ITuple3_Double _v1 = v1.AsTupleDouble();
            ITuple3_Double _v2 = v2.AsTupleDouble();

            this.Set(_v1.X + _v2.X, _v1.Y + _v2.Y, _v1.Z + _v2.Z);
        }
Exemple #5
0
        public void Sub(IVector3 v1, IVector3 v2)
        {
            ITuple3_Double _v1 = v1.AsTupleDouble();
            ITuple3_Double _v2 = v2.AsTupleDouble();

            this.Set(_v1.X - _v2.X, _v1.Y - _v2.Y, _v1.Z - _v2.Z);
        }
        public override void Transform(IPoint3 p, IOpPoint3 pout)
        {
            ITuple3_Double   _v    = p.AsTupleDouble();
            IOpTuple3_Double _vout = pout.AsOpTupleDouble();

            _vout.Set(_v.X, _v.Y, _v.Y);
        }
        public override void Transform(IVector3 v, IOpVector3 vout)
        {
            ITuple3_Double   _v    = v.AsTupleDouble();
            IOpTuple3_Double _vout = vout.AsOpTupleDouble();

            _vout.Set(_v.X, _v.Y, _v.Z);
        }
Exemple #8
0
        public void Sub(IPoint3 p, IVector3 v)
        {
            ITuple3_Double _p = p.AsTupleDouble();
            ITuple3_Double _v = v.AsTupleDouble();

            this.Set(_p.X - _v.X, _p.Y - _v.Y, _p.Z - _v.Z);
        }
Exemple #9
0
        public void Lineal(IPoint3 p2, double alpha, double beta)
        {
            ITuple3_Double _p2 = p2.AsTupleDouble();

            this.Set(alpha * this.x + beta * _p2.X,
                     alpha * this.y + beta * _p2.Y,
                     alpha * this.z + beta * _p2.Z);
        }
Exemple #10
0
        public void Lineal(IVector3 v2, double alpha, double beta)
        {
            ITuple3_Double _v2 = v2.AsTupleDouble();

            this.Set(alpha * this.x + beta * _v2.X,
                     alpha * this.y + beta * _v2.Y,
                     alpha * this.z + beta * _v2.Z);
        }
Exemple #11
0
        public BuffVector3d(IVector3 other)
        {
            ITuple3_Double _other = other.AsTupleDouble();

            this.x = _other.X;
            this.y = _other.Y;
            this.z = _other.Z;
        }
Exemple #12
0
        public void ProjectTo(IPoint3 p1, IVector3 where)
        {
            ITuple3_Double _p1 = p1.AsTupleDouble();
            BuffVector3d   aux = new BuffVector3d(where);

            aux.ProjV(new Vector3d(_p1.X, _p1.Y, _p1.Z));
            this.Set(aux.X, aux.Y, aux.Z);
        }
Exemple #13
0
        public void Cross(IVector3 v2)
        {
            ITuple3_Double _v2 = v2.AsTupleDouble();

            this.Set((this.y * _v2.Z) - (this.z * _v2.Y),
                     (this.z * _v2.X) - (this.x * _v2.Z),
                     (this.x * _v2.Y) - (this.y * _v2.X));
        }
Exemple #14
0
        public IVector3 Mul(IVector3 v)
        {
            ITuple3_Double _v = v.AsTupleDouble();

            return(new Vector3d(this.M00 * _v.X + this.M01 * _v.Y + this.M02 * _v.Z,
                                this.M10 * _v.X + this.M11 * _v.Y + this.M12 * _v.Z,
                                _v.Z));
        }
Exemple #15
0
        public Point3d(IPoint3 p)
        {
            ITuple3_Double _p = p.AsTupleDouble();

            this.X = _p.X;
            this.Y = _p.Y;
            this.Z = _p.Z;
        }
Exemple #16
0
        public IPoint3 Mul(IPoint3 p)
        {
            ITuple3_Double _p = p.AsTupleDouble();

            return(new Point3d(this.M00 * _p.X + this.M01 * _p.Y + this.M02 * _p.Z,
                               this.M10 * _p.X + this.M11 * _p.Y + this.M12 * _p.Z,
                               _p.Z));
        }
Exemple #17
0
        public Vector3d(IVector3 v)
        {
            ITuple3_Double _v = v.AsTupleDouble();

            this.X = _v.X;
            this.Y = _v.Y;
            this.Z = _v.Z;
        }
Exemple #18
0
        public BuffPoint3d(IPoint3 other)
        {
            ITuple3_Double _other = other.AsTupleDouble();

            this.x = _other.X;
            this.y = _other.Y;
            this.z = _other.Z;
        }
Exemple #19
0
        public void Cross(IVector3 v1, IVector3 v2)
        {
            ITuple3_Double _v1 = v1.AsTupleDouble();
            ITuple3_Double _v2 = v2.AsTupleDouble();

            this.Set((_v1.Y * _v2.Z) - (_v1.Z * _v2.Y),
                     (_v1.Z * _v2.X) - (_v1.X * _v2.Z),
                     (_v1.X * _v2.Y) - (_v1.Y * _v2.X));
        }
Exemple #20
0
        public void Lineal(IVector3 v1, IVector3 v2, double alpha, double beta)
        {
            ITuple3_Double _v1 = v1.AsTupleDouble();
            ITuple3_Double _v2 = v2.AsTupleDouble();

            this.Set(alpha * _v1.X + beta * _v2.X,
                     alpha * _v1.Y + beta * _v2.Y,
                     alpha * _v1.Z + beta * _v2.Z);
        }
Exemple #21
0
        public void Mul(IVector3 v, IOpVector3 vout)
        {
            ITuple3_Double   _v    = v.AsTupleDouble();
            IOpTuple3_Double _vout = vout.AsOpTupleDouble();

            _vout.Set(this.M00 * _v.X + this.M01 * _v.Y + this.M02 * _v.Z,
                      this.M10 * _v.X + this.M11 * _v.Y + this.M12 * _v.Z,
                      _v.Z);
        }
Exemple #22
0
        public IVector3 Mul(IVector3 v)
        {
            ITuple3_Double _v = v.AsTupleDouble();

            Contract.Requires((this.M30 * _v.X + this.M31 * _v.Y + this.M32 * _v.Z).EpsilonEquals(0));
            return(new Vector3d(this.M00 * _v.X + this.M01 * _v.Y + this.M02 * _v.Z,
                                this.M10 * _v.X + this.M11 * _v.Y + this.M12 * _v.Z,
                                this.M20 * _v.X + this.M21 * _v.Y + this.M22 * _v.Z));
        }
Exemple #23
0
        public void Lineal(IPoint3 p1, IPoint3 p2, double alpha, double beta)
        {
            ITuple3_Double _p1 = p1.AsTupleDouble();
            ITuple3_Double _p2 = p2.AsTupleDouble();

            this.Set(alpha * _p1.X + beta * _p2.X,
                     alpha * _p1.Y + beta * _p2.Y,
                     alpha * _p1.Z + beta * _p2.Z);
        }
Exemple #24
0
        public void Mul(IPoint3 p, IOpPoint3 pout)
        {
            ITuple3_Double   _p    = p.AsTupleDouble();
            IOpTuple3_Double _vout = pout.AsOpTupleDouble();

            _vout.Set(this.M00 * _p.X + this.M01 * _p.Y + this.M02 * _p.Z,
                      this.M10 * _p.X + this.M11 * _p.Y + this.M12 * _p.Z,
                      _p.Z);
        }
Exemple #25
0
        public void Mul(IVector3 v, IOpVector3 vout)
        {
            ITuple3_Double   _v    = v.AsTupleDouble();
            IOpTuple3_Double _vout = vout.AsOpTupleDouble();

            Contract.Requires((this.M30 * _v.X + this.M31 * _v.Y + this.M32 * _v.Z).EpsilonEquals(0));
            _vout.Set(this.M00 * _v.X + this.M01 * _v.Y + this.M02 * _v.Z,
                      this.M10 * _v.X + this.M11 * _v.Y + this.M12 * _v.Z,
                      this.M20 * _v.X + this.M21 * _v.Y + this.M22 * _v.Z);
        }
Exemple #26
0
        public IPoint3 Mul(IPoint3 p)
        {
            ITuple3_Double _p = p.AsTupleDouble();

            double d = this.M30 * _p.X + this.M31 * _p.Y + this.M32 * _p.Z + this.M33;

            return(new Point3d((this.M00 * _p.X + this.M01 * _p.Y + this.M02 * _p.Z + this.M03) / d,
                               (this.M10 * _p.X + this.M11 * _p.Y + this.M12 * _p.Z + this.M13) / d,
                               (this.M20 * _p.X + this.M21 * _p.Y + this.M22 * _p.Z + this.M23) / d));
        }
Exemple #27
0
        public static ITuple3_Double AsTupleDouble(this ITuple3 v)
        {
            ITuple3_Double ret = v as ITuple3_Double;

            if (ret != null)
            {
                return(ret);
            }
            return(VectorUtils.Convert <ITuple3_Double>(v));
        }
Exemple #28
0
        public void Mul(IPoint3 p, IOpPoint3 pout)
        {
            ITuple3_Double   _p    = p.AsTupleDouble();
            IOpTuple3_Double _vout = pout.AsOpTupleDouble();

            double d = this.M30 * _p.X + this.M31 * _p.Y + this.M32 * _p.Z + this.M33;

            _vout.Set((this.M00 * _p.X + this.M01 * _p.Y + this.M02 * _p.Z + this.M03) / d,
                      (this.M10 * _p.X + this.M11 * _p.Y + this.M12 * _p.Z + this.M13) / d,
                      (this.M20 * _p.X + this.M21 * _p.Y + this.M22 * _p.Z + this.M23) / d);
        }
Exemple #29
0
        public void Add(IVector3 v)
        {
            ITuple3_Double _v = v.AsTupleDouble();

            this.Set(this.x + _v.X, this.y + _v.Y, this.z + _v.Z);
        }
Exemple #30
0
        public void Sub(IVector3 v)
        {
            ITuple3_Double _v = v.AsTupleDouble();

            this.Set(this.x - _v.X, this.y - _v.Y, this.z - _v.Z);
        }