using System;
using Il2CppInterop.Common.Attributes;
using Il2CppInterop.Runtime;
using Il2CppSystem;
using Il2CppSystem.Collections.Generic;

namespace Obi
{
	// Token: 0x020004BB RID: 1211
	[Serializable]
	public class ObiConstraintBatch : Object
	{
		// Token: 0x17003008 RID: 12296
		// (get) Token: 0x06008D0B RID: 36107 RVA: 0x00243500 File Offset: 0x00241700
		public unsafe IntPtr OniBatch
		{
			[CallerCount(9)]
			[CachedScanResults(RefRangeStart = 7244, RefRangeEnd = 7253, XrefRangeStart = 7244, XrefRangeEnd = 7253, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			get
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiConstraintBatch.NativeMethodInfoPtr_get_OniBatch_Public_get_IntPtr_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}
		}

		// Token: 0x17003009 RID: 12297
		// (get) Token: 0x06008D0C RID: 36108 RVA: 0x00243550 File Offset: 0x00241750
		public unsafe int ConstraintCount
		{
			[CallerCount(1)]
			[CachedScanResults(RefRangeStart = 15257, RefRangeEnd = 15258, XrefRangeStart = 15257, XrefRangeEnd = 15258, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			get
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiConstraintBatch.NativeMethodInfoPtr_get_ConstraintCount_Public_get_Int32_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}
		}

		// Token: 0x1700300A RID: 12298
		// (get) Token: 0x06008D0D RID: 36109 RVA: 0x002435A0 File Offset: 0x002417A0
		public unsafe bool IsCooked
		{
			[CallerCount(0)]
			get
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiConstraintBatch.NativeMethodInfoPtr_get_IsCooked_Public_get_Boolean_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}
		}

		// Token: 0x1700300B RID: 12299
		// (get) Token: 0x06008D0E RID: 36110 RVA: 0x002435F0 File Offset: 0x002417F0
		public unsafe bool SharesParticles
		{
			[CallerCount(0)]
			get
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiConstraintBatch.NativeMethodInfoPtr_get_SharesParticles_Public_get_Boolean_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}
		}

		// Token: 0x1700300C RID: 12300
		// (get) Token: 0x06008D0F RID: 36111 RVA: 0x00243640 File Offset: 0x00241840
		public unsafe IEnumerable<int> ActiveConstraints
		{
			[CallerCount(4)]
			[CachedScanResults(RefRangeStart = 608667, RefRangeEnd = 608671, XrefRangeStart = 608663, XrefRangeEnd = 608667, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			get
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiConstraintBatch.NativeMethodInfoPtr_get_ActiveConstraints_Public_get_IEnumerable_1_Int32_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				IntPtr intPtr3 = intPtr;
				return (intPtr3 != 0) ? new IEnumerable<int>(intPtr3) : null;
			}
		}

		// Token: 0x06008D10 RID: 36112 RVA: 0x00243698 File Offset: 0x00241898
		[CallerCount(0)]
		public unsafe virtual 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), ObiConstraintBatch.NativeMethodInfoPtr_GetConstraintType_Public_Abstract_Virtual_New_ConstraintType_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			return *IL2CPP.il2cpp_object_unbox(intPtr);
		}

