// Copyright (c) Wojciech Figat. All rights reserved. using System; namespace FlaxEngine { partial class CollisionData { /// /// Cooks the mesh collision data and updates the virtual asset. action cannot be performed on a main thread. /// [Deprecated on 16.06.2022, expires on 16.06.2024] /// /// /// Can be used only for virtual assets (see and ). /// /// The collision data type. /// The source geometry vertex buffer with vertices positions. Cannot be empty. /// The source data index buffer (triangles list). Uses 32-bit stride buffer. Cannot be empty. Length must be multiple of 3 (as 3 vertices build a triangle). /// The convex mesh generation flags. /// The convex mesh vertex limit. Use values in range [8;255] /// True if failed, otherwise false. [Obsolete("Use CookCollision with Float3 and Float2 parameters instead")] public bool CookCollision(CollisionDataType type, Vector3[] vertices, uint[] triangles, ConvexMeshGenerationFlags convexFlags = ConvexMeshGenerationFlags.None, int convexVertexLimit = 255) { if (vertices == null) throw new ArgumentNullException(); var tmp = new Float3[vertices.Length]; for (int i = 0; i < tmp.Length; i++) tmp[i] = vertices[i]; return CookCollision(type, tmp, triangles, convexFlags, convexVertexLimit); } /// /// Cooks the mesh collision data and updates the virtual asset. action cannot be performed on a main thread. /// [Deprecated on 16.06.2022, expires on 16.06.2024] /// /// /// Can be used only for virtual assets (see and ). /// /// The collision data type. /// The source geometry vertex buffer with vertices positions. Cannot be empty. /// The source data index buffer (triangles list). Uses 32-bit stride buffer. Cannot be empty. Length must be multiple of 3 (as 3 vertices build a triangle). /// The convex mesh generation flags. /// The convex mesh vertex limit. Use values in range [8;255] /// True if failed, otherwise false. [Obsolete("Use CookCollision with Float3 and Float2 parameters instead")] public bool CookCollision(CollisionDataType type, Vector3[] vertices, int[] triangles, ConvexMeshGenerationFlags convexFlags = ConvexMeshGenerationFlags.None, int convexVertexLimit = 255) { if (vertices == null) throw new ArgumentNullException(); var tmp = new Float3[vertices.Length]; for (int i = 0; i < tmp.Length; i++) tmp[i] = vertices[i]; return CookCollision(type, tmp, triangles, convexFlags, convexVertexLimit); } /// /// Extracts the collision data geometry into list of triangles. /// [Deprecated on 16.06.2022, expires on 16.06.2024] /// /// The output vertex buffer. /// The output index buffer. [Obsolete("Use ExtractGeometry with Float3 and Float2 parameters instead")] public void ExtractGeometry(out Vector3[] vertexBuffer, out int[] indexBuffer) { ExtractGeometry(out Float3[] tmp, out indexBuffer); vertexBuffer = new Vector3[tmp.Length]; for (int i = 0; i < tmp.Length; i++) vertexBuffer[i] = tmp[i]; } } }