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); } } }
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; } } }
public static void StoreToVector(this Vector256 <double> vector, Vector4D *destination) => vector.ToVector4D(&destination->X);
public static Vector256 <double> ToVector256(Vector4D *p) => Vector.FromVector4D((double *)p);