using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
using UnityEngine;

// Token: 0x02000362 RID: 866
[Token(Token = "0x2000362")]
public static class Oni
{
	// Token: 0x06002138 RID: 8504 RVA: 0x0004EBA8 File Offset: 0x0004CDA8
	[Token(Token = "0x6002138")]
	[Address(RVA = "0x30B400", Offset = "0x30A200", VA = "0x18030B400")]
	public static GCHandle PinMemory(object data)
	{
		return GCHandle.Alloc(data, GCHandleType.Pinned);
	}

	// Token: 0x06002139 RID: 8505 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6002139")]
	[Address(RVA = "0x30D830", Offset = "0x30C630", VA = "0x18030D830")]
	public static void UnpinMemory(GCHandle handle)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600213A RID: 8506
	[Token(Token = "0x600213A")]
	[Address(RVA = "0x309100", Offset = "0x307F00", VA = "0x180309100")]
	public static extern IntPtr CreateCollider();

	// Token: 0x0600213B RID: 8507
	[Token(Token = "0x600213B")]
	[Address(RVA = "0x3095A0", Offset = "0x3083A0", VA = "0x1803095A0")]
	public static extern void DestroyCollider(IntPtr collider);

	// Token: 0x0600213C RID: 8508
	[Token(Token = "0x600213C")]
	[Address(RVA = "0x3093A0", Offset = "0x3081A0", VA = "0x1803093A0")]
	public static extern IntPtr CreateShape(Oni.ShapeType shapeType);

	// Token: 0x0600213D RID: 8509
	[Token(Token = "0x600213D")]
	[Address(RVA = "0x309830", Offset = "0x308630", VA = "0x180309830")]
	public static extern void DestroyShape(IntPtr shape);

	// Token: 0x0600213E RID: 8510
	[Token(Token = "0x600213E")]
	[Address(RVA = "0x309330", Offset = "0x308130", VA = "0x180309330")]
	public static extern IntPtr CreateRigidbody();

	// Token: 0x0600213F RID: 8511
	[Token(Token = "0x600213F")]
	[Address(RVA = "0x3097B0", Offset = "0x3085B0", VA = "0x1803097B0")]
	public static extern void DestroyRigidbody(IntPtr rigidbody);

	// Token: 0x06002140 RID: 8512
	[Token(Token = "0x6002140")]
	[Address(RVA = "0x30D860", Offset = "0x30C660", VA = "0x18030D860")]
	public static extern void UpdateCollider(IntPtr collider, ref Oni.Collider adaptor);

	// Token: 0x06002141 RID: 8513
	[Token(Token = "0x6002141")]
	[Address(RVA = "0x30DA10", Offset = "0x30C810", VA = "0x18030DA10")]
	public static extern void UpdateShape(IntPtr shape, ref Oni.Shape adaptor);

	// Token: 0x06002142 RID: 8514
	[Token(Token = "0x6002142")]
	[Address(RVA = "0x30D980", Offset = "0x30C780", VA = "0x18030D980")]
	public static extern void UpdateRigidbody(IntPtr rigidbody, ref Oni.Rigidbody adaptor);

	// Token: 0x06002143 RID: 8515
	[Token(Token = "0x6002143")]
	[Address(RVA = "0x30AE80", Offset = "0x309C80", VA = "0x18030AE80")]
	public static extern void GetRigidbodyVelocity(IntPtr rigidbody, ref Oni.RigidbodyVelocities velocities);

	// Token: 0x06002144 RID: 8516
	[Token(Token = "0x6002144")]
	[Address(RVA = "0x30BB20", Offset = "0x30A920", VA = "0x18030BB20")]
	public static extern void SetColliderShape(IntPtr collider, IntPtr shape);

	// Token: 0x06002145 RID: 8517
	[Token(Token = "0x6002145")]
	[Address(RVA = "0x30BA90", Offset = "0x30A890", VA = "0x18030BA90")]
	public static extern void SetColliderRigidbody(IntPtr collider, IntPtr rigidbody);

	// Token: 0x06002146 RID: 8518
	[Token(Token = "0x6002146")]
	[Address(RVA = "0x30BA00", Offset = "0x30A800", VA = "0x18030BA00")]
	public static extern void SetColliderMaterial(IntPtr collider, IntPtr material);

	// Token: 0x06002147 RID: 8519
	[Token(Token = "0x6002147")]
	[Address(RVA = "0x309170", Offset = "0x307F70", VA = "0x180309170")]
	public static extern IntPtr CreateCollisionMaterial();

	// Token: 0x06002148 RID: 8520
	[Token(Token = "0x6002148")]
	[Address(RVA = "0x309620", Offset = "0x308420", VA = "0x180309620")]
	public static extern void DestroyCollisionMaterial(IntPtr material);

	// Token: 0x06002149 RID: 8521
	[Token(Token = "0x6002149")]
	[Address(RVA = "0x30D8F0", Offset = "0x30C6F0", VA = "0x18030D8F0")]
	public static extern void UpdateCollisionMaterial(IntPtr material, ref Oni.CollisionMaterial adaptor);

	// Token: 0x0600214A RID: 8522
	[Token(Token = "0x600214A")]
	[Address(RVA = "0x309420", Offset = "0x308220", VA = "0x180309420")]
	public static extern IntPtr CreateSolver(int maxParticles, int maxNeighbours);

	// Token: 0x0600214B RID: 8523
	[Token(Token = "0x600214B")]
	[Address(RVA = "0x3098B0", Offset = "0x3086B0", VA = "0x1803098B0")]
	public static extern void DestroySolver(IntPtr solver);

	// Token: 0x0600214C RID: 8524
	[Token(Token = "0x600214C")]
	[Address(RVA = "0x3089A0", Offset = "0x3077A0", VA = "0x1803089A0")]
	public static extern void AddCollider(IntPtr solver, IntPtr collider);

	// Token: 0x0600214D RID: 8525
	[Token(Token = "0x600214D")]
	[Address(RVA = "0x30B4A0", Offset = "0x30A2A0", VA = "0x18030B4A0")]
	public static extern void RemoveCollider(IntPtr solver, IntPtr collider);

	// Token: 0x0600214E RID: 8526
	[Token(Token = "0x600214E")]
	[Address(RVA = "0x30A010", Offset = "0x308E10", VA = "0x18030A010")]
	public static extern void GetBounds(IntPtr solver, ref Vector3 min, ref Vector3 max);

	// Token: 0x0600214F RID: 8527
	[Token(Token = "0x600214F")]
	[Address(RVA = "0x30A880", Offset = "0x309680", VA = "0x18030A880")]
	public static extern int GetParticleGridSize(IntPtr solver);

	// Token: 0x06002150 RID: 8528
	[Token(Token = "0x6002150")]
	[Address(RVA = "0x30A900", Offset = "0x309700", VA = "0x18030A900")]
	public static extern void GetParticleGrid(IntPtr solver, Oni.GridCell[] cells);

	// Token: 0x06002151 RID: 8529
	[Token(Token = "0x6002151")]
	[Address(RVA = "0x30D180", Offset = "0x30BF80", VA = "0x18030D180")]
	public static extern void SetSolverParameters(IntPtr solver, ref Oni.SolverParameters parameters);

	// Token: 0x06002152 RID: 8530
	[Token(Token = "0x6002152")]
	[Address(RVA = "0x30B190", Offset = "0x309F90", VA = "0x18030B190")]
	public static extern void GetSolverParameters(IntPtr solver, ref Oni.SolverParameters parameters);

	// Token: 0x06002153 RID: 8531
	[Token(Token = "0x6002153")]
	[Address(RVA = "0x30B700", Offset = "0x30A500", VA = "0x18030B700")]
	public static extern int SetActiveParticles(IntPtr solver, int[] active, int num);

	// Token: 0x06002154 RID: 8532
	[Token(Token = "0x6002154")]
	[Address(RVA = "0x308BB0", Offset = "0x3079B0", VA = "0x180308BB0")]
	public static extern void AddSimulationTime(IntPtr solver, float step_dt);

	// Token: 0x06002155 RID: 8533
	[Token(Token = "0x6002155")]
	[Address(RVA = "0x30B5D0", Offset = "0x30A3D0", VA = "0x18030B5D0")]
	public static extern void ResetSimulationTime(IntPtr solver);

	// Token: 0x06002156 RID: 8534
	[Token(Token = "0x6002156")]
	[Address(RVA = "0x30DB20", Offset = "0x30C920", VA = "0x18030DB20")]
	public static extern void UpdateSolver(IntPtr solver, float substep_dt);

	// Token: 0x06002157 RID: 8535
	[Token(Token = "0x6002157")]
	[Address(RVA = "0x308C40", Offset = "0x307A40", VA = "0x180308C40")]
	public static extern void ApplyPositionInterpolation(IntPtr solver, float substep_dt);

	// Token: 0x06002158 RID: 8536
	[Token(Token = "0x6002158")]
	[Address(RVA = "0x30DAA0", Offset = "0x30C8A0", VA = "0x18030DAA0")]
	public static extern void UpdateSkeletalAnimation(IntPtr solver);

