using System;
using Il2CppInterop.Common.Attributes;
using Il2CppInterop.Runtime;
using Il2CppInterop.Runtime.InteropTypes.Arrays;
using Il2CppSystem.Collections.Generic;
using UnityEngine;

namespace Obi
{
	// Token: 0x020004BC RID: 1212
	[Serializable]
	public class ObiDistanceConstraintBatch : ObiConstraintBatch
	{
		// Token: 0x06008D34 RID: 36148 RVA: 0x0024424C File Offset: 0x0024244C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 608746, XrefRangeEnd = 608772, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe ObiDistanceConstraintBatch(bool cooked, bool sharesParticles)
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<ObiDistanceConstraintBatch>.NativeClassPtr))
		{
			IntPtr* ptr;
			checked
			{
				ptr = stackalloc IntPtr[unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref cooked;
			}
			ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref sharesParticles;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiDistanceConstraintBatch.NativeMethodInfoPtr__ctor_Public_Void_Boolean_Boolean_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008D35 RID: 36149 RVA: 0x002442BC File Offset: 0x002424BC
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 608798, RefRangeEnd = 608799, XrefRangeStart = 608772, XrefRangeEnd = 608798, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe ObiDistanceConstraintBatch(bool cooked, bool sharesParticles, float minYoungModulus, float maxYoungModulus)
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<ObiDistanceConstraintBatch>.NativeClassPtr))
		{
			IntPtr* ptr;
			checked
			{
				ptr = stackalloc IntPtr[unchecked((UIntPtr)4) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref cooked;
			}
			ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref sharesParticles;
			ptr[checked(unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref minYoungModulus;
			ptr[checked(unchecked((UIntPtr)3) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref maxYoungModulus;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiDistanceConstraintBatch.NativeMethodInfoPtr__ctor_Public_Void_Boolean_Boolean_Single_Single_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008D36 RID: 36150 RVA: 0x00244354 File Offset: 0x00242554
		[CallerCount(0)]
		public unsafe override Oni.ConstraintType GetConstraintType()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), ObiDistanceConstraintBatch.NativeMethodInfoPtr_GetConstraintType_Public_Virtual_ConstraintType_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			return *IL2CPP.il2cpp_object_unbox(intPtr);
		}

		// Token: 0x06008D37 RID: 36151 RVA: 0x002443B0 File Offset: 0x002425B0
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 608799, XrefRangeEnd = 608810, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override void Clear()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), ObiDistanceConstraintBatch.NativeMethodInfoPtr_Clear_Public_Virtual_Void_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008D38 RID: 36152 RVA: 0x00244400 File Offset: 0x00242600
		[CallerCount(2)]
		[CachedScanResults(RefRangeStart = 608823, RefRangeEnd = 608825, XrefRangeStart = 608810, XrefRangeEnd = 608823, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void AddConstraint(int index1, int index2, float restLength, float stretchStiffness, float compressionStiffness)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr;
			checked
			{
				ptr = stackalloc IntPtr[unchecked((UIntPtr)5) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref index1;
			}
			ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref index2;
			ptr[checked(unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref restLength;
			ptr[checked(unchecked((UIntPtr)3) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref stretchStiffness;
			ptr[checked(unchecked((UIntPtr)4) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref compressionStiffness;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiDistanceConstraintBatch.NativeMethodInfoPtr_AddConstraint_Public_Void_Int32_Int32_Single_Single_Single_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008D39 RID: 36153 RVA: 0x002444A0 File Offset: 0x002426A0
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 608825, XrefRangeEnd = 608848, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void InsertConstraint(int constraintIndex, int index1, int index2, float restLength, float stretchStiffness, float compressionStiffness)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr;
			checked
			{
				ptr = stackalloc IntPtr[unchecked((UIntPtr)6) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref constraintIndex;
			}
			ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref index1;
			ptr[checked(unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref index2;
			ptr[checked(unchecked((UIntPtr)3) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref restLength;
			ptr[checked(unchecked((UIntPtr)4) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref stretchStiffness;
			ptr[checked(unchecked((UIntPtr)5) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref compressionStiffness;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiDistanceConstraintBatch.NativeMethodInfoPtr_InsertConstraint_Public_Void_Int32_Int32_Int32_Single_Single_Single_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008D3A RID: 36154 RVA: 0x00244554 File Offset: 0x00242754
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 608848, XrefRangeEnd = 608852, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void SetParticleIndex(int constraintIndex, int particleIndex, ObiDistanceConstraintBatch.DistanceIndexType type, bool wraparound)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr;
			checked
			{
				ptr = stackalloc IntPtr[unchecked((UIntPtr)4) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref constraintIndex;
			}
			ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref particleIndex;
			ptr[checked(unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref type;
			ptr[checked(unchecked((UIntPtr)3) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref wraparound;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiDistanceConstraintBatch.NativeMethodInfoPtr_SetParticleIndex_Public_Void_Int32_Int32_DistanceIndexType_Boolean_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008D3B RID: 36155 RVA: 0x002445E4 File Offset: 0x002427E4
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 608852, XrefRangeEnd = 608873, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void RemoveConstraint(int index)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref index;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiDistanceConstraintBatch.NativeMethodInfoPtr_RemoveConstraint_Public_Void_Int32_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x06008D3C RID: 36156 RVA: 0x00244638 File Offset: 0x00242838
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 608873, XrefRangeEnd = 608886, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override List<int> GetConstraintsInvolvingParticle(int particleIndex)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref particleIndex;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), ObiDistanceConstraintBatch.NativeMethodInfoPtr_GetConstraintsInvolvingParticle_Public_Virtual_List_1_Int32_Int32_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				IntPtr intPtr3 = intPtr;
				return (intPtr3 != 0) ? new List<int>(intPtr3) : null;
			}
		}

		// Token: 0x06008D3D RID: 36157 RVA: 0x002446AC File Offset: 0x002428AC
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 608886, XrefRangeEnd = 608946, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override void Cook()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), ObiDistanceConstraintBatch.NativeMethodInfoPtr_Cook_Public_Virtual_Void_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008D3E RID: 36158 RVA: 0x002446FC File Offset: 0x002428FC
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 608946, XrefRangeEnd = 608956, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override void OnAddToSolver(ObiBatchedConstraints constraints)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(constraints);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), ObiDistanceConstraintBatch.NativeMethodInfoPtr_OnAddToSolver_Protected_Virtual_Void_ObiBatchedConstraints_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x06008D3F RID: 36159 RVA: 0x00244760 File Offset: 0x00242960
		[CallerCount(5585)]
		[CachedScanResults(RefRangeStart = 24, RefRangeEnd = 5609, XrefRangeStart = 24, XrefRangeEnd = 5609, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override void OnRemoveFromSolver(ObiBatchedConstraints constraints)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(constraints);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), ObiDistanceConstraintBatch.NativeMethodInfoPtr_OnRemoveFromSolver_Protected_Virtual_Void_ObiBatchedConstraints_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x06008D40 RID: 36160 RVA: 0x002447C4 File Offset: 0x002429C4
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 608956, XrefRangeEnd = 608987, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override void PushDataToSolver(ObiBatchedConstraints constraints)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(constraints);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), ObiDistanceConstraintBatch.NativeMethodInfoPtr_PushDataToSolver_Public_Virtual_Void_ObiBatchedConstraints_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x06008D41 RID: 36161 RVA: 0x00244828 File Offset: 0x00242A28
		[CallerCount(5585)]
		[CachedScanResults(RefRangeStart = 24, RefRangeEnd = 5609, XrefRangeStart = 24, XrefRangeEnd = 5609, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override void PullDataFromSolver(ObiBatchedConstraints constraints)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(constraints);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), ObiDistanceConstraintBatch.NativeMethodInfoPtr_PullDataFromSolver_Public_Virtual_Void_ObiBatchedConstraints_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x06008D42 RID: 36162 RVA: 0x0024488C File Offset: 0x00242A8C
		// Note: this type is marked as 'beforefieldinit'.
		static ObiDistanceConstraintBatch()
		{
			Il2CppClassPointerStore<ObiDistanceConstraintBatch>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "Obi", "ObiDistanceConstraintBatch");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<ObiDistanceConstraintBatch>.NativeClassPtr);
			ObiDistanceConstraintBatch.NativeFieldInfoPtr_springIndices = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiDistanceConstraintBatch>.NativeClassPtr, "springIndices");
			ObiDistanceConstraintBatch.NativeFieldInfoPtr_restLengths = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiDistanceConstraintBatch>.NativeClassPtr, "restLengths");
			ObiDistanceConstraintBatch.NativeFieldInfoPtr_stiffnesses = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiDistanceConstraintBatch>.NativeClassPtr, "stiffnesses");
			ObiDistanceConstraintBatch.NativeFieldInfoPtr_solverIndices = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiDistanceConstraintBatch>.NativeClassPtr, "solverIndices");
			ObiDistanceConstraintBatch.NativeMethodInfoPtr__ctor_Public_Void_Boolean_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiDistanceConstraintBatch>.NativeClassPtr, 100674165);
			ObiDistanceConstraintBatch.NativeMethodInfoPtr__ctor_Public_Void_Boolean_Boolean_Single_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiDistanceConstraintBatch>.NativeClassPtr, 100674166);
			ObiDistanceConstraintBatch.NativeMethodInfoPtr_GetConstraintType_Public_Virtual_ConstraintType_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiDistanceConstraintBatch>.NativeClassPtr, 100674167);
			ObiDistanceConstraintBatch.NativeMethodInfoPtr_Clear_Public_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiDistanceConstraintBatch>.NativeClassPtr, 100674168);
			ObiDistanceConstraintBatch.NativeMethodInfoPtr_AddConstraint_Public_Void_Int32_Int32_Single_Single_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiDistanceConstraintBatch>.NativeClassPtr, 100674169);
			ObiDistanceConstraintBatch.NativeMethodInfoPtr_InsertConstraint_Public_Void_Int32_Int32_Int32_Single_Single_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiDistanceConstraintBatch>.NativeClassPtr, 100674170);
			ObiDistanceConstraintBatch.NativeMethodInfoPtr_SetParticleIndex_Public_Void_Int32_Int32_DistanceIndexType_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiDistanceConstraintBatch>.NativeClassPtr, 100674171);
			ObiDistanceConstraintBatch.NativeMethodInfoPtr_RemoveConstraint_Public_Void_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiDistanceConstraintBatch>.NativeClassPtr, 100674172);
			ObiDistanceConstraintBatch.NativeMethodInfoPtr_GetConstraintsInvolvingParticle_Public_Virtual_List_1_Int32_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiDistanceConstraintBatch>.NativeClassPtr, 100674173);
			ObiDistanceConstraintBatch.NativeMethodInfoPtr_Cook_Public_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiDistanceConstraintBatch>.NativeClassPtr, 100674174);
			ObiDistanceConstraintBatch.NativeMethodInfoPtr_OnAddToSolver_Protected_Virtual_Void_ObiBatchedConstraints_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiDistanceConstraintBatch>.NativeClassPtr, 100674175);
			ObiDistanceConstraintBatch.NativeMethodInfoPtr_OnRemoveFromSolver_Protected_Virtual_Void_ObiBatchedConstraints_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiDistanceConstraintBatch>.NativeClassPtr, 100674176);
			ObiDistanceConstraintBatch.NativeMethodInfoPtr_PushDataToSolver_Public_Virtual_Void_ObiBatchedConstraints_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiDistanceConstraintBatch>.NativeClassPtr, 100674177);
			ObiDistanceConstraintBatch.NativeMethodInfoPtr_PullDataFromSolver_Public_Virtual_Void_ObiBatchedConstraints_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiDistanceConstraintBatch>.NativeClassPtr, 100674178);
		}

		// Token: 0x06008D43 RID: 36163 RVA: 0x00242A70 File Offset: 0x00240C70
		public ObiDistanceConstraintBatch(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x1700300D RID: 12301
		// (get) Token: 0x06008D44 RID: 36164 RVA: 0x00244A24 File Offset: 0x00242C24
		// (set) Token: 0x06008D45 RID: 36165 RVA: 0x00244A58 File Offset: 0x00242C58
		public unsafe List<int> springIndices
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiDistanceConstraintBatch.NativeFieldInfoPtr_springIndices);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new List<int>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiDistanceConstraintBatch.NativeFieldInfoPtr_springIndices), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x1700300E RID: 12302
		// (get) Token: 0x06008D46 RID: 36166 RVA: 0x00244A80 File Offset: 0x00242C80
		// (set) Token: 0x06008D47 RID: 36167 RVA: 0x00244AB4 File Offset: 0x00242CB4
		public unsafe List<float> restLengths
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiDistanceConstraintBatch.NativeFieldInfoPtr_restLengths);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new List<float>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiDistanceConstraintBatch.NativeFieldInfoPtr_restLengths), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x1700300F RID: 12303
		// (get) Token: 0x06008D48 RID: 36168 RVA: 0x00244ADC File Offset: 0x00242CDC
		// (set) Token: 0x06008D49 RID: 36169 RVA: 0x00244B10 File Offset: 0x00242D10
		public unsafe List<Vector2> stiffnesses
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiDistanceConstraintBatch.NativeFieldInfoPtr_stiffnesses);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new List<Vector2>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiDistanceConstraintBatch.NativeFieldInfoPtr_stiffnesses), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17003010 RID: 12304
		// (get) Token: 0x06008D4A RID: 36170 RVA: 0x00244B38 File Offset: 0x00242D38
		// (set) Token: 0x06008D4B RID: 36171 RVA: 0x00244B6C File Offset: 0x00242D6C
		public unsafe Il2CppStructArray<int> solverIndices
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiDistanceConstraintBatch.NativeFieldInfoPtr_solverIndices);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Il2CppStructArray<int>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiDistanceConstraintBatch.NativeFieldInfoPtr_solverIndices), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x04005E1C RID: 24092
		private static readonly IntPtr NativeFieldInfoPtr_springIndices;

		// Token: 0x04005E1D RID: 24093
		private static readonly IntPtr NativeFieldInfoPtr_restLengths;

		// Token: 0x04005E1E RID: 24094
		private static readonly IntPtr NativeFieldInfoPtr_stiffnesses;

		// Token: 0x04005E1F RID: 24095
		private static readonly IntPtr NativeFieldInfoPtr_solverIndices;

		// Token: 0x04005E20 RID: 24096
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_Boolean_Boolean_0;

		// Token: 0x04005E21 RID: 24097
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_Boolean_Boolean_Single_Single_0;

		// Token: 0x04005E22 RID: 24098
		private static readonly IntPtr NativeMethodInfoPtr_GetConstraintType_Public_Virtual_ConstraintType_0;

		// Token: 0x04005E23 RID: 24099
		private static readonly IntPtr NativeMethodInfoPtr_Clear_Public_Virtual_Void_0;

		// Token: 0x04005E24 RID: 24100
		private static readonly IntPtr NativeMethodInfoPtr_AddConstraint_Public_Void_Int32_Int32_Single_Single_Single_0;

		// Token: 0x04005E25 RID: 24101
		private static readonly IntPtr NativeMethodInfoPtr_InsertConstraint_Public_Void_Int32_Int32_Int32_Single_Single_Single_0;

		// Token: 0x04005E26 RID: 24102
		private static readonly IntPtr NativeMethodInfoPtr_SetParticleIndex_Public_Void_Int32_Int32_DistanceIndexType_Boolean_0;

		// Token: 0x04005E27 RID: 24103
		private static readonly IntPtr NativeMethodInfoPtr_RemoveConstraint_Public_Void_Int32_0;

		// Token: 0x04005E28 RID: 24104
		private static readonly IntPtr NativeMethodInfoPtr_GetConstraintsInvolvingParticle_Public_Virtual_List_1_Int32_Int32_0;

		// Token: 0x04005E29 RID: 24105
		private static readonly IntPtr NativeMethodInfoPtr_Cook_Public_Virtual_Void_0;

		// Token: 0x04005E2A RID: 24106
		private static readonly IntPtr NativeMethodInfoPtr_OnAddToSolver_Protected_Virtual_Void_ObiBatchedConstraints_0;

		// Token: 0x04005E2B RID: 24107
		private static readonly IntPtr NativeMethodInfoPtr_OnRemoveFromSolver_Protected_Virtual_Void_ObiBatchedConstraints_0;

		// Token: 0x04005E2C RID: 24108
		private static readonly IntPtr NativeMethodInfoPtr_PushDataToSolver_Public_Virtual_Void_ObiBatchedConstraints_0;

		// Token: 0x04005E2D RID: 24109
		private static readonly IntPtr NativeMethodInfoPtr_PullDataFromSolver_Public_Virtual_Void_ObiBatchedConstraints_0;

		// Token: 0x020004BD RID: 1213
		public enum DistanceIndexType
		{
			// Token: 0x04005E2F RID: 24111
			First,
			// Token: 0x04005E30 RID: 24112
			Second
		}
	}
}
