Esempio n. 1
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);
        }
Esempio n. 2
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);
        }
Esempio n. 3
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);
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
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));
        }
Esempio n. 6
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);
        }
Esempio n. 7
0
        public BuffPoint3d(IPoint3 other)
        {
            ITuple3_Double _other = other.AsTupleDouble();

            this.x = _other.X;
            this.y = _other.Y;
            this.z = _other.Z;
        }
Esempio n. 8
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);
        }
Esempio n. 9
0
        public Point3d(IPoint3 p)
        {
            ITuple3_Double _p = p.AsTupleDouble();

            this.X = _p.X;
            this.Y = _p.Y;
            this.Z = _p.Z;
        }
Esempio n. 10
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);
        }
Esempio n. 11
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);
        }
Esempio n. 12
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));
        }
Esempio n. 13
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);
        }
Esempio n. 14
0
        public bool Equals(IPoint3 other)
        {
            ITuple3_Double _other = other.AsTupleDouble();

            return(this.Equals(_other.X, _other.Y, _other.Z));
        }
Esempio n. 15
0
        public bool EpsilonEquals(IPoint3 other, double epsilon = MathUtils.EPSILON)
        {
            ITuple3_Double _other = other.AsTupleDouble();

            return(this.EpsilonEquals(_other.X, _other.Y, _other.Z, epsilon));
        }