	// Token: 0x06002159 RID: 8537
	[Token(Token = "0x6002159")]
	[Address(RVA = "0x30A290", Offset = "0x309090", VA = "0x18030A290")]
	public static extern void GetConstraintsOrder(IntPtr solver, int[] order);

	// Token: 0x0600215A RID: 8538
	[Token(Token = "0x600215A")]
	[Address(RVA = "0x30BD10", Offset = "0x30AB10", VA = "0x18030BD10")]
	public static extern void SetConstraintsOrder(IntPtr solver, int[] order);

	// Token: 0x0600215B RID: 8539
	[Token(Token = "0x600215B")]
	[Address(RVA = "0x30A160", Offset = "0x308F60", VA = "0x18030A160")]
	public static extern int GetConstraintCount(IntPtr solver, int type);

	// Token: 0x0600215C RID: 8540
	[Token(Token = "0x600215C")]
	[Address(RVA = "0x309C20", Offset = "0x308A20", VA = "0x180309C20")]
	public static extern void GetActiveConstraintIndices(IntPtr solver, int[] indices, int num, int type);

	// Token: 0x0600215D RID: 8541
	[Token(Token = "0x600215D")]
	[Address(RVA = "0x30CE00", Offset = "0x30BC00", VA = "0x18030CE00")]
	public static extern int SetRenderableParticlePositions(IntPtr solver, Vector4[] positions, int num, int destOffset);

	// Token: 0x0600215E RID: 8542
	[Token(Token = "0x600215E")]
	[Address(RVA = "0x30ADC0", Offset = "0x309BC0", VA = "0x18030ADC0")]
	public static extern int GetRenderableParticlePositions(IntPtr solver, Vector4[] positions, int num, int sourceOffset);

	// Token: 0x0600215F RID: 8543
	[Token(Token = "0x600215F")]
	[Address(RVA = "0x30CA00", Offset = "0x30B800", VA = "0x18030CA00")]
	public static extern int SetParticlePhases(IntPtr solver, int[] phases, int num, int destOffset);

	// Token: 0x06002160 RID: 8544
	[Token(Token = "0x6002160")]
	[Address(RVA = "0x30CAC0", Offset = "0x30B8C0", VA = "0x18030CAC0")]
	public static extern int SetParticlePositions(IntPtr solver, Vector4[] positions, int num, int destOffset);

	// Token: 0x06002161 RID: 8545
	[Token(Token = "0x6002161")]
	[Address(RVA = "0x30A9A0", Offset = "0x3097A0", VA = "0x18030A9A0")]
	public static extern int GetParticlePositions(IntPtr solver, Vector4[] positions, int num, int sourceOffset);

	// Token: 0x06002162 RID: 8546
	[Token(Token = "0x6002162")]
	[Address(RVA = "0x30C940", Offset = "0x30B740", VA = "0x18030C940")]
	public static extern int SetParticleInverseMasses(IntPtr solver, float[] invMasses, int num, int destOffset);

	// Token: 0x06002163 RID: 8547
	[Token(Token = "0x6002163")]
	[Address(RVA = "0x30CB80", Offset = "0x30B980", VA = "0x18030CB80")]
	public static extern int SetParticleSolidRadii(IntPtr solver, float[] radii, int num, int destOffset);

	// Token: 0x06002164 RID: 8548
	[Token(Token = "0x6002164")]
	[Address(RVA = "0x30CC40", Offset = "0x30BA40", VA = "0x18030CC40")]
	public static extern int SetParticleVelocities(IntPtr solver, Vector4[] velocities, int num, int destOffset);

	// Token: 0x06002165 RID: 8549
	[Token(Token = "0x6002165")]
	[Address(RVA = "0x30AA60", Offset = "0x309860", VA = "0x18030AA60")]
	public static extern int GetParticleVelocities(IntPtr solver, Vector4[] velocities, int num, int sourceOffset);

	// Token: 0x06002166 RID: 8550
	[Token(Token = "0x6002166")]
	[Address(RVA = "0x308AF0", Offset = "0x3078F0", VA = "0x180308AF0")]
	public static extern void AddParticleExternalForces(IntPtr solver, Vector4[] forces, int[] indices, int num);

	// Token: 0x06002167 RID: 8551
	[Token(Token = "0x6002167")]
	[Address(RVA = "0x308A30", Offset = "0x307830", VA = "0x180308A30")]
	public static extern void AddParticleExternalForce(IntPtr solver, ref Vector4 force, int[] indices, int num);

	// Token: 0x06002168 RID: 8552
	[Token(Token = "0x6002168")]
	[Address(RVA = "0x30AB20", Offset = "0x309920", VA = "0x18030AB20")]
	public static extern int GetParticleVorticities(IntPtr solver, Vector4[] vorticities, int num, int sourceOffset);

	// Token: 0x06002169 RID: 8553
	[Token(Token = "0x6002169")]
	[Address(RVA = "0x30A7C0", Offset = "0x3095C0", VA = "0x18030A7C0")]
	public static extern int GetParticleDensities(IntPtr solver, float[] densities, int num, int sourceOffset);

	// Token: 0x0600216A RID: 8554
	[Token(Token = "0x600216A")]
	[Address(RVA = "0x30A330", Offset = "0x309130", VA = "0x18030A330")]
	public static extern int GetDeformableTriangleCount(IntPtr solver);

	// Token: 0x0600216B RID: 8555
	[Token(Token = "0x600216B")]
	[Address(RVA = "0x30C280", Offset = "0x30B080", VA = "0x18030C280")]
	public static extern void SetDeformableTriangles(IntPtr solver, int[] indices, int num, int destOffset);

	// Token: 0x0600216C RID: 8556
	[Token(Token = "0x600216C")]
	[Address(RVA = "0x30B530", Offset = "0x30A330", VA = "0x18030B530")]
	public static extern int RemoveDeformableTriangles(IntPtr solver, int num, int sourceOffset);

	// Token: 0x0600216D RID: 8557
	[Token(Token = "0x600216D")]
	[Address(RVA = "0x30BC70", Offset = "0x30AA70", VA = "0x18030BC70")]
	public static extern void SetConstraintGroupParameters(IntPtr solver, int type, ref Oni.ConstraintParameters parameters);

	// Token: 0x0600216E RID: 8558
	[Token(Token = "0x600216E")]
	[Address(RVA = "0x30A1F0", Offset = "0x308FF0", VA = "0x18030A1F0")]
	public static extern void GetConstraintGroupParameters(IntPtr solver, int type, ref Oni.ConstraintParameters parameters);

	// Token: 0x0600216F RID: 8559
	[Token(Token = "0x600216F")]
	[Address(RVA = "0x30BBB0", Offset = "0x30A9B0", VA = "0x18030BBB0")]
	public static extern void SetCollisionMaterials(IntPtr solver, IntPtr[] materials, int[] indices, int num);

	// Token: 0x06002170 RID: 8560
	[Token(Token = "0x6002170")]
	[Address(RVA = "0x30CEC0", Offset = "0x30BCC0", VA = "0x18030CEC0")]
	public static extern int SetRestPositions(IntPtr solver, Vector4[] positions, int num, int destOffset);

	// Token: 0x06002171 RID: 8561
	[Token(Token = "0x6002171")]
	[Address(RVA = "0x30C6C0", Offset = "0x30B4C0", VA = "0x18030C6C0")]
	public static extern void SetFluidMaterials(IntPtr solver, Oni.FluidMaterial[] materials, int num, int destOffset);

	// Token: 0x06002172 RID: 8562
	[Token(Token = "0x6002172")]
	[Address(RVA = "0x30C600", Offset = "0x30B400", VA = "0x18030C600")]
	public static extern int SetFluidMaterialIndices(IntPtr solver, int[] indices, int num, int destOffset);

	// Token: 0x06002173 RID: 8563
	[Token(Token = "0x6002173")]
	[Address(RVA = "0x3091E0", Offset = "0x307FE0", VA = "0x1803091E0")]
	public static extern IntPtr CreateDeformableMesh(IntPtr solver, IntPtr halfEdge, IntPtr skinConstraintBatch, float[] worldToLocal, IntPtr particleIndices, int vertexCapacity, int vertexCount);

	// Token: 0x06002174 RID: 8564
	[Token(Token = "0x6002174")]
	[Address(RVA = "0x3096A0", Offset = "0x3084A0", VA = "0x1803096A0")]
	public static extern void DestroyDeformableMesh(IntPtr solver, IntPtr mesh);

	// Token: 0x06002175 RID: 8565
	[Token(Token = "0x6002175")]
	[Address(RVA = "0x30D750", Offset = "0x30C550", VA = "0x18030D750")]
	public static extern bool TearDeformableMeshAtVertex(IntPtr mesh, int vertexIndex, ref Vector3 planePoint, ref Vector3 planeNormal, int[] updated_edges, ref int num_edges);

	// Token: 0x06002176 RID: 8566
	[Token(Token = "0x6002176")]
	[Address(RVA = "0x30C140", Offset = "0x30AF40", VA = "0x18030C140")]
	public static extern void SetDeformableMeshTBNUpdate(IntPtr mesh, Oni.NormalsUpdate normalsUpdate, bool skinTangents);

