using System;
using Cpp2IlInjected;
using UnityEngine;

namespace MTAssets.UltimateLODSystem.MeshSimplifier.Internal
{
	// Token: 0x0200060F RID: 1551
	[Token(Token = "0x200060F")]
	internal class BlendShapeContainer
	{
		// Token: 0x060030F5 RID: 12533 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60030F5")]
		[Address(RVA = "0x8E12E0", Offset = "0x8E00E0", VA = "0x1808E12E0")]
		public BlendShapeContainer(BlendShape blendShape)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060030F6 RID: 12534 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60030F6")]
		[Address(RVA = "0x3F1F10", Offset = "0x3F0D10", VA = "0x1803F1F10")]
		public void MoveVertexElement(int dst, int src)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060030F7 RID: 12535 RVA: 0x00066AD0 File Offset: 0x00064CD0
		[Token(Token = "0x60030F7")]
		[Address(RVA = "0x8E0E80", Offset = "0x8DFC80", VA = "0x1808E0E80")]
		public void InterpolateVertexAttributes(int dst, int i0, int i1, int i2, ref Vector3 barycentricCoord)
		{
			BlendShapeFrameContainer[] array = this.frames;
			int num = 0;
			if (num < array.Length)
			{
				BlendShapeFrameContainer blendShapeFrameContainer = array[num];
				BlendShapeFrameContainer[] array2 = this.frames;
				num++;
			}
		}

		// Token: 0x060030F8 RID: 12536 RVA: 0x00066B08 File Offset: 0x00064D08
		[Token(Token = "0x60030F8")]
		[Address(RVA = "0x8E0F60", Offset = "0x8DFD60", VA = "0x1808E0F60")]
		public void Resize(int length, bool trimExess = false)
		{
			BlendShapeFrameContainer[] array = this.frames;
			int num = 0;
			if (num < array.Length)
			{
				BlendShapeFrameContainer blendShapeFrameContainer = array[num];
				ResizableArray<Vector3> deltaVertices = blendShapeFrameContainer.deltaVertices;
				int num2 = 0;
				deltaVertices.Resize(length, trimExess, num2 != 0);
				ResizableArray<Vector3> deltaNormals = blendShapeFrameContainer.deltaNormals;
				int num3 = 0;
				deltaNormals.Resize(length, trimExess, num3 != 0);
				ResizableArray<Vector3> deltaTangents = blendShapeFrameContainer.deltaTangents;
				int num4 = 0;
				deltaTangents.Resize(length, trimExess, num4 != 0);
				BlendShapeFrameContainer[] array2 = this.frames;
				num++;
			}
		}

		// Token: 0x060030F9 RID: 12537 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60030F9")]
		[Address(RVA = "0x8E10A0", Offset = "0x8DFEA0", VA = "0x1808E10A0")]
		public BlendShape ToBlendShape()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x04003AC6 RID: 15046
		[FieldOffset(Offset = "0x10")]
		[Token(Token = "0x4003AC6")]
		private readonly string shapeName;

		// Token: 0x04003AC7 RID: 15047
		[FieldOffset(Offset = "0x18")]
		[Token(Token = "0x4003AC7")]
		private readonly BlendShapeFrameContainer[] frames;
	}
}
