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

namespace Obi
{
	// Token: 0x02000514 RID: 1300
	[Serializable]
	public class ObiDistanceConstraintBatch : ObiConstraintBatch
	{
		// Token: 0x06009587 RID: 38279 RVA: 0x00266F88 File Offset: 0x00265188
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 641056, XrefRangeEnd = 641082, 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: 0x06009588 RID: 38280 RVA: 0x00266FF8 File Offset: 0x002651F8
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 641108, RefRangeEnd = 641109, XrefRangeStart = 641082, XrefRangeEnd = 641108, 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: 0x06009589 RID: 38281 RVA: 0x00267090 File Offset: 0x00265290
		[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: 0x0600958A RID: 38282 RVA: 0x002670EC File Offset: 0x002652EC
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 641109, XrefRangeEnd = 641120, 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: 0x0600958B RID: 38283 RVA: 0x0026713C File Offset: 0x0026533C
		[CallerCount(2)]
		[CachedScanResults(RefRangeStart = 641133, RefRangeEnd = 641135, XrefRangeStart = 641120, XrefRangeEnd = 641133, 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: 0x0600958C RID: 38284 RVA: 0x002671DC File Offset: 0x002653DC
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 641135, XrefRangeEnd = 641158, 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: 0x0600958D RID: 38285 RVA: 0x00267290 File Offset: 0x00265490
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 641158, XrefRangeEnd = 641162, 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: 0x0600958E RID: 38286 RVA: 0x00267320 File Offset: 0x00265520
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 641162, XrefRangeEnd = 641183, 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: 0x0600958F RID: 38287 RVA: 0x00267374 File Offset: 0x00265574
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 641183, XrefRangeEnd = 641196, 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: 0x06009590 RID: 38288 RVA: 0x002673E8 File Offset: 0x002655E8
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 641196, XrefRangeEnd = 641256, 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: 0x06009591 RID: 38289 RVA: 0x00267438 File Offset: 0x00265638
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 641256, XrefRangeEnd = 641266, 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: 0x06009592 RID: 38290 RVA: 0x0026749C File Offset: 0x0026569C
		[CallerCount(5874)]
		[CachedScanResults(RefRangeStart = 24, RefRangeEnd = 5898, XrefRangeStart = 24, XrefRangeEnd = 5898, 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: 0x06009593 RID: 38291 RVA: 0x00267500 File Offset: 0x00265700
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 641266, XrefRangeEnd = 641297, 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: 0x06009594 RID: 38292 RVA: 0x00267564 File Offset: 0x00265764
		[CallerCount(5874)]
		[CachedScanResults(RefRangeStart = 24, RefRangeEnd = 5898, XrefRangeStart = 24, XrefRangeEnd = 5898, 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: 0x06009595 RID: 38293 RVA: 0x002675C8 File Offset: 0x002657C8
		// 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, 100674878);
			ObiDistanceConstraintBatch.NativeMethodInfoPtr__ctor_Public_Void_Boolean_Boolean_Single_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiDistanceConstraintBatch>.NativeClassPtr, 100674879);
			ObiDistanceConstraintBatch.NativeMethodInfoPtr_GetConstraintType_Public_Virtual_ConstraintType_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiDistanceConstraintBatch>.NativeClassPtr, 100674880);
			ObiDistanceConstraintBatch.NativeMethodInfoPtr_Clear_Public_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiDistanceConstraintBatch>.NativeClassPtr, 100674881);
			ObiDistanceConstraintBatch.NativeMethodInfoPtr_AddConstraint_Public_Void_Int32_Int32_Single_Single_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiDistanceConstraintBatch>.NativeClassPtr, 100674882);
			ObiDistanceConstraintBatch.NativeMethodInfoPtr_InsertConstraint_Public_Void_Int32_Int32_Int32_Single_Single_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiDistanceConstraintBatch>.NativeClassPtr, 100674883);
			ObiDistanceConstraintBatch.NativeMethodInfoPtr_SetParticleIndex_Public_Void_Int32_Int32_DistanceIndexType_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiDistanceConstraintBatch>.NativeClassPtr, 100674884);
			ObiDistanceConstraintBatch.NativeMethodInfoPtr_RemoveConstraint_Public_Void_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiDistanceConstraintBatch>.NativeClassPtr, 100674885);
			ObiDistanceConstraintBatch.NativeMethodInfoPtr_GetConstraintsInvolvingParticle_Public_Virtual_List_1_Int32_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiDistanceConstraintBatch>.NativeClassPtr, 100674886);
			ObiDistanceConstraintBatch.NativeMethodInfoPtr_Cook_Public_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiDistanceConstraintBatch>.NativeClassPtr, 100674887);
			ObiDistanceConstraintBatch.NativeMethodInfoPtr_OnAddToSolver_Protected_Virtual_Void_ObiBatchedConstraints_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiDistanceConstraintBatch>.NativeClassPtr, 100674888);
			ObiDistanceConstraintBatch.NativeMethodInfoPtr_OnRemoveFromSolver_Protected_Virtual_Void_ObiBatchedConstraints_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiDistanceConstraintBatch>.NativeClassPtr, 100674889);
			ObiDistanceConstraintBatch.NativeMethodInfoPtr_PushDataToSolver_Public_Virtual_Void_ObiBatchedConstraints_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiDistanceConstraintBatch>.NativeClassPtr, 100674890);
			ObiDistanceConstraintBatch.NativeMethodInfoPtr_PullDataFromSolver_Public_Virtual_Void_ObiBatchedConstraints_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiDistanceConstraintBatch>.NativeClassPtr, 100674891);
		}

		// Token: 0x06009596 RID: 38294 RVA: 0x002657AC File Offset: 0x002639AC
		public ObiDistanceConstraintBatch(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x170032A8 RID: 12968
		// (get) Token: 0x06009597 RID: 38295 RVA: 0x00267760 File Offset: 0x00265960
		// (set) Token: 0x06009598 RID: 38296 RVA: 0x00267794 File Offset: 0x00265994
		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: 0x170032A9 RID: 12969
		// (get) Token: 0x06009599 RID: 38297 RVA: 0x002677BC File Offset: 0x002659BC
		// (set) Token: 0x0600959A RID: 38298 RVA: 0x002677F0 File Offset: 0x002659F0
		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: 0x170032AA RID: 12970
		// (get) Token: 0x0600959B RID: 38299 RVA: 0x00267818 File Offset: 0x00265A18
		// (set) Token: 0x0600959C RID: 38300 RVA: 0x0026784C File Offset: 0x00265A4C
		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: 0x170032AB RID: 12971
		// (get) Token: 0x0600959D RID: 38301 RVA: 0x00267874 File Offset: 0x00265A74
		// (set) Token: 0x0600959E RID: 38302 RVA: 0x002678A8 File Offset: 0x00265AA8
		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: 0x040063C5 RID: 25541
		private static readonly IntPtr NativeFieldInfoPtr_springIndices;

		// Token: 0x040063C6 RID: 25542
		private static readonly IntPtr NativeFieldInfoPtr_restLengths;

		// Token: 0x040063C7 RID: 25543
		private static readonly IntPtr NativeFieldInfoPtr_stiffnesses;

		// Token: 0x040063C8 RID: 25544
		private static readonly IntPtr NativeFieldInfoPtr_solverIndices;

		// Token: 0x040063C9 RID: 25545
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_Boolean_Boolean_0;

		// Token: 0x040063CA RID: 25546
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_Boolean_Boolean_Single_Single_0;

		// Token: 0x040063CB RID: 25547
		private static readonly IntPtr NativeMethodInfoPtr_GetConstraintType_Public_Virtual_ConstraintType_0;

		// Token: 0x040063CC RID: 25548
		private static readonly IntPtr NativeMethodInfoPtr_Clear_Public_Virtual_Void_0;

		// Token: 0x040063CD RID: 25549
		private static readonly IntPtr NativeMethodInfoPtr_AddConstraint_Public_Void_Int32_Int32_Single_Single_Single_0;

		// Token: 0x040063CE RID: 25550
		private static readonly IntPtr NativeMethodInfoPtr_InsertConstraint_Public_Void_Int32_Int32_Int32_Single_Single_Single_0;

		// Token: 0x040063CF RID: 25551
		private static readonly IntPtr NativeMethodInfoPtr_SetParticleIndex_Public_Void_Int32_Int32_DistanceIndexType_Boolean_0;

		// Token: 0x040063D0 RID: 25552
		private static readonly IntPtr NativeMethodInfoPtr_RemoveConstraint_Public_Void_Int32_0;

		// Token: 0x040063D1 RID: 25553
		private static readonly IntPtr NativeMethodInfoPtr_GetConstraintsInvolvingParticle_Public_Virtual_List_1_Int32_Int32_0;

		// Token: 0x040063D2 RID: 25554
		private static readonly IntPtr NativeMethodInfoPtr_Cook_Public_Virtual_Void_0;

		// Token: 0x040063D3 RID: 25555
		private static readonly IntPtr NativeMethodInfoPtr_OnAddToSolver_Protected_Virtual_Void_ObiBatchedConstraints_0;

		// Token: 0x040063D4 RID: 25556
		private static readonly IntPtr NativeMethodInfoPtr_OnRemoveFromSolver_Protected_Virtual_Void_ObiBatchedConstraints_0;

		// Token: 0x040063D5 RID: 25557
		private static readonly IntPtr NativeMethodInfoPtr_PushDataToSolver_Public_Virtual_Void_ObiBatchedConstraints_0;

		// Token: 0x040063D6 RID: 25558
		private static readonly IntPtr NativeMethodInfoPtr_PullDataFromSolver_Public_Virtual_Void_ObiBatchedConstraints_0;

		// Token: 0x02000515 RID: 1301
		public enum DistanceIndexType
		{
			// Token: 0x040063D8 RID: 25560
			First,
			// Token: 0x040063D9 RID: 25561
			Second
		}
	}
}