	// Token: 0x06002177 RID: 8567
	[Token(Token = "0x6002177")]
	[Address(RVA = "0x30C1E0", Offset = "0x30AFE0", VA = "0x18030C1E0")]
	public static extern void SetDeformableMeshTransform(IntPtr mesh, float[] worldToLocal);

	// Token: 0x06002178 RID: 8568
	[Token(Token = "0x6002178")]
	[Address(RVA = "0x30C0A0", Offset = "0x30AEA0", VA = "0x18030C0A0")]
	public static extern void SetDeformableMeshSkinMap(IntPtr mesh, IntPtr sourceMesh, IntPtr triangleSkinMap);

	// Token: 0x06002179 RID: 8569
	[Token(Token = "0x6002179")]
	[Address(RVA = "0x30C010", Offset = "0x30AE10", VA = "0x18030C010")]
	public static extern void SetDeformableMeshParticleIndices(IntPtr mesh, IntPtr particleIndices);

	// Token: 0x0600217A RID: 8570
	[Token(Token = "0x600217A")]
	[Address(RVA = "0x30BF10", Offset = "0x30AD10", VA = "0x18030BF10")]
	public static extern void SetDeformableMeshData(IntPtr mesh, IntPtr triangles, IntPtr vertices, IntPtr normals, IntPtr tangents, IntPtr colors, IntPtr uv1, IntPtr uv2, IntPtr uv3, IntPtr uv4);

	// Token: 0x0600217B RID: 8571
	[Token(Token = "0x600217B")]
	[Address(RVA = "0x30BDB0", Offset = "0x30ABB0", VA = "0x18030BDB0")]
	public static extern void SetDeformableMeshAnimationData(IntPtr mesh, float[] bindPoses, Oni.BoneWeights[] weights, int numBones);

	// Token: 0x0600217C RID: 8572
	[Token(Token = "0x600217C")]
	[Address(RVA = "0x30BE70", Offset = "0x30AC70", VA = "0x18030BE70")]
	public static extern void SetDeformableMeshBoneTransforms(IntPtr mesh, float[] boneTransforms);

	// Token: 0x0600217D RID: 8573
	[Token(Token = "0x600217D")]
	[Address(RVA = "0x309AC0", Offset = "0x3088C0", VA = "0x180309AC0")]
	public static extern void ForceDeformableMeshSkeletalSkinning(IntPtr mesh);

	// Token: 0x0600217E RID: 8574
	[Token(Token = "0x600217E")]
	[Address(RVA = "0x309070", Offset = "0x307E70", VA = "0x180309070")]
	public static extern IntPtr CreateBatch(int type, bool cooked);

	// Token: 0x0600217F RID: 8575
	[Token(Token = "0x600217F")]
	[Address(RVA = "0x309520", Offset = "0x308320", VA = "0x180309520")]
	public static extern void DestroyBatch(IntPtr batch);

	// Token: 0x06002180 RID: 8576
	[Token(Token = "0x6002180")]
	[Address(RVA = "0x308900", Offset = "0x307700", VA = "0x180308900")]
	public static extern IntPtr AddBatch(IntPtr solver, IntPtr batch, bool sharesParticles);

	// Token: 0x06002181 RID: 8577
	[Token(Token = "0x6002181")]
	[Address(RVA = "0x30B410", Offset = "0x30A210", VA = "0x18030B410")]
	public static extern void RemoveBatch(IntPtr solver, IntPtr batch);

	// Token: 0x06002182 RID: 8578
	[Token(Token = "0x6002182")]
	[Address(RVA = "0x3099B0", Offset = "0x3087B0", VA = "0x1803099B0")]
	public static extern bool EnableBatch(IntPtr batch, bool enabled);

	// Token: 0x06002183 RID: 8579
	[Token(Token = "0x6002183")]
	[Address(RVA = "0x309CE0", Offset = "0x308AE0", VA = "0x180309CE0")]
	public static extern int GetBatchConstraintCount(IntPtr batch);

	// Token: 0x06002184 RID: 8580
	[Token(Token = "0x6002184")]
	[Address(RVA = "0x309D60", Offset = "0x308B60", VA = "0x180309D60")]
	public static extern int GetBatchConstraintForces(IntPtr batch, float[] forces, int num, int destOffset);

	// Token: 0x06002185 RID: 8581
	[Token(Token = "0x6002185")]
	[Address(RVA = "0x309E20", Offset = "0x308C20", VA = "0x180309E20")]
	public static extern int GetBatchPhaseCount(IntPtr batch);

	// Token: 0x06002186 RID: 8582
	[Token(Token = "0x6002186")]
	[Address(RVA = "0x309EA0", Offset = "0x308CA0", VA = "0x180309EA0")]
	public static extern void GetBatchPhaseSizes(IntPtr batch, int[] phaseSizes);

	// Token: 0x06002187 RID: 8583
	[Token(Token = "0x6002187")]
	[Address(RVA = "0x30B870", Offset = "0x30A670", VA = "0x18030B870")]
	public static extern void SetBatchPhaseSizes(IntPtr batch, int[] phaseSizes, int num);

	// Token: 0x06002188 RID: 8584
	[Token(Token = "0x6002188")]
	[Address(RVA = "0x308FF0", Offset = "0x307DF0", VA = "0x180308FF0")]
	public static extern bool CookBatch(IntPtr batch);

	// Token: 0x06002189 RID: 8585
	[Token(Token = "0x6002189")]
	[Address(RVA = "0x30B650", Offset = "0x30A450", VA = "0x18030B650")]
	public static extern int SetActiveConstraints(IntPtr batch, int[] active, int num);

	// Token: 0x0600218A RID: 8586
	[Token(Token = "0x600218A")]
	[Address(RVA = "0x30C480", Offset = "0x30B280", VA = "0x18030C480")]
	public static extern void SetDistanceConstraints(IntPtr batch, int[] indices, float[] restLengths, Vector2[] stiffnesses, int num);

	// Token: 0x0600218B RID: 8587
	[Token(Token = "0x600218B")]
	[Address(RVA = "0x30A470", Offset = "0x309270", VA = "0x18030A470")]
	public static extern void GetDistanceConstraints(IntPtr batch, int[] indices, float[] restLengths, Vector2[] stiffnesses);

	// Token: 0x0600218C RID: 8588
	[Token(Token = "0x600218C")]
	[Address(RVA = "0x30B920", Offset = "0x30A720", VA = "0x18030B920")]
	public static extern void SetBendingConstraints(IntPtr batch, int[] indices, float[] restBends, Vector2[] bendingStiffnesses, int num);

	// Token: 0x0600218D RID: 8589
	[Token(Token = "0x600218D")]
	[Address(RVA = "0x309F40", Offset = "0x308D40", VA = "0x180309F40")]
	public static extern void GetBendingConstraints(IntPtr batch, int[] indices, float[] restBends, Vector2[] bendingStiffnesses);

	// Token: 0x0600218E RID: 8590
	[Token(Token = "0x600218E")]
	[Address(RVA = "0x30CF80", Offset = "0x30BD80", VA = "0x18030CF80")]
	public static extern void SetSkinConstraints(IntPtr batch, int[] indices, Vector4[] points, Vector4[] normals, float[] radiiBackstops, float[] stiffnesses, int num);

	// Token: 0x0600218F RID: 8591
	[Token(Token = "0x600218F")]
	[Address(RVA = "0x30AF10", Offset = "0x309D10", VA = "0x18030AF10")]
	public static extern void GetSkinConstraints(IntPtr batch, int[] indices, Vector4[] points, Vector4[] normals, float[] radiiBackstops, float[] stiffnesses);

	// Token: 0x06002190 RID: 8592
	[Token(Token = "0x6002190")]
	[Address(RVA = "0x30B7B0", Offset = "0x30A5B0", VA = "0x18030B7B0")]
	public static extern void SetAerodynamicConstraints(IntPtr batch, int[] particleIndices, float[] aerodynamicCoeffs, int num);

	// Token: 0x06002191 RID: 8593
	[Token(Token = "0x6002191")]
	[Address(RVA = "0x30D570", Offset = "0x30C370", VA = "0x18030D570")]
	public static extern void SetVolumeConstraints(IntPtr batch, int[] triangleIndices, int[] firstTriangle, int[] numTriangles, float[] restVolumes, Vector2[] pressureStiffnesses, int num);

	// Token: 0x06002192 RID: 8594
	[Token(Token = "0x6002192")]
	[Address(RVA = "0x30D360", Offset = "0x30C160", VA = "0x18030D360")]
	public static extern void SetTetherConstraints(IntPtr batch, int[] indices, Vector2[] maxLenghtsScales, float[] stiffnesses, int num);

	// Token: 0x06002193 RID: 8595
	[Token(Token = "0x6002193")]
	[Address(RVA = "0x30B220", Offset = "0x30A020", VA = "0x18030B220")]
	public static extern void GetTetherConstraints(IntPtr batch, int[] indices, Vector2[] maxLenghtsScales, float[] stiffnesses);

	// Token: 0x06002194 RID: 8596
	[Token(Token = "0x6002194")]
	[Address(RVA = "0x30CD00", Offset = "0x30BB00", VA = "0x18030CD00")]
	public static extern void SetPinConstraints(IntPtr batch, int[] indices, Vector4[] pinOffsets, IntPtr[] colliders, float[] stiffnesses, int num);

