Exemple #1
0
        public unsafe void BoundingBox(Bounds3D bounds, Matrix4D transform)
        {
            int length = this.vector4D_0.Length;

            fixed(Vector4D *vector4DPtr1 = this.vector4D_0)
            {
                Vector4D *vector4DPtr2 = vector4DPtr1;

                for (Vector4D *vector4DPtr3 = vector4DPtr2 + length; vector4DPtr2 < vector4DPtr3; ++vector4DPtr2)
                {
                    Vector4D p = transform.Transform(*vector4DPtr2);
                    bounds.Update(p);
                }
            }
        }
Exemple #2
0
        private unsafe void method_0(Matrix4D transform)
        {
            int length = this.vector4D_0.Length;

            if (this.pointF_0 == null || this.pointF_0.Length != length)
                this.pointF_0 = new PointF[length];
            fixed(Vector4D *vector4DPtr1 = this.vector4D_0)
            fixed(PointF * pointFPtr1 = this.pointF_0)
            {
                Vector4D *vector4DPtr2 = vector4DPtr1;
                PointF *  pointFPtr2   = pointFPtr1;

                for (int index = 0; index < length; ++index)
                {
                    *pointFPtr2 = transform.TransformToPointF(*vector4DPtr2);
                    ++vector4DPtr2;
                    ++pointFPtr2;
                }
            }
        }
Exemple #3
0
 public static void StoreToVector(this Vector256 <double> vector, Vector4D *destination) => vector.ToVector4D(&destination->X);
Exemple #4
0
 public static Vector256 <double> ToVector256(Vector4D *p) => Vector.FromVector4D((double *)p);