		// Token: 0x06008D11 RID: 36113 RVA: 0x002436F4 File Offset: 0x002418F4
		[CallerCount(0)]
		public unsafe virtual 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), ObiConstraintBatch.NativeMethodInfoPtr_Clear_Public_Abstract_Virtual_New_Void_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008D12 RID: 36114 RVA: 0x00243744 File Offset: 0x00241944
		[CallerCount(5585)]
		[CachedScanResults(RefRangeStart = 24, RefRangeEnd = 5609, XrefRangeStart = 24, XrefRangeEnd = 5609, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe virtual 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), ObiConstraintBatch.NativeMethodInfoPtr_Cook_Public_Virtual_New_Void_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008D13 RID: 36115 RVA: 0x00243794 File Offset: 0x00241994
		[CallerCount(0)]
		public unsafe virtual 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), ObiConstraintBatch.NativeMethodInfoPtr_OnAddToSolver_Protected_Abstract_Virtual_New_Void_ObiBatchedConstraints_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x06008D14 RID: 36116 RVA: 0x002437F8 File Offset: 0x002419F8
		[CallerCount(0)]
		public unsafe virtual 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), ObiConstraintBatch.NativeMethodInfoPtr_OnRemoveFromSolver_Protected_Abstract_Virtual_New_Void_ObiBatchedConstraints_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x06008D15 RID: 36117 RVA: 0x0024385C File Offset: 0x00241A5C
		[CallerCount(0)]
		public unsafe virtual 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), ObiConstraintBatch.NativeMethodInfoPtr_PushDataToSolver_Public_Abstract_Virtual_New_Void_ObiBatchedConstraints_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x06008D16 RID: 36118 RVA: 0x002438C0 File Offset: 0x00241AC0
		[CallerCount(0)]
		public unsafe virtual 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), ObiConstraintBatch.NativeMethodInfoPtr_PullDataFromSolver_Public_Abstract_Virtual_New_Void_ObiBatchedConstraints_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x06008D17 RID: 36119 RVA: 0x00243924 File Offset: 0x00241B24
		[CallerCount(0)]
		public unsafe virtual 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), ObiConstraintBatch.NativeMethodInfoPtr_GetConstraintsInvolvingParticle_Public_Abstract_Virtual_New_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: 0x06008D18 RID: 36120 RVA: 0x00243998 File Offset: 0x00241B98
		[CallerCount(4)]
		[CachedScanResults(RefRangeStart = 608674, RefRangeEnd = 608678, XrefRangeStart = 608671, XrefRangeEnd = 608674, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe float StiffnessToCompliance(float stiffness)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref stiffness;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiConstraintBatch.NativeMethodInfoPtr_StiffnessToCompliance_Protected_Single_Single_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}
		}

		// Token: 0x06008D19 RID: 36121 RVA: 0x002439FC File Offset: 0x00241BFC
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 608684, RefRangeEnd = 608685, XrefRangeStart = 608678, XrefRangeEnd = 608684, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void ActivateConstraint(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(ObiConstraintBatch.NativeMethodInfoPtr_ActivateConstraint_Public_Void_Int32_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x06008D1A RID: 36122 RVA: 0x00243A50 File Offset: 0x00241C50
		[CallerCount(3)]
		[CachedScanResults(RefRangeStart = 608689, RefRangeEnd = 608692, XrefRangeStart = 608685, XrefRangeEnd = 608689, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void DeactivateConstraint(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(ObiConstraintBatch.NativeMethodInfoPtr_DeactivateConstraint_Public_Void_Int32_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x06008D1B RID: 36123 RVA: 0x00243AA4 File Offset: 0x00241CA4
		[CallerCount(7)]
		[CachedScanResults(RefRangeStart = 608705, RefRangeEnd = 608712, XrefRangeStart = 608692, XrefRangeEnd = 608705, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe ObiConstraintBatch(bool cooked, bool sharesParticles)
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<ObiConstraintBatch>.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(ObiConstraintBatch.NativeMethodInfoPtr__ctor_Public_Void_Boolean_Boolean_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008D1C RID: 36124 RVA: 0x00243B14 File Offset: 0x00241D14
		[CallerCount(5)]
		[CachedScanResults(RefRangeStart = 608725, RefRangeEnd = 608730, XrefRangeStart = 608712, XrefRangeEnd = 608725, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe ObiConstraintBatch(bool cooked, bool sharesParticles, float minYoungModulus, float maxYoungModulus)
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<ObiConstraintBatch>.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(ObiConstraintBatch.NativeMethodInfoPtr__ctor_Public_Void_Boolean_Boolean_Single_Single_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008D1D RID: 36125 RVA: 0x00243BAC File Offset: 0x00241DAC
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 608730, XrefRangeEnd = 608733, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void AddToSolver(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(ObiConstraintBatch.NativeMethodInfoPtr_AddToSolver_Public_Void_ObiBatchedConstraints_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x06008D1E RID: 36126 RVA: 0x00243C08 File Offset: 0x00241E08
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 608733, XrefRangeEnd = 608735, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void RemoveFromSolver(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(ObiConstraintBatch.NativeMethodInfoPtr_RemoveFromSolver_Public_Void_ObiBatchedConstraints_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x06008D1F RID: 36127 RVA: 0x00243C64 File Offset: 0x00241E64
		[CallerCount(3)]
		[CachedScanResults(RefRangeStart = 608741, RefRangeEnd = 608744, XrefRangeStart = 608735, XrefRangeEnd = 608741, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void SetActiveConstraints()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiConstraintBatch.NativeMethodInfoPtr_SetActiveConstraints_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008D20 RID: 36128 RVA: 0x00243CA8 File Offset: 0x00241EA8
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 608744, XrefRangeEnd = 608745, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Enable()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiConstraintBatch.NativeMethodInfoPtr_Enable_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008D21 RID: 36129 RVA: 0x00243CEC File Offset: 0x00241EEC
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 608745, XrefRangeEnd = 608746, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Disable()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiConstraintBatch.NativeMethodInfoPtr_Disable_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008D22 RID: 36130 RVA: 0x00243D30 File Offset: 0x00241F30
		// Note: this type is marked as 'beforefieldinit'.
		static ObiConstraintBatch()
		{
			Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "Obi", "ObiConstraintBatch");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr);
			ObiConstraintBatch.NativeFieldInfoPtr_batch = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, "batch");
			ObiConstraintBatch.NativeFieldInfoPtr_maxYoungModulus = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, "maxYoungModulus");
			ObiConstraintBatch.NativeFieldInfoPtr_minYoungModulus = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, "minYoungModulus");
			ObiConstraintBatch.NativeFieldInfoPtr_constraintCount = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, "constraintCount");
			ObiConstraintBatch.NativeFieldInfoPtr_cooked = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, "cooked");
			ObiConstraintBatch.NativeFieldInfoPtr_sharesParticles = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, "sharesParticles");
			ObiConstraintBatch.NativeFieldInfoPtr_activeConstraints = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, "activeConstraints");
			ObiConstraintBatch.NativeFieldInfoPtr_phaseSizes = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, "phaseSizes");
			ObiConstraintBatch.NativeMethodInfoPtr_get_OniBatch_Public_get_IntPtr_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, 100674142);
			ObiConstraintBatch.NativeMethodInfoPtr_get_ConstraintCount_Public_get_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, 100674143);
			ObiConstraintBatch.NativeMethodInfoPtr_get_IsCooked_Public_get_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, 100674144);
			ObiConstraintBatch.NativeMethodInfoPtr_get_SharesParticles_Public_get_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, 100674145);
			ObiConstraintBatch.NativeMethodInfoPtr_get_ActiveConstraints_Public_get_IEnumerable_1_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, 100674146);
			ObiConstraintBatch.NativeMethodInfoPtr_GetConstraintType_Public_Abstract_Virtual_New_ConstraintType_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, 100674147);
			ObiConstraintBatch.NativeMethodInfoPtr_Clear_Public_Abstract_Virtual_New_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, 100674148);
			ObiConstraintBatch.NativeMethodInfoPtr_Cook_Public_Virtual_New_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, 100674149);
			ObiConstraintBatch.NativeMethodInfoPtr_OnAddToSolver_Protected_Abstract_Virtual_New_Void_ObiBatchedConstraints_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, 100674150);
			ObiConstraintBatch.NativeMethodInfoPtr_OnRemoveFromSolver_Protected_Abstract_Virtual_New_Void_ObiBatchedConstraints_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, 100674151);
			ObiConstraintBatch.NativeMethodInfoPtr_PushDataToSolver_Public_Abstract_Virtual_New_Void_ObiBatchedConstraints_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, 100674152);
			ObiConstraintBatch.NativeMethodInfoPtr_PullDataFromSolver_Public_Abstract_Virtual_New_Void_ObiBatchedConstraints_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, 100674153);
			ObiConstraintBatch.NativeMethodInfoPtr_GetConstraintsInvolvingParticle_Public_Abstract_Virtual_New_List_1_Int32_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, 100674154);
			ObiConstraintBatch.NativeMethodInfoPtr_StiffnessToCompliance_Protected_Single_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, 100674155);
			ObiConstraintBatch.NativeMethodInfoPtr_ActivateConstraint_Public_Void_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, 100674156);
			ObiConstraintBatch.NativeMethodInfoPtr_DeactivateConstraint_Public_Void_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, 100674157);
			ObiConstraintBatch.NativeMethodInfoPtr__ctor_Public_Void_Boolean_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, 100674158);
			ObiConstraintBatch.NativeMethodInfoPtr__ctor_Public_Void_Boolean_Boolean_Single_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, 100674159);
			ObiConstraintBatch.NativeMethodInfoPtr_AddToSolver_Public_Void_ObiBatchedConstraints_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, 100674160);
			ObiConstraintBatch.NativeMethodInfoPtr_RemoveFromSolver_Public_Void_ObiBatchedConstraints_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, 100674161);
			ObiConstraintBatch.NativeMethodInfoPtr_SetActiveConstraints_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, 100674162);
			ObiConstraintBatch.NativeMethodInfoPtr_Enable_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, 100674163);
			ObiConstraintBatch.NativeMethodInfoPtr_Disable_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, 100674164);
		}

		// Token: 0x06008D23 RID: 36131 RVA: 0x0000A688 File Offset: 0x00008888
		public ObiConstraintBatch(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17003000 RID: 12288
		// (get) Token: 0x06008D24 RID: 36132 RVA: 0x00243FCC File Offset: 0x002421CC
		// (set) Token: 0x06008D25 RID: 36133 RVA: 0x00243FF4 File Offset: 0x002421F4
		public unsafe IntPtr batch
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiConstraintBatch.NativeFieldInfoPtr_batch);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiConstraintBatch.NativeFieldInfoPtr_batch)) = value;
			}
		}

		// Token: 0x17003001 RID: 12289
		// (get) Token: 0x06008D26 RID: 36134 RVA: 0x00244018 File Offset: 0x00242218
		// (set) Token: 0x06008D27 RID: 36135 RVA: 0x00244040 File Offset: 0x00242240
		public unsafe float maxYoungModulus
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiConstraintBatch.NativeFieldInfoPtr_maxYoungModulus);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiConstraintBatch.NativeFieldInfoPtr_maxYoungModulus)) = value;
			}
		}

		// Token: 0x17003002 RID: 12290
		// (get) Token: 0x06008D28 RID: 36136 RVA: 0x00244064 File Offset: 0x00242264
		// (set) Token: 0x06008D29 RID: 36137 RVA: 0x0024408C File Offset: 0x0024228C
		public unsafe float minYoungModulus
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiConstraintBatch.NativeFieldInfoPtr_minYoungModulus);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiConstraintBatch.NativeFieldInfoPtr_minYoungModulus)) = value;
			}
		}

		// Token: 0x17003003 RID: 12291
		// (get) Token: 0x06008D2A RID: 36138 RVA: 0x002440B0 File Offset: 0x002422B0
		// (set) Token: 0x06008D2B RID: 36139 RVA: 0x002440D8 File Offset: 0x002422D8
		public unsafe int constraintCount
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiConstraintBatch.NativeFieldInfoPtr_constraintCount);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiConstraintBatch.NativeFieldInfoPtr_constraintCount)) = value;
			}
		}

		// Token: 0x17003004 RID: 12292
		// (get) Token: 0x06008D2C RID: 36140 RVA: 0x002440FC File Offset: 0x002422FC
		// (set) Token: 0x06008D2D RID: 36141 RVA: 0x00244124 File Offset: 0x00242324
		public unsafe bool cooked
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiConstraintBatch.NativeFieldInfoPtr_cooked);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiConstraintBatch.NativeFieldInfoPtr_cooked)) = value;
			}
		}

		// Token: 0x17003005 RID: 12293
		// (get) Token: 0x06008D2E RID: 36142 RVA: 0x00244148 File Offset: 0x00242348
		// (set) Token: 0x06008D2F RID: 36143 RVA: 0x00244170 File Offset: 0x00242370
		public unsafe bool sharesParticles
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiConstraintBatch.NativeFieldInfoPtr_sharesParticles);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiConstraintBatch.NativeFieldInfoPtr_sharesParticles)) = value;
			}
		}

		// Token: 0x17003006 RID: 12294
		// (get) Token: 0x06008D30 RID: 36144 RVA: 0x00244194 File Offset: 0x00242394
		// (set) Token: 0x06008D31 RID: 36145 RVA: 0x002441C8 File Offset: 0x002423C8
		public unsafe List<int> activeConstraints
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiConstraintBatch.NativeFieldInfoPtr_activeConstraints);
				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(ObiConstraintBatch.NativeFieldInfoPtr_activeConstraints), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17003007 RID: 12295
		// (get) Token: 0x06008D32 RID: 36146 RVA: 0x002441F0 File Offset: 0x002423F0
		// (set) Token: 0x06008D33 RID: 36147 RVA: 0x00244224 File Offset: 0x00242424
		public unsafe List<int> phaseSizes
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiConstraintBatch.NativeFieldInfoPtr_phaseSizes);
				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(ObiConstraintBatch.NativeFieldInfoPtr_phaseSizes), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x04005DFD RID: 24061
		private static readonly IntPtr NativeFieldInfoPtr_batch;

		// Token: 0x04005DFE RID: 24062
		private static readonly IntPtr NativeFieldInfoPtr_maxYoungModulus;

		// Token: 0x04005DFF RID: 24063
		private static readonly IntPtr NativeFieldInfoPtr_minYoungModulus;

		// Token: 0x04005E00 RID: 24064
		private static readonly IntPtr NativeFieldInfoPtr_constraintCount;

		// Token: 0x04005E01 RID: 24065
		private static readonly IntPtr NativeFieldInfoPtr_cooked;

		// Token: 0x04005E02 RID: 24066
		private static readonly IntPtr NativeFieldInfoPtr_sharesParticles;

		// Token: 0x04005E03 RID: 24067
		private static readonly IntPtr NativeFieldInfoPtr_activeConstraints;

		// Token: 0x04005E04 RID: 24068
		private static readonly IntPtr NativeFieldInfoPtr_phaseSizes;

		// Token: 0x04005E05 RID: 24069
		private static readonly IntPtr NativeMethodInfoPtr_get_OniBatch_Public_get_IntPtr_0;

		// Token: 0x04005E06 RID: 24070
		private static readonly IntPtr NativeMethodInfoPtr_get_ConstraintCount_Public_get_Int32_0;

		// Token: 0x04005E07 RID: 24071
		private static readonly IntPtr NativeMethodInfoPtr_get_IsCooked_Public_get_Boolean_0;

		// Token: 0x04005E08 RID: 24072
		private static readonly IntPtr NativeMethodInfoPtr_get_SharesParticles_Public_get_Boolean_0;

		// Token: 0x04005E09 RID: 24073
		private static readonly IntPtr NativeMethodInfoPtr_get_ActiveConstraints_Public_get_IEnumerable_1_Int32_0;

		// Token: 0x04005E0A RID: 24074
		private static readonly IntPtr NativeMethodInfoPtr_GetConstraintType_Public_Abstract_Virtual_New_ConstraintType_0;

		// Token: 0x04005E0B RID: 24075
		private static readonly IntPtr NativeMethodInfoPtr_Clear_Public_Abstract_Virtual_New_Void_0;

		// Token: 0x04005E0C RID: 24076
		private static readonly IntPtr NativeMethodInfoPtr_Cook_Public_Virtual_New_Void_0;

		// Token: 0x04005E0D RID: 24077
		private static readonly IntPtr NativeMethodInfoPtr_OnAddToSolver_Protected_Abstract_Virtual_New_Void_ObiBatchedConstraints_0;

		// Token: 0x04005E0E RID: 24078
		private static readonly IntPtr NativeMethodInfoPtr_OnRemoveFromSolver_Protected_Abstract_Virtual_New_Void_ObiBatchedConstraints_0;

		// Token: 0x04005E0F RID: 24079
		private static readonly IntPtr NativeMethodInfoPtr_PushDataToSolver_Public_Abstract_Virtual_New_Void_ObiBatchedConstraints_0;

		// Token: 0x04005E10 RID: 24080
		private static readonly IntPtr NativeMethodInfoPtr_PullDataFromSolver_Public_Abstract_Virtual_New_Void_ObiBatchedConstraints_0;

		// Token: 0x04005E11 RID: 24081
		private static readonly IntPtr NativeMethodInfoPtr_GetConstraintsInvolvingParticle_Public_Abstract_Virtual_New_List_1_Int32_Int32_0;

		// Token: 0x04005E12 RID: 24082
		private static readonly IntPtr NativeMethodInfoPtr_StiffnessToCompliance_Protected_Single_Single_0;

		// Token: 0x04005E13 RID: 24083
		private static readonly IntPtr NativeMethodInfoPtr_ActivateConstraint_Public_Void_Int32_0;

		// Token: 0x04005E14 RID: 24084
		private static readonly IntPtr NativeMethodInfoPtr_DeactivateConstraint_Public_Void_Int32_0;

		// Token: 0x04005E15 RID: 24085
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_Boolean_Boolean_0;

		// Token: 0x04005E16 RID: 24086
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_Boolean_Boolean_Single_Single_0;

		// Token: 0x04005E17 RID: 24087
		private static readonly IntPtr NativeMethodInfoPtr_AddToSolver_Public_Void_ObiBatchedConstraints_0;

		// Token: 0x04005E18 RID: 24088
		private static readonly IntPtr NativeMethodInfoPtr_RemoveFromSolver_Public_Void_ObiBatchedConstraints_0;

		// Token: 0x04005E19 RID: 24089
		private static readonly IntPtr NativeMethodInfoPtr_SetActiveConstraints_Public_Void_0;

		// Token: 0x04005E1A RID: 24090
		private static readonly IntPtr NativeMethodInfoPtr_Enable_Public_Void_0;

		// Token: 0x04005E1B RID: 24091
		private static readonly IntPtr NativeMethodInfoPtr_Disable_Public_Void_0;
	}
}