	// Token: 0x06002195 RID: 8597
	[Token(Token = "0x6002195")]
	[Address(RVA = "0x30D210", Offset = "0x30C010", VA = "0x18030D210")]
	public static extern void SetStitchConstraints(IntPtr batch, int[] indices, float[] stiffnesses, int num);

	// Token: 0x06002196 RID: 8598
	[Token(Token = "0x6002196")]
	[Address(RVA = "0x30A0B0", Offset = "0x308EB0", VA = "0x18030A0B0")]
	public static extern void GetCollisionContacts(IntPtr solver, Oni.Contact[] contacts, int n);

	// Token: 0x06002197 RID: 8599
	[Token(Token = "0x6002197")]
	[Address(RVA = "0x308F00", Offset = "0x307D00", VA = "0x180308F00")]
	public static extern void ClearDiffuseParticles(IntPtr solver);

	// Token: 0x06002198 RID: 8600
	[Token(Token = "0x6002198")]
	[Address(RVA = "0x30C3D0", Offset = "0x30B1D0", VA = "0x18030C3D0")]
	public static extern int SetDiffuseParticles(IntPtr solver, Vector4[] positions, int num);

	// Token: 0x06002199 RID: 8601
	[Token(Token = "0x6002199")]
	[Address(RVA = "0x30A3B0", Offset = "0x3091B0", VA = "0x18030A3B0")]
	public static extern int GetDiffuseParticleVelocities(IntPtr solver, Vector4[] velocities, int num, int sourceOffset);

	// Token: 0x0600219A RID: 8602
	[Token(Token = "0x600219A")]
	[Address(RVA = "0x30C340", Offset = "0x30B140", VA = "0x18030C340")]
	public static extern void SetDiffuseParticleNeighbourCounts(IntPtr solver, IntPtr neighbourCounts);

	// Token: 0x0600219B RID: 8603
	[Token(Token = "0x600219B")]
	[Address(RVA = "0x3092C0", Offset = "0x3080C0", VA = "0x1803092C0")]
	public static extern IntPtr CreateHalfEdgeMesh();

	// Token: 0x0600219C RID: 8604
	[Token(Token = "0x600219C")]
	[Address(RVA = "0x309730", Offset = "0x308530", VA = "0x180309730")]
	public static extern void DestroyHalfEdgeMesh(IntPtr mesh);

	// Token: 0x0600219D RID: 8605
	[Token(Token = "0x600219D")]
	[Address(RVA = "0x30D440", Offset = "0x30C240", VA = "0x18030D440")]
	public static extern void SetVertices(IntPtr mesh, IntPtr vertices, int n);

	// Token: 0x0600219E RID: 8606
	[Token(Token = "0x600219E")]
	[Address(RVA = "0x30C780", Offset = "0x30B580", VA = "0x18030C780")]
	public static extern void SetHalfEdges(IntPtr mesh, IntPtr halfedges, int n);

	// Token: 0x0600219F RID: 8607
	[Token(Token = "0x600219F")]
	[Address(RVA = "0x30C560", Offset = "0x30B360", VA = "0x18030C560")]
	public static extern void SetFaces(IntPtr mesh, IntPtr faces, int n);

	// Token: 0x060021A0 RID: 8608
	[Token(Token = "0x60021A0")]
	[Address(RVA = "0x30C8B0", Offset = "0x30B6B0", VA = "0x18030C8B0")]
	public static extern void SetNormals(IntPtr mesh, IntPtr normals);

	// Token: 0x060021A1 RID: 8609
	[Token(Token = "0x60021A1")]
	[Address(RVA = "0x30D2D0", Offset = "0x30C0D0", VA = "0x18030D2D0")]
	public static extern void SetTangents(IntPtr mesh, IntPtr tangents);

	// Token: 0x060021A2 RID: 8610
	[Token(Token = "0x60021A2")]
	[Address(RVA = "0x30C820", Offset = "0x30B620", VA = "0x18030C820")]
	public static extern void SetInverseOrientations(IntPtr mesh, IntPtr orientations);

	// Token: 0x060021A3 RID: 8611
	[Token(Token = "0x60021A3")]
	[Address(RVA = "0x30D4E0", Offset = "0x30C2E0", VA = "0x18030D4E0")]
	public static extern void SetVisualMap(IntPtr mesh, IntPtr map);

	// Token: 0x060021A4 RID: 8612
	[Token(Token = "0x60021A4")]
	[Address(RVA = "0x30B2F0", Offset = "0x30A0F0", VA = "0x18030B2F0")]
	public static extern int GetVertexCount(IntPtr mesh);

	// Token: 0x060021A5 RID: 8613
	[Token(Token = "0x60021A5")]
	[Address(RVA = "0x30A640", Offset = "0x309440", VA = "0x18030A640")]
	public static extern int GetHalfEdgeCount(IntPtr mesh);

	// Token: 0x060021A6 RID: 8614
	[Token(Token = "0x60021A6")]
	[Address(RVA = "0x30A540", Offset = "0x309340", VA = "0x18030A540")]
	public static extern int GetFaceCount(IntPtr mesh);

	// Token: 0x060021A7 RID: 8615
	[Token(Token = "0x60021A7")]
	[Address(RVA = "0x30A6C0", Offset = "0x3094C0", VA = "0x18030A6C0")]
	public static extern int GetHalfEdgeMeshInfo(IntPtr mesh, ref Oni.MeshInformation meshInfo);

	// Token: 0x060021A8 RID: 8616
	[Token(Token = "0x60021A8")]
	[Address(RVA = "0x308E30", Offset = "0x307C30", VA = "0x180308E30")]
	public static extern void CalculatePrimitiveCounts(IntPtr mesh, Vector3[] vertices, int[] triangles, int vertexCount, int triangleCount);

	// Token: 0x060021A9 RID: 8617
	[Token(Token = "0x60021A9")]
	[Address(RVA = "0x309B40", Offset = "0x308940", VA = "0x180309B40")]
	public static extern void Generate(IntPtr mesh, Vector3[] vertices, int[] triangles, int vertexCount, int triangleCount, ref Vector3 scale);

	// Token: 0x060021AA RID: 8618
	[Token(Token = "0x60021AA")]
	[Address(RVA = "0x30B370", Offset = "0x30A170", VA = "0x18030B370")]
	public static extern int MakePhase(int group, Oni.ParticlePhase flags);

	// Token: 0x060021AB RID: 8619
	[Token(Token = "0x60021AB")]
	[Address(RVA = "0x30A5C0", Offset = "0x3093C0", VA = "0x18030A5C0")]
	public static extern int GetGroupFromPhase(int phase);

	// Token: 0x060021AC RID: 8620
	[Token(Token = "0x60021AC")]
	[Address(RVA = "0x308CD0", Offset = "0x307AD0", VA = "0x180308CD0")]
	public static extern float BendingConstraintRest(float[] constraintCoordinates);

	// Token: 0x060021AD RID: 8621
	[Token(Token = "0x60021AD")]
	[Address(RVA = "0x3094B0", Offset = "0x3082B0", VA = "0x1803094B0")]
	public static extern IntPtr CreateTriangleSkinMap();

	// Token: 0x060021AE RID: 8622
	[Token(Token = "0x60021AE")]
	[Address(RVA = "0x309930", Offset = "0x308730", VA = "0x180309930")]
	public static extern void DestroyTriangleSkinMap(IntPtr skinmap);

	// Token: 0x060021AF RID: 8623
	[Token(Token = "0x60021AF")]
	[Address(RVA = "0x308D60", Offset = "0x307B60", VA = "0x180308D60")]
	public static extern void Bind(IntPtr skinmap, IntPtr sourcemesh, IntPtr targetmesh, uint[] sourceMasterFlags, uint[] targetSlaveFlags);

	// Token: 0x060021B0 RID: 8624
	[Token(Token = "0x60021B0")]
	[Address(RVA = "0x30B110", Offset = "0x309F10", VA = "0x18030B110")]
	public static extern int GetSkinnedVertexCount(IntPtr skinmap);

	// Token: 0x060021B1 RID: 8625
	[Token(Token = "0x60021B1")]
	[Address(RVA = "0x30B010", Offset = "0x309E10", VA = "0x18030B010")]
	public static extern void GetSkinInfo(IntPtr skinmap, int[] skinIndices, int[] sourceTriIndices, Vector3[] baryPositions, Vector3[] baryNormals, Vector3[] baryTangents);

	// Token: 0x060021B2 RID: 8626
	[Token(Token = "0x60021B2")]
	[Address(RVA = "0x30D080", Offset = "0x30BE80", VA = "0x18030D080")]
	public static extern void SetSkinInfo(IntPtr skinmap, int[] skinIndices, int[] sourceTriIndices, Vector3[] baryPositions, Vector3[] baryNormals, Vector3[] baryTangents, int num);

	// Token: 0x060021B3 RID: 8627
	[Token(Token = "0x60021B3")]
	[Address(RVA = "0x30DBB0", Offset = "0x30C9B0", VA = "0x18030DBB0")]
	public static extern void WaitForAllTasks();

