Пример #1
0
 /// <summary>
 /// Constructs a new SCNVector4 from the given Vector2.
 /// </summary>
 /// <param name="v">The Vector2 to copy components from.</param>
 public SCNVector4(Vector2 v)
 {
     X = v.X;
     Y = v.Y;
     Z = 0.0f;
     W = 0.0f;
 }
Пример #2
0
 public unsafe GKPolygonObstacle(Vector2 [] points)
     : this(GetPointer (points), (nuint) points.Length)
 {
     if (ctor_pointer != IntPtr.Zero) {
         Marshal.FreeHGlobal (ctor_pointer);
         ctor_pointer = IntPtr.Zero;
     }
 }
Пример #3
0
 // Apple deprecated initWithName:floatVector2: in macOS10.12/iOS10.0
 // and made available initWithName:vectorFloat2: so we invoke
 // the right one at runtime depending on which OS version we are running
 public SKUniform(string name, Vector2 value)
 {
     if (CheckSystemVersion())
     {
         InitializeHandle(InitWithNameVectorFloat2(name, value), "initWithName:vectorFloat2:");
     }
     else
     {
         InitializeHandle(InitWithNameFloatVector2(name, value), "initWithName:floatVector2:");
     }
 }
Пример #4
0
        public static CGPoint GetImagePoint(Vector2 faceLandmarkPoint, CGRect faceBoundingBox, nuint imageWidth, nuint imageHeight)
        {
            IntPtr error;
            var    result = VNImagePointForFaceLandmarkPoint(faceLandmarkPoint, faceBoundingBox, imageWidth, imageHeight, out error);

            if (error != IntPtr.Zero)
            {
                throw new InvalidOperationException(Marshal.PtrToStringAuto(error));
            }

            return(result);
        }
Пример #5
0
        // Using GetXXX methods so it's similar to the ARFaceGeometry methods.
        public unsafe Vector2 [] GetTextureCoordinates()
        {
            var count = (int)TextureCoordinateCount;
            var rv    = new Vector2 [count];
            var ptr   = (Vector2 *)GetRawTextureCoordinates();

            for (int i = 0; i < count; i++)
            {
                rv [i] = *ptr++;
            }
            return(rv);
        }
Пример #6
0
        public virtual Vector2 [] GetVector2Values()
        {
            var count    = TimeSampleCount;
            var timesArr = new Vector2 [(int)count];
            int typeSize = Marshal.SizeOf(typeof(Vector2));

            unsafe {
                fixed(Vector2 *arrptr = timesArr)
                MDLMemoryHelper.FetchValues(typeSize, (IntPtr)arrptr, count, _GetFloat2Array);
            }

            return(timesArr);
        }
Пример #7
0
        public static GKPolygonObstacle FromPoints(Vector2 [] points)
        {
            if (points == null)
                throw new ArgumentNullException ("points");

            var size = Marshal.SizeOf (typeof (Vector2));
            var length = points.Length * size;
            var buffer = Marshal.AllocHGlobal (length);

            try {
                for (int i = 0; i < points.Length; i++)
                    Marshal.StructureToPtr (points[i], IntPtr.Add (buffer, i * size), false);

                return FromPoints (buffer, (nuint)points.Length);
            } finally {
                if (buffer != IntPtr.Zero)
                    Marshal.FreeHGlobal (buffer);
            }
        }
Пример #8
0
        public GKPath(Vector2 [] points, float radius, bool cyclical)
        {
            if (points == null)
                throw new ArgumentNullException ("points");

            var size = Marshal.SizeOf (typeof (Vector2));
            var length = points.Length * size;
            var buffer = Marshal.AllocHGlobal (length);

            try {
                for (int i = 0; i < points.Length; i++)
                    Marshal.StructureToPtr (points[i], IntPtr.Add (buffer, i * size), false);

                Handle = InitWithPoints (buffer, (nuint)points.Length, radius, cyclical);
            } finally {
                if (buffer != IntPtr.Zero)
                    Marshal.FreeHGlobal (buffer);
            }
        }
Пример #9
0
        static unsafe IntPtr GetPointer(Vector2[] points)
        {
            if (points == null)
                throw new ArgumentNullException ("points");

            if (ctor_pointer != IntPtr.Zero) {
                // This can occur of a previous call to the base ctor threw an exception
                Marshal.FreeHGlobal (ctor_pointer);
                ctor_pointer = IntPtr.Zero;
            }

            var size = Marshal.SizeOf (typeof (Vector2));
            var length = points.Length * size;
            var buffer = Marshal.AllocHGlobal (length);

            for (int i = 0; i < points.Length; i++)
                Marshal.StructureToPtr (points[i], IntPtr.Add (buffer, i * size), false);

            ctor_pointer = buffer;
            return ctor_pointer = buffer;
        }
Пример #10
0
 static extern CGPoint VNImagePointForFaceLandmarkPoint(Vector2 faceLandmarkPoint, CGRect faceBoundingBox, nuint imageWidth, nuint imageHeight, out IntPtr error);
Пример #11
0
 public static GKQuadTree QuadTreeWithMinPosition(Vector2 min, Vector2 max, float minCellSize)
 {
     return(new GKQuadTree(min, max, minCellSize));
 }