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

namespace Obi
{
	// Token: 0x0200050A RID: 1290
	[Token(Token = "0x200050A")]
	[Serializable]
	public class ObiVolumeConstraintBatch : ObiConstraintBatch
	{
		// Token: 0x06002D72 RID: 11634 RVA: 0x0006410C File Offset: 0x0006230C
		[Token(Token = "0x6002D72")]
		[Address(RVA = "0xE67E10", Offset = "0xE66E10", VA = "0x180E67E10")]
		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: 0x06002D73 RID: 11635 RVA: 0x00064164 File Offset: 0x00062364
		[Token(Token = "0x6002D73")]
		[Address(RVA = "0x547500", Offset = "0x546500", VA = "0x180547500", Slot = "4")]
		public override Oni.ConstraintType GetConstraintType()
		{
			return Oni.ConstraintType.Volume;
		}

		// Token: 0x06002D74 RID: 11636 RVA: 0x00064174 File Offset: 0x00062374
		[Token(Token = "0x6002D74")]
		[Address(RVA = "0xE675D0", Offset = "0xE665D0", VA = "0x180E675D0", 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: 0x06002D75 RID: 11637 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002D75")]
		[Address(RVA = "0xE67460", Offset = "0xE66460", VA = "0x180E67460")]
		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: 0x06002D76 RID: 11638 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002D76")]
		[Address(RVA = "0xE67BE0", Offset = "0xE66BE0", VA = "0x180E67BE0")]
		public void RemoveConstraint(int index)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002D77 RID: 11639 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002D77")]
		[Address(RVA = "0xE676B0", Offset = "0xE666B0", VA = "0x180E676B0", Slot = "11")]
		public override List<int> GetConstraintsInvolvingParticle(int particleIndex)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002D78 RID: 11640 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002D78")]
		[Address(RVA = "0xE67800", Offset = "0xE66800", VA = "0x180E67800", Slot = "7")]
		protected override void OnAddToSolver(ObiBatchedConstraints constraints)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002D79 RID: 11641 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002D79")]
		[Address(RVA = "0x29E8B0", Offset = "0x29D8B0", VA = "0x18029E8B0", Slot = "8")]
		protected override void OnRemoveFromSolver(ObiBatchedConstraints constraints)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002D7A RID: 11642 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002D7A")]
		[Address(RVA = "0xE67960", Offset = "0xE66960", VA = "0x180E67960", Slot = "9")]
		public override void PushDataToSolver(ObiBatchedConstraints constraints)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002D7B RID: 11643 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002D7B")]
		[Address(RVA = "0x29E8B0", Offset = "0x29D8B0", VA = "0x18029E8B0", Slot = "10")]
		public override void PullDataFromSolver(ObiBatchedConstraints constraints)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x04003650 RID: 13904
		[FieldOffset(Offset = "0x38")]
		[Token(Token = "0x4003650")]
		[HideInInspector]
		public List<int> triangleIndices;

		// Token: 0x04003651 RID: 13905
		[FieldOffset(Offset = "0x40")]
		[Token(Token = "0x4003651")]
		[HideInInspector]
		public List<int> firstTriangle;

		// Token: 0x04003652 RID: 13906
		[FieldOffset(Offset = "0x48")]
		[Token(Token = "0x4003652")]
		[HideInInspector]
		public List<int> numTriangles;

		// Token: 0x04003653 RID: 13907
		[FieldOffset(Offset = "0x50")]
		[Token(Token = "0x4003653")]
		[HideInInspector]
		public List<float> restVolumes;

		// Token: 0x04003654 RID: 13908
		[FieldOffset(Offset = "0x58")]
		[Token(Token = "0x4003654")]
		[HideInInspector]
		public List<Vector2> pressureStiffness;

		// Token: 0x04003655 RID: 13909
		[FieldOffset(Offset = "0x60")]
		[Token(Token = "0x4003655")]
		private int[] solverIndices;
	}
}