	// Token: 0x060021B4 RID: 8628
	[Token(Token = "0x60021B4")]
	[Address(RVA = "0x308F80", Offset = "0x307D80", VA = "0x180308F80")]
	public static extern void ClearTasks();

	// Token: 0x060021B5 RID: 8629
	[Token(Token = "0x60021B5")]
	[Address(RVA = "0x30A750", Offset = "0x309550", VA = "0x18030A750")]
	public static extern int GetMaxSystemConcurrency();

	// Token: 0x060021B6 RID: 8630
	[Token(Token = "0x60021B6")]
	[Address(RVA = "0x30D6E0", Offset = "0x30C4E0", VA = "0x18030D6E0")]
	public static extern void SignalFrameStart();

	// Token: 0x060021B7 RID: 8631
	[Token(Token = "0x60021B7")]
	[Address(RVA = "0x30D670", Offset = "0x30C470", VA = "0x18030D670")]
	public static extern double SignalFrameEnd();

	// Token: 0x060021B8 RID: 8632
	[Token(Token = "0x60021B8")]
	[Address(RVA = "0x309A40", Offset = "0x308840", VA = "0x180309A40")]
	public static extern void EnableProfiler(bool cooked);

	// Token: 0x060021B9 RID: 8633
	[Token(Token = "0x60021B9")]
	[Address(RVA = "0x30ABE0", Offset = "0x3099E0", VA = "0x18030ABE0")]
	public static extern int GetProfilingInfoCount();

	// Token: 0x060021BA RID: 8634
	[Token(Token = "0x60021BA")]
	[Address(RVA = "0x30AC50", Offset = "0x309A50", VA = "0x18030AC50")]
	public static extern void GetProfilingInfo([Out] Oni.ProfileInfo[] info, int num);

	// Token: 0x02000363 RID: 867
	[Token(Token = "0x2000363")]
	public enum ConstraintType
	{
		// Token: 0x04002A95 RID: 10901
		[Token(Token = "0x4002A95")]
		Tether,
		// Token: 0x04002A96 RID: 10902
		[Token(Token = "0x4002A96")]
		Pin,
		// Token: 0x04002A97 RID: 10903
		[Token(Token = "0x4002A97")]
		Volume,
		// Token: 0x04002A98 RID: 10904
		[Token(Token = "0x4002A98")]
		Bending,
		// Token: 0x04002A99 RID: 10905
		[Token(Token = "0x4002A99")]
		Distance,
		// Token: 0x04002A9A RID: 10906
		[Token(Token = "0x4002A9A")]
		ParticleCollision,
		// Token: 0x04002A9B RID: 10907
		[Token(Token = "0x4002A9B")]
		Density,
		// Token: 0x04002A9C RID: 10908
		[Token(Token = "0x4002A9C")]
		Collision,
		// Token: 0x04002A9D RID: 10909
		[Token(Token = "0x4002A9D")]
		Skin,
		// Token: 0x04002A9E RID: 10910
		[Token(Token = "0x4002A9E")]
		Aerodynamics,
		// Token: 0x04002A9F RID: 10911
		[Token(Token = "0x4002A9F")]
		Stitch,
		// Token: 0x04002AA0 RID: 10912
		[Token(Token = "0x4002AA0")]
		ShapeMatching
	}

	// Token: 0x02000364 RID: 868
	[Token(Token = "0x2000364")]
	public enum ParticlePhase
	{
		// Token: 0x04002AA2 RID: 10914
		[Token(Token = "0x4002AA2")]
		SelfCollide = 16777216,
		// Token: 0x04002AA3 RID: 10915
		[Token(Token = "0x4002AA3")]
		Fluid = 33554432
	}

	// Token: 0x02000365 RID: 869
	[Token(Token = "0x2000365")]
	public enum ShapeType
	{
		// Token: 0x04002AA5 RID: 10917
		[Token(Token = "0x4002AA5")]
		Sphere,
		// Token: 0x04002AA6 RID: 10918
		[Token(Token = "0x4002AA6")]
		Box,
		// Token: 0x04002AA7 RID: 10919
		[Token(Token = "0x4002AA7")]
		Capsule,
		// Token: 0x04002AA8 RID: 10920
		[Token(Token = "0x4002AA8")]
		Heightmap,
		// Token: 0x04002AA9 RID: 10921
		[Token(Token = "0x4002AA9")]
		TriangleMesh,
		// Token: 0x04002AAA RID: 10922
		[Token(Token = "0x4002AAA")]
		EdgeMesh
	}

	// Token: 0x02000366 RID: 870
	[Token(Token = "0x2000366")]
	public enum MaterialCombineMode
	{
		// Token: 0x04002AAC RID: 10924
		[Token(Token = "0x4002AAC")]
		Average,
		// Token: 0x04002AAD RID: 10925
		[Token(Token = "0x4002AAD")]
		Minimium,
		// Token: 0x04002AAE RID: 10926
		[Token(Token = "0x4002AAE")]
		Multiply,
		// Token: 0x04002AAF RID: 10927
		[Token(Token = "0x4002AAF")]
		Maximum
	}

	// Token: 0x02000367 RID: 871
	[Token(Token = "0x2000367")]
	public enum NormalsUpdate
	{
		// Token: 0x04002AB1 RID: 10929
		[Token(Token = "0x4002AB1")]
		Recalculate,
		// Token: 0x04002AB2 RID: 10930
		[Token(Token = "0x4002AB2")]
		Skin
	}

	// Token: 0x02000368 RID: 872
	[Token(Token = "0x2000368")]
	[StructLayout(0, Pack = 1, Size = 96)]
	public struct ProfileInfo
	{
		// Token: 0x04002AB3 RID: 10931
		[Cpp2IlInjected.FieldOffset(Offset = "0x0")]
		[Token(Token = "0x4002AB3")]
		public double start;

		// Token: 0x04002AB4 RID: 10932
		[Cpp2IlInjected.FieldOffset(Offset = "0x8")]
		[Token(Token = "0x4002AB4")]
		public double end;

		// Token: 0x04002AB5 RID: 10933
		[Cpp2IlInjected.FieldOffset(Offset = "0x10")]
		[Token(Token = "0x4002AB5")]
		public double childDuration;

		// Token: 0x04002AB6 RID: 10934
		[Cpp2IlInjected.FieldOffset(Offset = "0x18")]
		[Token(Token = "0x4002AB6")]
		public int threadID;

		// Token: 0x04002AB7 RID: 10935
		[Cpp2IlInjected.FieldOffset(Offset = "0x1C")]
		[Token(Token = "0x4002AB7")]
		public int level;

		// Token: 0x04002AB8 RID: 10936
		[Cpp2IlInjected.FieldOffset(Offset = "0x20")]
		[Token(Token = "0x4002AB8")]
		public string name;
	}

	// Token: 0x02000369 RID: 873
	[Token(Token = "0x2000369")]
	[StructLayout(0, Pack = 1, Size = 28)]
	public struct GridCell
	{
		// Token: 0x04002AB9 RID: 10937
		[Cpp2IlInjected.FieldOffset(Offset = "0x0")]
		[Token(Token = "0x4002AB9")]
		public Vector3 center;

		// Token: 0x04002ABA RID: 10938
		[Cpp2IlInjected.FieldOffset(Offset = "0xC")]
		[Token(Token = "0x4002ABA")]
		public Vector3 size;

		// Token: 0x04002ABB RID: 10939
		[Cpp2IlInjected.FieldOffset(Offset = "0x18")]
		[Token(Token = "0x4002ABB")]
		public int count;
	}

	// Token: 0x0200036A RID: 874
	[Token(Token = "0x200036A")]
	[Serializable]
	[StructLayout(0, Pack = 1, Size = 36)]
	public struct SolverParameters
	{
		// Token: 0x060021BB RID: 8635 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60021BB")]
		[Address(RVA = "0x6A1C50", Offset = "0x6A0A50", VA = "0x1806A1C50")]
		public SolverParameters(Oni.SolverParameters.Interpolation interpolation, Vector4 gravity)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x04002ABC RID: 10940
		[Cpp2IlInjected.FieldOffset(Offset = "0x0")]
		[Token(Token = "0x4002ABC")]
		[Tooltip("In 2D mode, particles are simulated on the XY plane only. For use in conjunction with Unity's 2D mode.")]
		public Oni.SolverParameters.Mode mode;

		// Token: 0x04002ABD RID: 10941
		[Cpp2IlInjected.FieldOffset(Offset = "0x4")]
		[Token(Token = "0x4002ABD")]
		[Tooltip("Same as Rigidbody.interpolation. Set to INTERPOLATE for cloth that is applied on a main character or closely followed by a camera. NONE for everything else.")]
		public Oni.SolverParameters.Interpolation interpolation;

		// Token: 0x04002ABE RID: 10942
		[Cpp2IlInjected.FieldOffset(Offset = "0x8")]
		[Token(Token = "0x4002ABE")]
		public Vector3 gravity;

