using System;
using Cpp2IlInjected;
using UnityEngine;

namespace MTAssets.UltimateLODSystem.MeshSimplifier.Internal
{
	// Token: 0x02000667 RID: 1639
	[Token(Token = "0x2000667")]
	internal class BlendShapeContainer
	{
		// Token: 0x060033BE RID: 13246 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60033BE")]
		[Address(RVA = "0x7ACEA0", Offset = "0x7ABEA0", VA = "0x1807ACEA0")]
		public BlendShapeContainer(BlendShape blendShape)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060033BF RID: 13247 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60033BF")]
		[Address(RVA = "0x4146B0", Offset = "0x4136B0", VA = "0x1804146B0")]
		public void MoveVertexElement(int dst, int src)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060033C0 RID: 13248 RVA: 0x0006DC90 File Offset: 0x0006BE90
		[Token(Token = "0x60033C0")]
		[Address(RVA = "0x7ACA40", Offset = "0x7ABA40", VA = "0x1807ACA40")]
		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: 0x060033C1 RID: 13249 RVA: 0x0006DCC8 File Offset: 0x0006BEC8
		[Token(Token = "0x60033C1")]
		[Address(RVA = "0x7ACB20", Offset = "0x7ABB20", VA = "0x1807ACB20")]
		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: 0x060033C2 RID: 13250 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60033C2")]
		[Address(RVA = "0x7ACC60", Offset = "0x7ABC60", VA = "0x1807ACC60")]
		public BlendShape ToBlendShape()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x04003DB0 RID: 15792
		[FieldOffset(Offset = "0x10")]
		[Token(Token = "0x4003DB0")]
		private readonly string shapeName;

		// Token: 0x04003DB1 RID: 15793
		[FieldOffset(Offset = "0x18")]
		[Token(Token = "0x4003DB1")]
		private readonly BlendShapeFrameContainer[] frames;
	}
}
