using System;
using System.Collections.Generic;
using Cpp2IlInjected;
using UnityEngine;
using UnityEngine.Rendering;

namespace MTAssets.UltimateLODSystem.MeshSimplifier
{
	// Token: 0x0200060D RID: 1549
	[Token(Token = "0x200060D")]
	public static class MeshUtils
	{
		// Token: 0x060030D8 RID: 12504 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60030D8")]
		[Address(RVA = "0xBC3010", Offset = "0xBC1E10", VA = "0x180BC3010")]
		public static Mesh CreateMesh(Vector3[] vertices, int[][] indices, Vector3[] normals, Vector4[] tangents, Color[] colors, BoneWeight[] boneWeights, List<Vector2>[] uvs, Matrix4x4[] bindposes, BlendShape[] blendShapes)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060030D9 RID: 12505 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60030D9")]
		[Address(RVA = "0xBC36E0", Offset = "0xBC24E0", VA = "0x180BC36E0")]
		public static Mesh CreateMesh(Vector3[] vertices, int[][] indices, Vector3[] normals, Vector4[] tangents, Color[] colors, BoneWeight[] boneWeights, List<Vector4>[] uvs, Matrix4x4[] bindposes, BlendShape[] blendShapes)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060030DA RID: 12506 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60030DA")]
		[Address(RVA = "0xBC30F0", Offset = "0xBC1EF0", VA = "0x180BC30F0")]
		public static Mesh CreateMesh(Vector3[] vertices, int[][] indices, Vector3[] normals, Vector4[] tangents, Color[] colors, BoneWeight[] boneWeights, List<Vector2>[] uvs2D, List<Vector3>[] uvs3D, List<Vector4>[] uvs4D, Matrix4x4[] bindposes, BlendShape[] blendShapes)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060030DB RID: 12507 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60030DB")]
		[Address(RVA = "0xBC3850", Offset = "0xBC2650", VA = "0x180BC3850")]
		public static BlendShape[] GetMeshBlendShapes(Mesh mesh)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060030DC RID: 12508 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60030DC")]
		[Address(RVA = "0xBC2B70", Offset = "0xBC1970", VA = "0x180BC2B70")]
		public static void ApplyMeshBlendShapes(Mesh mesh, BlendShape[] blendShapes)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060030DD RID: 12509 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60030DD")]
		[Address(RVA = "0xBC4110", Offset = "0xBC2F10", VA = "0x180BC4110")]
		public static IList<Vector4>[] GetMeshUVs(Mesh mesh)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060030DE RID: 12510 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60030DE")]
		[Address(RVA = "0xBC3BD0", Offset = "0xBC29D0", VA = "0x180BC3BD0")]
		public static IList<Vector2> GetMeshUVs2D(Mesh mesh, int channel)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060030DF RID: 12511 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60030DF")]
		[Address(RVA = "0xBC3D90", Offset = "0xBC2B90", VA = "0x180BC3D90")]
		public static IList<Vector3> GetMeshUVs3D(Mesh mesh, int channel)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060030E0 RID: 12512 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60030E0")]
		[Address(RVA = "0xBC3F50", Offset = "0xBC2D50", VA = "0x180BC3F50")]
		public static IList<Vector4> GetMeshUVs(Mesh mesh, int channel)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060030E1 RID: 12513 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60030E1")]
		[Address(RVA = "0xBC44D0", Offset = "0xBC32D0", VA = "0x180BC44D0")]
		public static int GetUsedUVComponents(IList<Vector4> uvs)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060030E2 RID: 12514 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60030E2")]
		[Address(RVA = "0xBC2D20", Offset = "0xBC1B20", VA = "0x180BC2D20")]
		public static Vector2[] ConvertUVsTo2D(IList<Vector4> uvs)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060030E3 RID: 12515 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60030E3")]
		[Address(RVA = "0xBC2E90", Offset = "0xBC1C90", VA = "0x180BC2E90")]
		public static Vector3[] ConvertUVsTo3D(IList<Vector4> uvs)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060030E4 RID: 12516 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60030E4")]
		[Address(RVA = "0xBC42F0", Offset = "0xBC30F0", VA = "0x180BC42F0")]
		public static Vector2Int[] GetSubMeshIndexMinMax(int[][] indices, out IndexFormat indexFormat)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060030E5 RID: 12517 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60030E5")]
		[Address(RVA = "0xBC37C0", Offset = "0xBC25C0", VA = "0x180BC37C0")]
		private static void GetIndexMinMax(int[] indices, out int minIndex, out int maxIndex)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x04003AC2 RID: 15042
		[Token(Token = "0x4003AC2")]
		public static readonly int UVChannelCount;
	}
}