		// Token: 0x04002ABF RID: 10943
		[Cpp2IlInjected.FieldOffset(Offset = "0x14")]
		[Token(Token = "0x4002ABF")]
		[Tooltip("Percentage of velocity lost per second, between 0% (0) and 100% (1).")]
		[Range(0f, 1f)]
		public float damping;

		// Token: 0x04002AC0 RID: 10944
		[Cpp2IlInjected.FieldOffset(Offset = "0x18")]
		[Token(Token = "0x4002AC0")]
		[Tooltip("Intensity of laplacian smoothing applied to fluids. High values yield more uniform fluid particle distributions.")]
		[Range(0f, 1f)]
		public float fluidDenoising;

		// Token: 0x04002AC1 RID: 10945
		[Cpp2IlInjected.FieldOffset(Offset = "0x1C")]
		[Token(Token = "0x4002AC1")]
		[Tooltip("Radius of diffuse particle advection. Large values yield better quality but are more expensive.")]
		public float advectionRadius;

		// Token: 0x04002AC2 RID: 10946
		[Cpp2IlInjected.FieldOffset(Offset = "0x20")]
		[Token(Token = "0x4002AC2")]
		[Tooltip("Kinetic energy below which particle positions arent updated. Energy values are mass-normalized, so all particles in the solver have the same threshold.")]
		public float sleepThreshold;

		// Token: 0x0200036B RID: 875
		[Token(Token = "0x200036B")]
		public enum Interpolation
		{
			// Token: 0x04002AC4 RID: 10948
			[Token(Token = "0x4002AC4")]
			None,
			// Token: 0x04002AC5 RID: 10949
			[Token(Token = "0x4002AC5")]
			Interpolate
		}

		// Token: 0x0200036C RID: 876
		[Token(Token = "0x200036C")]
		public enum Mode
		{
			// Token: 0x04002AC7 RID: 10951
			[Token(Token = "0x4002AC7")]
			Mode3D,
			// Token: 0x04002AC8 RID: 10952
			[Token(Token = "0x4002AC8")]
			Mode2D
		}
	}

	// Token: 0x0200036D RID: 877
	[Token(Token = "0x200036D")]
	[Serializable]
	[StructLayout(0, Pack = 1, Size = 13)]
	public struct ConstraintParameters
	{
		// Token: 0x060021BC RID: 8636 RVA: 0x0004EBBC File Offset: 0x0004CDBC
		[Token(Token = "0x60021BC")]
		[Address(RVA = "0x69CA70", Offset = "0x69B870", VA = "0x18069CA70")]
		public ConstraintParameters(bool enabled, Oni.ConstraintParameters.EvaluationOrder order, int iterations)
		{
			this.enabled = enabled;
			this.iterations = iterations;
			this.evaluationOrder = order;
			this.SORFactor = 1f;
		}

		// Token: 0x04002AC9 RID: 10953
		[Cpp2IlInjected.FieldOffset(Offset = "0x0")]
		[Token(Token = "0x4002AC9")]
		[Tooltip("Whether this constraint group is solved or not.")]
		public bool enabled;

		// Token: 0x04002ACA RID: 10954
		[Cpp2IlInjected.FieldOffset(Offset = "0x1")]
		[Token(Token = "0x4002ACA")]
		[Tooltip("Order in which constraints are evaluated. SEQUENTIAL converges faster but is not very stable. PARALLEL is very stable but converges slowly, requiring more iterations to achieve the same result.")]
		public Oni.ConstraintParameters.EvaluationOrder evaluationOrder;

		// Token: 0x04002ACB RID: 10955
		[Cpp2IlInjected.FieldOffset(Offset = "0x5")]
		[Token(Token = "0x4002ACB")]
		[Tooltip("Number of relaxation iterations performed by the constraint solver. A low number of iterations will perform better, but be less accurate.")]
		public int iterations;

		// Token: 0x04002ACC RID: 10956
		[Cpp2IlInjected.FieldOffset(Offset = "0x9")]
		[Token(Token = "0x4002ACC")]
		[Tooltip("Over (or under if < 1) relaxation factor used. At 1, no overrelaxation is performed. At 2, constraints double their relaxation rate. High values reduce stability but improve convergence.")]
		[Range(0.1f, 0f)]
		public float SORFactor;

		// Token: 0x0200036E RID: 878
		[Token(Token = "0x200036E")]
		public enum EvaluationOrder
		{
			// Token: 0x04002ACE RID: 10958
			[Token(Token = "0x4002ACE")]
			Sequential,
			// Token: 0x04002ACF RID: 10959
			[Token(Token = "0x4002ACF")]
			Parallel
		}
	}

	// Token: 0x0200036F RID: 879
	[Token(Token = "0x200036F")]
	[StructLayout(0, Pack = 1, Size = 112)]
	public struct Contact
	{
		// Token: 0x04002AD0 RID: 10960
		[Cpp2IlInjected.FieldOffset(Offset = "0x0")]
		[Token(Token = "0x4002AD0")]
		public Vector4 point;

		// Token: 0x04002AD1 RID: 10961
		[Cpp2IlInjected.FieldOffset(Offset = "0x10")]
		[Token(Token = "0x4002AD1")]
		public Vector4 normal;

		// Token: 0x04002AD2 RID: 10962
		[Cpp2IlInjected.FieldOffset(Offset = "0x20")]
		[Token(Token = "0x4002AD2")]
		public Vector4 tangent;

		// Token: 0x04002AD3 RID: 10963
		[Cpp2IlInjected.FieldOffset(Offset = "0x30")]
		[Token(Token = "0x4002AD3")]
		public Vector4 bitangent;

		// Token: 0x04002AD4 RID: 10964
		[Cpp2IlInjected.FieldOffset(Offset = "0x40")]
		[Token(Token = "0x4002AD4")]
		public float distance;

		// Token: 0x04002AD5 RID: 10965
		[Cpp2IlInjected.FieldOffset(Offset = "0x44")]
		[Token(Token = "0x4002AD5")]
		public float normalImpulse;

		// Token: 0x04002AD6 RID: 10966
		[Cpp2IlInjected.FieldOffset(Offset = "0x48")]
		[Token(Token = "0x4002AD6")]
		public float tangentImpulse;

		// Token: 0x04002AD7 RID: 10967
		[Cpp2IlInjected.FieldOffset(Offset = "0x4C")]
		[Token(Token = "0x4002AD7")]
		public float bitangentImpulse;

		// Token: 0x04002AD8 RID: 10968
		[Cpp2IlInjected.FieldOffset(Offset = "0x50")]
		[Token(Token = "0x4002AD8")]
		public float stickImpulse;

		// Token: 0x04002AD9 RID: 10969
		[Cpp2IlInjected.FieldOffset(Offset = "0x54")]
		[Token(Token = "0x4002AD9")]
		public int particle;

		// Token: 0x04002ADA RID: 10970
		[Cpp2IlInjected.FieldOffset(Offset = "0x58")]
		[Token(Token = "0x4002ADA")]
		public int other;
	}

	// Token: 0x02000370 RID: 880
	[Token(Token = "0x2000370")]
	[StructLayout(0, Pack = 1, Size = 32)]
	public struct BoneWeights
	{
		// Token: 0x060021BD RID: 8637 RVA: 0x0004EBEC File Offset: 0x0004CDEC
		[Token(Token = "0x60021BD")]
		[Address(RVA = "0x69B730", Offset = "0x69A530", VA = "0x18069B730")]
		public BoneWeights(BoneWeight weight)
		{
			int boneIndex = weight.boneIndex0;
			this.bone0 = boneIndex;
			int boneIndex2 = weight.boneIndex1;
			this.bone1 = boneIndex2;
			int boneIndex3 = weight.boneIndex2;
			this.bone2 = boneIndex3;
			int boneIndex4 = weight.boneIndex3;
			this.bone3 = boneIndex4;
			float num = weight.weight0;
			this.weight0 = num;
			float num2 = weight.weight1;
			this.weight1 = num2;
			float num3 = weight.weight2;
			this.weight2 = num3;
			float num4 = weight.weight3;
			this.weight3 = num4;
		}

		// Token: 0x04002ADB RID: 10971
		[Cpp2IlInjected.FieldOffset(Offset = "0x0")]
		[Token(Token = "0x4002ADB")]
		public int bone0;

		// Token: 0x04002ADC RID: 10972
		[Cpp2IlInjected.FieldOffset(Offset = "0x4")]
		[Token(Token = "0x4002ADC")]
		public int bone1;

		// Token: 0x04002ADD RID: 10973
		[Cpp2IlInjected.FieldOffset(Offset = "0x8")]
		[Token(Token = "0x4002ADD")]
		public int bone2;

		// Token: 0x04002ADE RID: 10974
		[Cpp2IlInjected.FieldOffset(Offset = "0xC")]
		[Token(Token = "0x4002ADE")]
		public int bone3;

		// Token: 0x04002ADF RID: 10975
		[Cpp2IlInjected.FieldOffset(Offset = "0x10")]
		[Token(Token = "0x4002ADF")]
		public float weight0;

		// Token: 0x04002AE0 RID: 10976
		[Cpp2IlInjected.FieldOffset(Offset = "0x14")]
		[Token(Token = "0x4002AE0")]
		public float weight1;

