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

namespace Obi
{
	// Token: 0x02000513 RID: 1299
	[Serializable]
	public class ObiConstraintBatch : Object
	{
		// Token: 0x170032A3 RID: 12963
		// (get) Token: 0x0600955E RID: 38238 RVA: 0x0026623C File Offset: 0x0026443C
		public unsafe IntPtr OniBatch
		{
			[CallerCount(9)]
			[CachedScanResults(RefRangeStart = 7538, RefRangeEnd = 7547, XrefRangeStart = 7538, XrefRangeEnd = 7547, 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: 0x170032A4 RID: 12964
		// (get) Token: 0x0600955F RID: 38239 RVA: 0x0026628C File Offset: 0x0026448C
		public unsafe int ConstraintCount
		{
			[CallerCount(1)]
			[CachedScanResults(RefRangeStart = 15154, RefRangeEnd = 15155, XrefRangeStart = 15154, XrefRangeEnd = 15155, 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: 0x170032A5 RID: 12965
		// (get) Token: 0x06009560 RID: 38240 RVA: 0x002662DC File Offset: 0x002644DC
		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: 0x170032A6 RID: 12966
		// (get) Token: 0x06009561 RID: 38241 RVA: 0x0026632C File Offset: 0x0026452C
		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: 0x170032A7 RID: 12967
		// (get) Token: 0x06009562 RID: 38242 RVA: 0x0026637C File Offset: 0x0026457C
		public unsafe IEnumerable<int> ActiveConstraints
		{
			[CallerCount(4)]
			[CachedScanResults(RefRangeStart = 640977, RefRangeEnd = 640981, XrefRangeStart = 640973, XrefRangeEnd = 640977, 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: 0x06009563 RID: 38243 RVA: 0x002663D4 File Offset: 0x002645D4
		[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: 0x06009564 RID: 38244 RVA: 0x00266430 File Offset: 0x00264630
		[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: 0x06009565 RID: 38245 RVA: 0x00266480 File Offset: 0x00264680
		[CallerCount(5874)]
		[CachedScanResults(RefRangeStart = 24, RefRangeEnd = 5898, XrefRangeStart = 24, XrefRangeEnd = 5898, 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: 0x06009566 RID: 38246 RVA: 0x002664D0 File Offset: 0x002646D0
		[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: 0x06009567 RID: 38247 RVA: 0x00266534 File Offset: 0x00264734
		[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: 0x06009568 RID: 38248 RVA: 0x00266598 File Offset: 0x00264798
		[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: 0x06009569 RID: 38249 RVA: 0x002665FC File Offset: 0x002647FC
		[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: 0x0600956A RID: 38250 RVA: 0x00266660 File Offset: 0x00264860
		[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: 0x0600956B RID: 38251 RVA: 0x002666D4 File Offset: 0x002648D4
		[CallerCount(4)]
		[CachedScanResults(RefRangeStart = 640984, RefRangeEnd = 640988, XrefRangeStart = 640981, XrefRangeEnd = 640984, 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: 0x0600956C RID: 38252 RVA: 0x00266738 File Offset: 0x00264938
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 640994, RefRangeEnd = 640995, XrefRangeStart = 640988, XrefRangeEnd = 640994, 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: 0x0600956D RID: 38253 RVA: 0x0026678C File Offset: 0x0026498C
		[CallerCount(3)]
		[CachedScanResults(RefRangeStart = 640999, RefRangeEnd = 641002, XrefRangeStart = 640995, XrefRangeEnd = 640999, 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: 0x0600956E RID: 38254 RVA: 0x002667E0 File Offset: 0x002649E0
		[CallerCount(7)]
		[CachedScanResults(RefRangeStart = 641015, RefRangeEnd = 641022, XrefRangeStart = 641002, XrefRangeEnd = 641015, 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: 0x0600956F RID: 38255 RVA: 0x00266850 File Offset: 0x00264A50
		[CallerCount(5)]
		[CachedScanResults(RefRangeStart = 641035, RefRangeEnd = 641040, XrefRangeStart = 641022, XrefRangeEnd = 641035, 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: 0x06009570 RID: 38256 RVA: 0x002668E8 File Offset: 0x00264AE8
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 641040, XrefRangeEnd = 641043, 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: 0x06009571 RID: 38257 RVA: 0x00266944 File Offset: 0x00264B44
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 641043, XrefRangeEnd = 641045, 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: 0x06009572 RID: 38258 RVA: 0x002669A0 File Offset: 0x00264BA0
		[CallerCount(3)]
		[CachedScanResults(RefRangeStart = 641051, RefRangeEnd = 641054, XrefRangeStart = 641045, XrefRangeEnd = 641051, 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: 0x06009573 RID: 38259 RVA: 0x002669E4 File Offset: 0x00264BE4
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 641054, XrefRangeEnd = 641055, 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: 0x06009574 RID: 38260 RVA: 0x00266A28 File Offset: 0x00264C28
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 641055, XrefRangeEnd = 641056, 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: 0x06009575 RID: 38261 RVA: 0x00266A6C File Offset: 0x00264C6C
		// 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, 100674855);
			ObiConstraintBatch.NativeMethodInfoPtr_get_ConstraintCount_Public_get_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, 100674856);
			ObiConstraintBatch.NativeMethodInfoPtr_get_IsCooked_Public_get_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, 100674857);
			ObiConstraintBatch.NativeMethodInfoPtr_get_SharesParticles_Public_get_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, 100674858);
			ObiConstraintBatch.NativeMethodInfoPtr_get_ActiveConstraints_Public_get_IEnumerable_1_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, 100674859);
			ObiConstraintBatch.NativeMethodInfoPtr_GetConstraintType_Public_Abstract_Virtual_New_ConstraintType_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, 100674860);
			ObiConstraintBatch.NativeMethodInfoPtr_Clear_Public_Abstract_Virtual_New_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, 100674861);
			ObiConstraintBatch.NativeMethodInfoPtr_Cook_Public_Virtual_New_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, 100674862);
			ObiConstraintBatch.NativeMethodInfoPtr_OnAddToSolver_Protected_Abstract_Virtual_New_Void_ObiBatchedConstraints_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, 100674863);
			ObiConstraintBatch.NativeMethodInfoPtr_OnRemoveFromSolver_Protected_Abstract_Virtual_New_Void_ObiBatchedConstraints_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, 100674864);
			ObiConstraintBatch.NativeMethodInfoPtr_PushDataToSolver_Public_Abstract_Virtual_New_Void_ObiBatchedConstraints_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, 100674865);
			ObiConstraintBatch.NativeMethodInfoPtr_PullDataFromSolver_Public_Abstract_Virtual_New_Void_ObiBatchedConstraints_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, 100674866);
			ObiConstraintBatch.NativeMethodInfoPtr_GetConstraintsInvolvingParticle_Public_Abstract_Virtual_New_List_1_Int32_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, 100674867);
			ObiConstraintBatch.NativeMethodInfoPtr_StiffnessToCompliance_Protected_Single_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, 100674868);
			ObiConstraintBatch.NativeMethodInfoPtr_ActivateConstraint_Public_Void_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, 100674869);
			ObiConstraintBatch.NativeMethodInfoPtr_DeactivateConstraint_Public_Void_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, 100674870);
			ObiConstraintBatch.NativeMethodInfoPtr__ctor_Public_Void_Boolean_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, 100674871);
			ObiConstraintBatch.NativeMethodInfoPtr__ctor_Public_Void_Boolean_Boolean_Single_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, 100674872);
			ObiConstraintBatch.NativeMethodInfoPtr_AddToSolver_Public_Void_ObiBatchedConstraints_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, 100674873);
			ObiConstraintBatch.NativeMethodInfoPtr_RemoveFromSolver_Public_Void_ObiBatchedConstraints_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, 100674874);
			ObiConstraintBatch.NativeMethodInfoPtr_SetActiveConstraints_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, 100674875);
			ObiConstraintBatch.NativeMethodInfoPtr_Enable_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, 100674876);
			ObiConstraintBatch.NativeMethodInfoPtr_Disable_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiConstraintBatch>.NativeClassPtr, 100674877);
		}

		// Token: 0x06009576 RID: 38262 RVA: 0x0000A74C File Offset: 0x0000894C
		public ObiConstraintBatch(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x1700329B RID: 12955
		// (get) Token: 0x06009577 RID: 38263 RVA: 0x00266D08 File Offset: 0x00264F08
		// (set) Token: 0x06009578 RID: 38264 RVA: 0x00266D30 File Offset: 0x00264F30
		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: 0x1700329C RID: 12956
		// (get) Token: 0x06009579 RID: 38265 RVA: 0x00266D54 File Offset: 0x00264F54
		// (set) Token: 0x0600957A RID: 38266 RVA: 0x00266D7C File Offset: 0x00264F7C
		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: 0x1700329D RID: 12957
		// (get) Token: 0x0600957B RID: 38267 RVA: 0x00266DA0 File Offset: 0x00264FA0
		// (set) Token: 0x0600957C RID: 38268 RVA: 0x00266DC8 File Offset: 0x00264FC8
		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: 0x1700329E RID: 12958
		// (get) Token: 0x0600957D RID: 38269 RVA: 0x00266DEC File Offset: 0x00264FEC
		// (set) Token: 0x0600957E RID: 38270 RVA: 0x00266E14 File Offset: 0x00265014
		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: 0x1700329F RID: 12959
		// (get) Token: 0x0600957F RID: 38271 RVA: 0x00266E38 File Offset: 0x00265038
		// (set) Token: 0x06009580 RID: 38272 RVA: 0x00266E60 File Offset: 0x00265060
		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: 0x170032A0 RID: 12960
		// (get) Token: 0x06009581 RID: 38273 RVA: 0x00266E84 File Offset: 0x00265084
		// (set) Token: 0x06009582 RID: 38274 RVA: 0x00266EAC File Offset: 0x002650AC
		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: 0x170032A1 RID: 12961
		// (get) Token: 0x06009583 RID: 38275 RVA: 0x00266ED0 File Offset: 0x002650D0
		// (set) Token: 0x06009584 RID: 38276 RVA: 0x00266F04 File Offset: 0x00265104
		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: 0x170032A2 RID: 12962
		// (get) Token: 0x06009585 RID: 38277 RVA: 0x00266F2C File Offset: 0x0026512C
		// (set) Token: 0x06009586 RID: 38278 RVA: 0x00266F60 File Offset: 0x00265160
		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: 0x040063A6 RID: 25510
		private static readonly IntPtr NativeFieldInfoPtr_batch;

		// Token: 0x040063A7 RID: 25511
		private static readonly IntPtr NativeFieldInfoPtr_maxYoungModulus;

		// Token: 0x040063A8 RID: 25512
		private static readonly IntPtr NativeFieldInfoPtr_minYoungModulus;

		// Token: 0x040063A9 RID: 25513
		private static readonly IntPtr NativeFieldInfoPtr_constraintCount;

		// Token: 0x040063AA RID: 25514
		private static readonly IntPtr NativeFieldInfoPtr_cooked;

		// Token: 0x040063AB RID: 25515
		private static readonly IntPtr NativeFieldInfoPtr_sharesParticles;

		// Token: 0x040063AC RID: 25516
		private static readonly IntPtr NativeFieldInfoPtr_activeConstraints;

		// Token: 0x040063AD RID: 25517
		private static readonly IntPtr NativeFieldInfoPtr_phaseSizes;

		// Token: 0x040063AE RID: 25518
		private static readonly IntPtr NativeMethodInfoPtr_get_OniBatch_Public_get_IntPtr_0;

		// Token: 0x040063AF RID: 25519
		private static readonly IntPtr NativeMethodInfoPtr_get_ConstraintCount_Public_get_Int32_0;

		// Token: 0x040063B0 RID: 25520
		private static readonly IntPtr NativeMethodInfoPtr_get_IsCooked_Public_get_Boolean_0;

		// Token: 0x040063B1 RID: 25521
		private static readonly IntPtr NativeMethodInfoPtr_get_SharesParticles_Public_get_Boolean_0;

		// Token: 0x040063B2 RID: 25522
		private static readonly IntPtr NativeMethodInfoPtr_get_ActiveConstraints_Public_get_IEnumerable_1_Int32_0;

		// Token: 0x040063B3 RID: 25523
		private static readonly IntPtr NativeMethodInfoPtr_GetConstraintType_Public_Abstract_Virtual_New_ConstraintType_0;

		// Token: 0x040063B4 RID: 25524
		private static readonly IntPtr NativeMethodInfoPtr_Clear_Public_Abstract_Virtual_New_Void_0;

		// Token: 0x040063B5 RID: 25525
		private static readonly IntPtr NativeMethodInfoPtr_Cook_Public_Virtual_New_Void_0;

		// Token: 0x040063B6 RID: 25526
		private static readonly IntPtr NativeMethodInfoPtr_OnAddToSolver_Protected_Abstract_Virtual_New_Void_ObiBatchedConstraints_0;

		// Token: 0x040063B7 RID: 25527
		private static readonly IntPtr NativeMethodInfoPtr_OnRemoveFromSolver_Protected_Abstract_Virtual_New_Void_ObiBatchedConstraints_0;

		// Token: 0x040063B8 RID: 25528
		private static readonly IntPtr NativeMethodInfoPtr_PushDataToSolver_Public_Abstract_Virtual_New_Void_ObiBatchedConstraints_0;

		// Token: 0x040063B9 RID: 25529
		private static readonly IntPtr NativeMethodInfoPtr_PullDataFromSolver_Public_Abstract_Virtual_New_Void_ObiBatchedConstraints_0;

		// Token: 0x040063BA RID: 25530
		private static readonly IntPtr NativeMethodInfoPtr_GetConstraintsInvolvingParticle_Public_Abstract_Virtual_New_List_1_Int32_Int32_0;

		// Token: 0x040063BB RID: 25531
		private static readonly IntPtr NativeMethodInfoPtr_StiffnessToCompliance_Protected_Single_Single_0;

		// Token: 0x040063BC RID: 25532
		private static readonly IntPtr NativeMethodInfoPtr_ActivateConstraint_Public_Void_Int32_0;

		// Token: 0x040063BD RID: 25533
		private static readonly IntPtr NativeMethodInfoPtr_DeactivateConstraint_Public_Void_Int32_0;

		// Token: 0x040063BE RID: 25534
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_Boolean_Boolean_0;

		// Token: 0x040063BF RID: 25535
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_Boolean_Boolean_Single_Single_0;

		// Token: 0x040063C0 RID: 25536
		private static readonly IntPtr NativeMethodInfoPtr_AddToSolver_Public_Void_ObiBatchedConstraints_0;

		// Token: 0x040063C1 RID: 25537
		private static readonly IntPtr NativeMethodInfoPtr_RemoveFromSolver_Public_Void_ObiBatchedConstraints_0;

		// Token: 0x040063C2 RID: 25538
		private static readonly IntPtr NativeMethodInfoPtr_SetActiveConstraints_Public_Void_0;

		// Token: 0x040063C3 RID: 25539
		private static readonly IntPtr NativeMethodInfoPtr_Enable_Public_Void_0;

		// Token: 0x040063C4 RID: 25540
		private static readonly IntPtr NativeMethodInfoPtr_Disable_Public_Void_0;
	}
}
