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

namespace Obi
{
	// Token: 0x020004B2 RID: 1202
	[Token(Token = "0x20004B2")]
	[Serializable]
	public class ObiVolumeConstraintBatch : ObiConstraintBatch
	{
		// Token: 0x06002AA9 RID: 10921 RVA: 0x0005CDF0 File Offset: 0x0005AFF0
		[Token(Token = "0x6002AA9")]
		[Address(RVA = "0xD36C90", Offset = "0xD35A90", VA = "0x180D36C90")]
		public ObiVolumeConstraintBatch(bool cooked, bool sharesParticles)
		{
			List<int> list = new List();
			this.triangleIndices = list;
			List<int> list2 = new List();
			this.firstTriangle = list2;
			List<int> list3 = new List();
			this.numTriangles = list3;
			List<float> list4 = new List();
			this.restVolumes = list4;
			List<Vector2> list5 = new List();
			this.pressureStiffness = list5;
			base..ctor(cooked, sharesParticles);
		}

		// Token: 0x06002AAA RID: 10922 RVA: 0x0005CE48 File Offset: 0x0005B048
		[Token(Token = "0x6002AAA")]
		[Address(RVA = "0x51C1E0", Offset = "0x51AFE0", VA = "0x18051C1E0", Slot = "4")]
		public override Oni.ConstraintType GetConstraintType()
		{
			return Oni.ConstraintType.Volume;
		}

		// Token: 0x06002AAB RID: 10923 RVA: 0x0005CE58 File Offset: 0x0005B058
		[Token(Token = "0x6002AAB")]
		[Address(RVA = "0xD36450", Offset = "0xD35250", VA = "0x180D36450", Slot = "5")]
		public override void Clear()
		{
			this.activeConstraints.Clear();
			this.triangleIndices.Clear();
			this.firstTriangle.Clear();
			this.numTriangles.Clear();
			this.restVolumes.Clear();
			this.pressureStiffness.Clear();
			this.constraintCount = (int)((ulong)0L);
		}

		// Token: 0x06002AAC RID: 10924 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002AAC")]
		[Address(RVA = "0xD362E0", Offset = "0xD350E0", VA = "0x180D362E0")]
		public void AddConstraint(int[] triangles, float restVolume, float pressure, float stiffness)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002AAD RID: 10925 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002AAD")]
		[Address(RVA = "0xD36A60", Offset = "0xD35860", VA = "0x180D36A60")]
		public void RemoveConstraint(int index)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002AAE RID: 10926 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002AAE")]
		[Address(RVA = "0xD36530", Offset = "0xD35330", VA = "0x180D36530", Slot = "11")]
		public override List<int> GetConstraintsInvolvingParticle(int particleIndex)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002AAF RID: 10927 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002AAF")]
		[Address(RVA = "0xD36680", Offset = "0xD35480", VA = "0x180D36680", Slot = "7")]
		protected override void OnAddToSolver(ObiBatchedConstraints constraints)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002AB0 RID: 10928 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002AB0")]
		[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "8")]
		protected override void OnRemoveFromSolver(ObiBatchedConstraints constraints)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002AB1 RID: 10929 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002AB1")]
		[Address(RVA = "0xD367E0", Offset = "0xD355E0", VA = "0x180D367E0", Slot = "9")]
		public override void PushDataToSolver(ObiBatchedConstraints constraints)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002AB2 RID: 10930 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002AB2")]
		[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "10")]
		public override void PullDataFromSolver(ObiBatchedConstraints constraints)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x04003366 RID: 13158
		[FieldOffset(Offset = "0x38")]
		[Token(Token = "0x4003366")]
		[HideInInspector]
		public List<int> triangleIndices;

		// Token: 0x04003367 RID: 13159
		[FieldOffset(Offset = "0x40")]
		[Token(Token = "0x4003367")]
		[HideInInspector]
		public List<int> firstTriangle;

		// Token: 0x04003368 RID: 13160
		[FieldOffset(Offset = "0x48")]
		[Token(Token = "0x4003368")]
		[HideInInspector]
		public List<int> numTriangles;

		// Token: 0x04003369 RID: 13161
		[FieldOffset(Offset = "0x50")]
		[Token(Token = "0x4003369")]
		[HideInInspector]
		public List<float> restVolumes;

		// Token: 0x0400336A RID: 13162
		[FieldOffset(Offset = "0x58")]
		[Token(Token = "0x400336A")]
		[HideInInspector]
		public List<Vector2> pressureStiffness;

		// Token: 0x0400336B RID: 13163
		[FieldOffset(Offset = "0x60")]
		[Token(Token = "0x400336B")]
		private int[] solverIndices;
	}
}