		// Token: 0x04002AE1 RID: 10977
		[Cpp2IlInjected.FieldOffset(Offset = "0x18")]
		[Token(Token = "0x4002AE1")]
		public float weight2;

		// Token: 0x04002AE2 RID: 10978
		[Cpp2IlInjected.FieldOffset(Offset = "0x1C")]
		[Token(Token = "0x4002AE2")]
		public float weight3;
	}

	// Token: 0x02000371 RID: 881
	[Token(Token = "0x2000371")]
	[Serializable]
	[StructLayout(0, Pack = 1, Size = 68)]
	public struct Rigidbody
	{
		// Token: 0x060021BE RID: 8638 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60021BE")]
		[Address(RVA = "0x6A0D90", Offset = "0x69FB90", VA = "0x1806A0D90")]
		public void Set(UnityEngine.Rigidbody source, bool kinematicForParticles)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060021BF RID: 8639 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60021BF")]
		[Address(RVA = "0x6A10E0", Offset = "0x69FEE0", VA = "0x1806A10E0")]
		public void Set(Rigidbody2D source, bool kinematicForParticles)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x04002AE3 RID: 10979
		[Cpp2IlInjected.FieldOffset(Offset = "0x0")]
		[Token(Token = "0x4002AE3")]
		public Quaternion rotation;

		// Token: 0x04002AE4 RID: 10980
		[Cpp2IlInjected.FieldOffset(Offset = "0x10")]
		[Token(Token = "0x4002AE4")]
		public Vector3 linearVelocity;

		// Token: 0x04002AE5 RID: 10981
		[Cpp2IlInjected.FieldOffset(Offset = "0x1C")]
		[Token(Token = "0x4002AE5")]
		public Vector3 angularVelocity;

		// Token: 0x04002AE6 RID: 10982
		[Cpp2IlInjected.FieldOffset(Offset = "0x28")]
		[Token(Token = "0x4002AE6")]
		public Vector3 centerOfMass;

		// Token: 0x04002AE7 RID: 10983
		[Cpp2IlInjected.FieldOffset(Offset = "0x34")]
		[Token(Token = "0x4002AE7")]
		public Vector3 inertiaTensor;

		// Token: 0x04002AE8 RID: 10984
		[Cpp2IlInjected.FieldOffset(Offset = "0x40")]
		[Token(Token = "0x4002AE8")]
		public float inverseMass;
	}

	// Token: 0x02000372 RID: 882
	[Token(Token = "0x2000372")]
	[Serializable]
	[StructLayout(0, Pack = 1, Size = 24)]
	public struct RigidbodyVelocities
	{
		// Token: 0x04002AE9 RID: 10985
		[Cpp2IlInjected.FieldOffset(Offset = "0x0")]
		[Token(Token = "0x4002AE9")]
		public Vector3 linearVelocity;

		// Token: 0x04002AEA RID: 10986
		[Cpp2IlInjected.FieldOffset(Offset = "0xC")]
		[Token(Token = "0x4002AEA")]
		public Vector3 angularVelocity;
	}

	// Token: 0x02000373 RID: 883
	[Token(Token = "0x2000373")]
	[Serializable]
	[StructLayout(0, Pack = 1, Size = 77)]
	public struct Collider
	{
		// Token: 0x060021C0 RID: 8640 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60021C0")]
		[Address(RVA = "0x69C410", Offset = "0x69B210", VA = "0x18069C410")]
		public void Set(UnityEngine.Collider source, int phase, float thickness)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060021C1 RID: 8641 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60021C1")]
		[Address(RVA = "0x69C740", Offset = "0x69B540", VA = "0x18069C740")]
		public void Set(Collider2D source, int phase, float thickness)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060021C2 RID: 8642 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60021C2")]
		[Address(RVA = "0x69BA70", Offset = "0x69A870", VA = "0x18069BA70")]
		public void SetSpaceTransform(Transform space)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x04002AEB RID: 10987
		[Cpp2IlInjected.FieldOffset(Offset = "0x0")]
		[Token(Token = "0x4002AEB")]
		public Quaternion rotation;

		// Token: 0x04002AEC RID: 10988
		[Cpp2IlInjected.FieldOffset(Offset = "0x10")]
		[Token(Token = "0x4002AEC")]
		public Vector3 translation;

		// Token: 0x04002AED RID: 10989
		[Cpp2IlInjected.FieldOffset(Offset = "0x1C")]
		[Token(Token = "0x4002AED")]
		public Vector3 scale;

		// Token: 0x04002AEE RID: 10990
		[Cpp2IlInjected.FieldOffset(Offset = "0x28")]
		[Token(Token = "0x4002AEE")]
		public Vector3 boundsMin;

		// Token: 0x04002AEF RID: 10991
		[Cpp2IlInjected.FieldOffset(Offset = "0x34")]
		[Token(Token = "0x4002AEF")]
		public Vector3 boundsMax;

		// Token: 0x04002AF0 RID: 10992
		[Cpp2IlInjected.FieldOffset(Offset = "0x40")]
		[Token(Token = "0x4002AF0")]
		public int id;

		// Token: 0x04002AF1 RID: 10993
		[Cpp2IlInjected.FieldOffset(Offset = "0x44")]
		[Token(Token = "0x4002AF1")]
		public float contactOffset;

		// Token: 0x04002AF2 RID: 10994
		[Cpp2IlInjected.FieldOffset(Offset = "0x48")]
		[Token(Token = "0x4002AF2")]
		public int collisionGroup;

		// Token: 0x04002AF3 RID: 10995
		[Cpp2IlInjected.FieldOffset(Offset = "0x4C")]
		[Token(Token = "0x4002AF3")]
		public bool trigger;
	}

	// Token: 0x02000374 RID: 884
	[Token(Token = "0x2000374")]
	[Serializable]
	[StructLayout(0, Pack = 1, Size = 57)]
	public struct Shape
	{
		// Token: 0x060021C3 RID: 8643 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60021C3")]
		[Address(RVA = "0x6A1A60", Offset = "0x6A0860", VA = "0x1806A1A60")]
		public void Set(Vector3 center, float radius)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060021C4 RID: 8644 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60021C4")]
		[Address(RVA = "0x6A1A40", Offset = "0x6A0840", VA = "0x1806A1A40")]
		public void Set(Vector3 center, Vector3 size)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060021C5 RID: 8645 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60021C5")]
		[Address(RVA = "0x6A1A00", Offset = "0x6A0800", VA = "0x1806A1A00")]
		public void Set(Vector3 center, float radius, float height, int direction)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060021C6 RID: 8646 RVA: 0x0004EC74 File Offset: 0x0004CE74
		[Token(Token = "0x60021C6")]
		[Address(RVA = "0x6A1AE0", Offset = "0x6A08E0", VA = "0x1806A1AE0")]
		public void Set(Vector3 size, int resolutionU, int resolutionV, IntPtr data)
		{
			float z = size.z;
			this.resolutionU = resolutionU;
			int num = resolutionU * resolutionV;
			this.size.z = z;
			this.resolutionV = resolutionV;
			this.dataCount = num;
			this.data = 0;
		}

		// Token: 0x060021C7 RID: 8647 RVA: 0x0004ECB4 File Offset: 0x0004CEB4
		[Token(Token = "0x60021C7")]
		[Address(RVA = "0x6A19E0", Offset = "0x6A07E0", VA = "0x1806A19E0")]
		public void Set(IntPtr data, IntPtr indices, int dataCount, int indicesCount)
		{
			this.indexCount = 0;
			this.data = data;
			this.indices = indices;
			this.dataCount = dataCount;
		}

		// Token: 0x04002AF4 RID: 10996
		[Cpp2IlInjected.FieldOffset(Offset = "0x0")]
		[Token(Token = "0x4002AF4")]
		private Vector3 center;

		// Token: 0x04002AF5 RID: 10997
		[Cpp2IlInjected.FieldOffset(Offset = "0xC")]
		[Token(Token = "0x4002AF5")]
		private Vector3 size;

		// Token: 0x04002AF6 RID: 10998
		[Cpp2IlInjected.FieldOffset(Offset = "0x18")]
		[Token(Token = "0x4002AF6")]
		private IntPtr data;

		// Token: 0x04002AF7 RID: 10999
		[Cpp2IlInjected.FieldOffset(Offset = "0x20")]
		[Token(Token = "0x4002AF7")]
		private IntPtr indices;

		// Token: 0x04002AF8 RID: 11000
		[Cpp2IlInjected.FieldOffset(Offset = "0x28")]
		[Token(Token = "0x4002AF8")]
		private int dataCount;

		// Token: 0x04002AF9 RID: 11001
		[Cpp2IlInjected.FieldOffset(Offset = "0x2C")]
		[Token(Token = "0x4002AF9")]
		private int indexCount;

		// Token: 0x04002AFA RID: 11002
		[Cpp2IlInjected.FieldOffset(Offset = "0x30")]
		[Token(Token = "0x4002AFA")]
		private int resolutionU;

		// Token: 0x04002AFB RID: 11003
		[Cpp2IlInjected.FieldOffset(Offset = "0x34")]
		[Token(Token = "0x4002AFB")]
		private int resolutionV;

		// Token: 0x04002AFC RID: 11004
		[Cpp2IlInjected.FieldOffset(Offset = "0x38")]
		[Token(Token = "0x4002AFC")]
		public bool is2D;
	}

	// Token: 0x02000375 RID: 885
	[Token(Token = "0x2000375")]
	[Serializable]
	[StructLayout(0, Pack = 1, Size = 20)]
	public struct CollisionMaterial
	{
		// Token: 0x04002AFD RID: 11005
		[Cpp2IlInjected.FieldOffset(Offset = "0x0")]
		[Token(Token = "0x4002AFD")]
		public float friction;

		// Token: 0x04002AFE RID: 11006
		[Cpp2IlInjected.FieldOffset(Offset = "0x4")]
		[Token(Token = "0x4002AFE")]
		public float stickiness;

		// Token: 0x04002AFF RID: 11007
		[Cpp2IlInjected.FieldOffset(Offset = "0x8")]
		[Token(Token = "0x4002AFF")]
		public float stickDistance;

		// Token: 0x04002B00 RID: 11008
		[Cpp2IlInjected.FieldOffset(Offset = "0xC")]
		[Token(Token = "0x4002B00")]
		public Oni.MaterialCombineMode frictionCombine;

		// Token: 0x04002B01 RID: 11009
		[Cpp2IlInjected.FieldOffset(Offset = "0x10")]
		[Token(Token = "0x4002B01")]
		public Oni.MaterialCombineMode stickinessCombine;
	}

	// Token: 0x02000376 RID: 886
	[Token(Token = "0x2000376")]
	[Serializable]
	[StructLayout(0, Pack = 1, Size = 44)]
	public struct FluidMaterial
	{
		// Token: 0x04002B02 RID: 11010
		[Cpp2IlInjected.FieldOffset(Offset = "0x0")]
		[Token(Token = "0x4002B02")]
		public float smoothingRadius;

		// Token: 0x04002B03 RID: 11011
		[Cpp2IlInjected.FieldOffset(Offset = "0x4")]
		[Token(Token = "0x4002B03")]
		public float restDensity;

		// Token: 0x04002B04 RID: 11012
		[Cpp2IlInjected.FieldOffset(Offset = "0x8")]
		[Token(Token = "0x4002B04")]
		public float viscosity;

		// Token: 0x04002B05 RID: 11013
		[Cpp2IlInjected.FieldOffset(Offset = "0xC")]
		[Token(Token = "0x4002B05")]
		public float surfaceTension;

		// Token: 0x04002B06 RID: 11014
		[Cpp2IlInjected.FieldOffset(Offset = "0x10")]
		[Token(Token = "0x4002B06")]
		public float buoyancy;

		// Token: 0x04002B07 RID: 11015
		[Cpp2IlInjected.FieldOffset(Offset = "0x14")]
		[Token(Token = "0x4002B07")]
		public float atmosphericDrag;

		// Token: 0x04002B08 RID: 11016
		[Cpp2IlInjected.FieldOffset(Offset = "0x18")]
		[Token(Token = "0x4002B08")]
		public float atmosphericPressure;

		// Token: 0x04002B09 RID: 11017
		[Cpp2IlInjected.FieldOffset(Offset = "0x1C")]
		[Token(Token = "0x4002B09")]
		public float vorticity;

		// Token: 0x04002B0A RID: 11018
		[Cpp2IlInjected.FieldOffset(Offset = "0x20")]
		[Token(Token = "0x4002B0A")]
		public float elasticRange;

		// Token: 0x04002B0B RID: 11019
		[Cpp2IlInjected.FieldOffset(Offset = "0x24")]
		[Token(Token = "0x4002B0B")]
		public float plasticCreep;

		// Token: 0x04002B0C RID: 11020
		[Cpp2IlInjected.FieldOffset(Offset = "0x28")]
		[Token(Token = "0x4002B0C")]
		public float plasticThreshold;
	}

	// Token: 0x02000377 RID: 887
	[Token(Token = "0x2000377")]
	[Serializable]
	[StructLayout(0, Pack = 1, Size = 24)]
	public struct HalfEdge
	{
		// Token: 0x060021C8 RID: 8648 RVA: 0x0004ECE0 File Offset: 0x0004CEE0
		[Token(Token = "0x60021C8")]
		[Address(RVA = "0x69F1B0", Offset = "0x69DFB0", VA = "0x18069F1B0")]
		public HalfEdge(int index)
		{
			this.index = index;
			this.indexInFace = (int)((ulong)(-1L));
			this.nextHalfEdge = (int)((ulong)(-1L));
			this.endVertex = (int)((ulong)4294967295L);
		}

		// Token: 0x04002B0D RID: 11021
		[Cpp2IlInjected.FieldOffset(Offset = "0x0")]
		[Token(Token = "0x4002B0D")]
		public int index;

		// Token: 0x04002B0E RID: 11022
		[Cpp2IlInjected.FieldOffset(Offset = "0x4")]
		[Token(Token = "0x4002B0E")]
		public int indexInFace;

		// Token: 0x04002B0F RID: 11023
		[Cpp2IlInjected.FieldOffset(Offset = "0x8")]
		[Token(Token = "0x4002B0F")]
		public int face;

		// Token: 0x04002B10 RID: 11024
		[Cpp2IlInjected.FieldOffset(Offset = "0xC")]
		[Token(Token = "0x4002B10")]
		public int nextHalfEdge;

		// Token: 0x04002B11 RID: 11025
		[Cpp2IlInjected.FieldOffset(Offset = "0x10")]
		[Token(Token = "0x4002B11")]
		public int pair;

		// Token: 0x04002B12 RID: 11026
		[Cpp2IlInjected.FieldOffset(Offset = "0x14")]
		[Token(Token = "0x4002B12")]
		public int endVertex;
	}

	// Token: 0x02000378 RID: 888
	[Token(Token = "0x2000378")]
	[Serializable]
	[StructLayout(0, Pack = 1, Size = 20)]
	public struct Vertex
	{
		// Token: 0x060021C9 RID: 8649 RVA: 0x0004ED18 File Offset: 0x0004CF18
		[Token(Token = "0x60021C9")]
		[Address(RVA = "0x6AE680", Offset = "0x6AD480", VA = "0x1806AE680")]
		public Vertex(Vector3 position, int index, int halfEdge)
		{
			float z = position.z;
			this.position.z = z;
			this.index = index;
			this.halfEdge = halfEdge;
		}

		// Token: 0x04002B13 RID: 11027
		[Cpp2IlInjected.FieldOffset(Offset = "0x0")]
		[Token(Token = "0x4002B13")]
		public int index;

		// Token: 0x04002B14 RID: 11028
		[Cpp2IlInjected.FieldOffset(Offset = "0x4")]
		[Token(Token = "0x4002B14")]
		public int halfEdge;

		// Token: 0x04002B15 RID: 11029
		[Cpp2IlInjected.FieldOffset(Offset = "0x8")]
		[Token(Token = "0x4002B15")]
		public Vector3 position;
	}

	// Token: 0x02000379 RID: 889
	[Token(Token = "0x2000379")]
	[Serializable]
	[StructLayout(0, Pack = 1, Size = 8)]
	public struct Face
	{
		// Token: 0x060021CA RID: 8650 RVA: 0x0004ED48 File Offset: 0x0004CF48
		[Token(Token = "0x60021CA")]
		[Address(RVA = "0x69E080", Offset = "0x69CE80", VA = "0x18069E080")]
		public Face(int index)
		{
			this.index = index;
			this.halfEdge = (int)((ulong)4294967295L);
		}

		// Token: 0x04002B16 RID: 11030
		[Cpp2IlInjected.FieldOffset(Offset = "0x0")]
		[Token(Token = "0x4002B16")]
		public int index;

		// Token: 0x04002B17 RID: 11031
		[Cpp2IlInjected.FieldOffset(Offset = "0x4")]
		[Token(Token = "0x4002B17")]
		public int halfEdge;
	}

	// Token: 0x0200037A RID: 890
	[Token(Token = "0x200037A")]
	[Serializable]
	[StructLayout(0, Pack = 1, Size = 14)]
	public struct MeshInformation
	{
		// Token: 0x04002B18 RID: 11032
		[Cpp2IlInjected.FieldOffset(Offset = "0x0")]
		[Token(Token = "0x4002B18")]
		public float volume;

		// Token: 0x04002B19 RID: 11033
		[Cpp2IlInjected.FieldOffset(Offset = "0x4")]
		[Token(Token = "0x4002B19")]
		public float area;

		// Token: 0x04002B1A RID: 11034
		[Cpp2IlInjected.FieldOffset(Offset = "0x8")]
		[Token(Token = "0x4002B1A")]
		public int borderEdgeCount;

		// Token: 0x04002B1B RID: 11035
		[Cpp2IlInjected.FieldOffset(Offset = "0xC")]
		[Token(Token = "0x4002B1B")]
		public bool closed;

		// Token: 0x04002B1C RID: 11036
		[Cpp2IlInjected.FieldOffset(Offset = "0xD")]
		[Token(Token = "0x4002B1C")]
		public bool nonManifold;
	}
}
