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

// Token: 0x020003BA RID: 954
[Token(Token = "0x20003BA")]
public static class Oni
{
	// Token: 0x06002401 RID: 9217 RVA: 0x00055E44 File Offset: 0x00054044
	[Token(Token = "0x6002401")]
	[Address(RVA = "0x32B750", Offset = "0x32A750", VA = "0x18032B750")]
	public static GCHandle PinMemory(object data)
	{
		return GCHandle.Alloc(data, GCHandleType.Pinned);
	}

	// Token: 0x06002402 RID: 9218 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6002402")]
	[Address(RVA = "0x32DB80", Offset = "0x32CB80", VA = "0x18032DB80")]
	public static void UnpinMemory(GCHandle handle)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06002403 RID: 9219
	[Token(Token = "0x6002403")]
	[Address(RVA = "0x329450", Offset = "0x328450", VA = "0x180329450")]
	public static extern IntPtr CreateCollider();

	// Token: 0x06002404 RID: 9220
	[Token(Token = "0x6002404")]
	[Address(RVA = "0x3298F0", Offset = "0x3288F0", VA = "0x1803298F0")]
	public static extern void DestroyCollider(IntPtr collider);

	// Token: 0x06002405 RID: 9221
	[Token(Token = "0x6002405")]
	[Address(RVA = "0x3296F0", Offset = "0x3286F0", VA = "0x1803296F0")]
	public static extern IntPtr CreateShape(Oni.ShapeType shapeType);

	// Token: 0x06002406 RID: 9222
	[Token(Token = "0x6002406")]
	[Address(RVA = "0x329B80", Offset = "0x328B80", VA = "0x180329B80")]
	public static extern void DestroyShape(IntPtr shape);

	// Token: 0x06002407 RID: 9223
	[Token(Token = "0x6002407")]
	[Address(RVA = "0x329680", Offset = "0x328680", VA = "0x180329680")]
	public static extern IntPtr CreateRigidbody();

	// Token: 0x06002408 RID: 9224
	[Token(Token = "0x6002408")]
	[Address(RVA = "0x329B00", Offset = "0x328B00", VA = "0x180329B00")]
	public static extern void DestroyRigidbody(IntPtr rigidbody);

	// Token: 0x06002409 RID: 9225
	[Token(Token = "0x6002409")]
	[Address(RVA = "0x32DBB0", Offset = "0x32CBB0", VA = "0x18032DBB0")]
	public static extern void UpdateCollider(IntPtr collider, ref Oni.Collider adaptor);

	// Token: 0x0600240A RID: 9226
	[Token(Token = "0x600240A")]
	[Address(RVA = "0x32DD60", Offset = "0x32CD60", VA = "0x18032DD60")]
	public static extern void UpdateShape(IntPtr shape, ref Oni.Shape adaptor);

	// Token: 0x0600240B RID: 9227
	[Token(Token = "0x600240B")]
	[Address(RVA = "0x32DCD0", Offset = "0x32CCD0", VA = "0x18032DCD0")]
	public static extern void UpdateRigidbody(IntPtr rigidbody, ref Oni.Rigidbody adaptor);

	// Token: 0x0600240C RID: 9228
	[Token(Token = "0x600240C")]
	[Address(RVA = "0x32B1D0", Offset = "0x32A1D0", VA = "0x18032B1D0")]
	public static extern void GetRigidbodyVelocity(IntPtr rigidbody, ref Oni.RigidbodyVelocities velocities);

	// Token: 0x0600240D RID: 9229
	[Token(Token = "0x600240D")]
	[Address(RVA = "0x32BE70", Offset = "0x32AE70", VA = "0x18032BE70")]
	public static extern void SetColliderShape(IntPtr collider, IntPtr shape);

	// Token: 0x0600240E RID: 9230
	[Token(Token = "0x600240E")]
	[Address(RVA = "0x32BDE0", Offset = "0x32ADE0", VA = "0x18032BDE0")]
	public static extern void SetColliderRigidbody(IntPtr collider, IntPtr rigidbody);

	// Token: 0x0600240F RID: 9231
	[Token(Token = "0x600240F")]
	[Address(RVA = "0x32BD50", Offset = "0x32AD50", VA = "0x18032BD50")]
	public static extern void SetColliderMaterial(IntPtr collider, IntPtr material);

	// Token: 0x06002410 RID: 9232
	[Token(Token = "0x6002410")]
	[Address(RVA = "0x3294C0", Offset = "0x3284C0", VA = "0x1803294C0")]
	public static extern IntPtr CreateCollisionMaterial();

	// Token: 0x06002411 RID: 9233
	[Token(Token = "0x6002411")]
	[Address(RVA = "0x329970", Offset = "0x328970", VA = "0x180329970")]
	public static extern void DestroyCollisionMaterial(IntPtr material);

	// Token: 0x06002412 RID: 9234
	[Token(Token = "0x6002412")]
	[Address(RVA = "0x32DC40", Offset = "0x32CC40", VA = "0x18032DC40")]
	public static extern void UpdateCollisionMaterial(IntPtr material, ref Oni.CollisionMaterial adaptor);

	// Token: 0x06002413 RID: 9235
	[Token(Token = "0x6002413")]
	[Address(RVA = "0x329770", Offset = "0x328770", VA = "0x180329770")]
	public static extern IntPtr CreateSolver(int maxParticles, int maxNeighbours);

	// Token: 0x06002414 RID: 9236
	[Token(Token = "0x6002414")]
	[Address(RVA = "0x329C00", Offset = "0x328C00", VA = "0x180329C00")]
	public static extern void DestroySolver(IntPtr solver);

	// Token: 0x06002415 RID: 9237
	[Token(Token = "0x6002415")]
	[Address(RVA = "0x328CF0", Offset = "0x327CF0", VA = "0x180328CF0")]
	public static extern void AddCollider(IntPtr solver, IntPtr collider);

	// Token: 0x06002416 RID: 9238
	[Token(Token = "0x6002416")]
	[Address(RVA = "0x32B7F0", Offset = "0x32A7F0", VA = "0x18032B7F0")]
	public static extern void RemoveCollider(IntPtr solver, IntPtr collider);

	// Token: 0x06002417 RID: 9239
	[Token(Token = "0x6002417")]
	[Address(RVA = "0x32A360", Offset = "0x329360", VA = "0x18032A360")]
	public static extern void GetBounds(IntPtr solver, ref Vector3 min, ref Vector3 max);

	// Token: 0x06002418 RID: 9240
	[Token(Token = "0x6002418")]
	[Address(RVA = "0x32ABD0", Offset = "0x329BD0", VA = "0x18032ABD0")]
	public static extern int GetParticleGridSize(IntPtr solver);

	// Token: 0x06002419 RID: 9241
	[Token(Token = "0x6002419")]
	[Address(RVA = "0x32AC50", Offset = "0x329C50", VA = "0x18032AC50")]
	public static extern void GetParticleGrid(IntPtr solver, Oni.GridCell[] cells);

	// Token: 0x0600241A RID: 9242
	[Token(Token = "0x600241A")]
	[Address(RVA = "0x32D4D0", Offset = "0x32C4D0", VA = "0x18032D4D0")]
	public static extern void SetSolverParameters(IntPtr solver, ref Oni.SolverParameters parameters);

	// Token: 0x0600241B RID: 9243
	[Token(Token = "0x600241B")]
	[Address(RVA = "0x32B4E0", Offset = "0x32A4E0", VA = "0x18032B4E0")]
	public static extern void GetSolverParameters(IntPtr solver, ref Oni.SolverParameters parameters);

	// Token: 0x0600241C RID: 9244
	[Token(Token = "0x600241C")]
	[Address(RVA = "0x32BA50", Offset = "0x32AA50", VA = "0x18032BA50")]
	public static extern int SetActiveParticles(IntPtr solver, int[] active, int num);

	// Token: 0x0600241D RID: 9245
	[Token(Token = "0x600241D")]
	[Address(RVA = "0x328F00", Offset = "0x327F00", VA = "0x180328F00")]
	public static extern void AddSimulationTime(IntPtr solver, float step_dt);

	// Token: 0x0600241E RID: 9246
	[Token(Token = "0x600241E")]
	[Address(RVA = "0x32B920", Offset = "0x32A920", VA = "0x18032B920")]
	public static extern void ResetSimulationTime(IntPtr solver);

	// Token: 0x0600241F RID: 9247
	[Token(Token = "0x600241F")]
	[Address(RVA = "0x32DE70", Offset = "0x32CE70", VA = "0x18032DE70")]
	public static extern void UpdateSolver(IntPtr solver, float substep_dt);

	// Token: 0x06002420 RID: 9248
	[Token(Token = "0x6002420")]
	[Address(RVA = "0x328F90", Offset = "0x327F90", VA = "0x180328F90")]
	public static extern void ApplyPositionInterpolation(IntPtr solver, float substep_dt);

	// Token: 0x06002421 RID: 9249
	[Token(Token = "0x6002421")]
	[Address(RVA = "0x32DDF0", Offset = "0x32CDF0", VA = "0x18032DDF0")]
	public static extern void UpdateSkeletalAnimation(IntPtr solver);

	// Token: 0x06002422 RID: 9250
	[Token(Token = "0x6002422")]
	[Address(RVA = "0x32A5E0", Offset = "0x3295E0", VA = "0x18032A5E0")]
	public static extern void GetConstraintsOrder(IntPtr solver, int[] order);

	// Token: 0x06002423 RID: 9251
	[Token(Token = "0x6002423")]
	[Address(RVA = "0x32C060", Offset = "0x32B060", VA = "0x18032C060")]
	public static extern void SetConstraintsOrder(IntPtr solver, int[] order);

	// Token: 0x06002424 RID: 9252
	[Token(Token = "0x6002424")]
	[Address(RVA = "0x32A4B0", Offset = "0x3294B0", VA = "0x18032A4B0")]
	public static extern int GetConstraintCount(IntPtr solver, int type);

	// Token: 0x06002425 RID: 9253
	[Token(Token = "0x6002425")]
	[Address(RVA = "0x329F70", Offset = "0x328F70", VA = "0x180329F70")]
	public static extern void GetActiveConstraintIndices(IntPtr solver, int[] indices, int num, int type);

	// Token: 0x06002426 RID: 9254
	[Token(Token = "0x6002426")]
	[Address(RVA = "0x32D150", Offset = "0x32C150", VA = "0x18032D150")]
	public static extern int SetRenderableParticlePositions(IntPtr solver, Vector4[] positions, int num, int destOffset);

	// Token: 0x06002427 RID: 9255
	[Token(Token = "0x6002427")]
	[Address(RVA = "0x32B110", Offset = "0x32A110", VA = "0x18032B110")]
	public static extern int GetRenderableParticlePositions(IntPtr solver, Vector4[] positions, int num, int sourceOffset);

	// Token: 0x06002428 RID: 9256
	[Token(Token = "0x6002428")]
	[Address(RVA = "0x32CD50", Offset = "0x32BD50", VA = "0x18032CD50")]
	public static extern int SetParticlePhases(IntPtr solver, int[] phases, int num, int destOffset);

	// Token: 0x06002429 RID: 9257
	[Token(Token = "0x6002429")]
	[Address(RVA = "0x32CE10", Offset = "0x32BE10", VA = "0x18032CE10")]
	public static extern int SetParticlePositions(IntPtr solver, Vector4[] positions, int num, int destOffset);

	// Token: 0x0600242A RID: 9258
	[Token(Token = "0x600242A")]
	[Address(RVA = "0x32ACF0", Offset = "0x329CF0", VA = "0x18032ACF0")]
	public static extern int GetParticlePositions(IntPtr solver, Vector4[] positions, int num, int sourceOffset);

	// Token: 0x0600242B RID: 9259
	[Token(Token = "0x600242B")]
	[Address(RVA = "0x32CC90", Offset = "0x32BC90", VA = "0x18032CC90")]
	public static extern int SetParticleInverseMasses(IntPtr solver, float[] invMasses, int num, int destOffset);

	// Token: 0x0600242C RID: 9260
	[Token(Token = "0x600242C")]
	[Address(RVA = "0x32CED0", Offset = "0x32BED0", VA = "0x18032CED0")]
	public static extern int SetParticleSolidRadii(IntPtr solver, float[] radii, int num, int destOffset);

	// Token: 0x0600242D RID: 9261
	[Token(Token = "0x600242D")]
	[Address(RVA = "0x32CF90", Offset = "0x32BF90", VA = "0x18032CF90")]
	public static extern int SetParticleVelocities(IntPtr solver, Vector4[] velocities, int num, int destOffset);

	// Token: 0x0600242E RID: 9262
	[Token(Token = "0x600242E")]
	[Address(RVA = "0x32ADB0", Offset = "0x329DB0", VA = "0x18032ADB0")]
	public static extern int GetParticleVelocities(IntPtr solver, Vector4[] velocities, int num, int sourceOffset);

	// Token: 0x0600242F RID: 9263
	[Token(Token = "0x600242F")]
	[Address(RVA = "0x328E40", Offset = "0x327E40", VA = "0x180328E40")]
	public static extern void AddParticleExternalForces(IntPtr solver, Vector4[] forces, int[] indices, int num);

	// Token: 0x06002430 RID: 9264
	[Token(Token = "0x6002430")]
	[Address(RVA = "0x328D80", Offset = "0x327D80", VA = "0x180328D80")]
	public static extern void AddParticleExternalForce(IntPtr solver, ref Vector4 force, int[] indices, int num);

	// Token: 0x06002431 RID: 9265
	[Token(Token = "0x6002431")]
	[Address(RVA = "0x32AE70", Offset = "0x329E70", VA = "0x18032AE70")]
	public static extern int GetParticleVorticities(IntPtr solver, Vector4[] vorticities, int num, int sourceOffset);

	// Token: 0x06002432 RID: 9266
	[Token(Token = "0x6002432")]
	[Address(RVA = "0x32AB10", Offset = "0x329B10", VA = "0x18032AB10")]
	public static extern int GetParticleDensities(IntPtr solver, float[] densities, int num, int sourceOffset);

	// Token: 0x06002433 RID: 9267
	[Token(Token = "0x6002433")]
	[Address(RVA = "0x32A680", Offset = "0x329680", VA = "0x18032A680")]
	public static extern int GetDeformableTriangleCount(IntPtr solver);

	// Token: 0x06002434 RID: 9268
	[Token(Token = "0x6002434")]
	[Address(RVA = "0x32C5D0", Offset = "0x32B5D0", VA = "0x18032C5D0")]
	public static extern void SetDeformableTriangles(IntPtr solver, int[] indices, int num, int destOffset);

	// Token: 0x06002435 RID: 9269
	[Token(Token = "0x6002435")]
	[Address(RVA = "0x32B880", Offset = "0x32A880", VA = "0x18032B880")]
	public static extern int RemoveDeformableTriangles(IntPtr solver, int num, int sourceOffset);

	// Token: 0x06002436 RID: 9270
	[Token(Token = "0x6002436")]
	[Address(RVA = "0x32BFC0", Offset = "0x32AFC0", VA = "0x18032BFC0")]
	public static extern void SetConstraintGroupParameters(IntPtr solver, int type, ref Oni.ConstraintParameters parameters);

	// Token: 0x06002437 RID: 9271
	[Token(Token = "0x6002437")]
	[Address(RVA = "0x32A540", Offset = "0x329540", VA = "0x18032A540")]
	public static extern void GetConstraintGroupParameters(IntPtr solver, int type, ref Oni.ConstraintParameters parameters);

	// Token: 0x06002438 RID: 9272
	[Token(Token = "0x6002438")]
	[Address(RVA = "0x32BF00", Offset = "0x32AF00", VA = "0x18032BF00")]
	public static extern void SetCollisionMaterials(IntPtr solver, IntPtr[] materials, int[] indices, int num);

	// Token: 0x06002439 RID: 9273
	[Token(Token = "0x6002439")]
	[Address(RVA = "0x32D210", Offset = "0x32C210", VA = "0x18032D210")]
	public static extern int SetRestPositions(IntPtr solver, Vector4[] positions, int num, int destOffset);

	// Token: 0x0600243A RID: 9274
	[Token(Token = "0x600243A")]
	[Address(RVA = "0x32CA10", Offset = "0x32BA10", VA = "0x18032CA10")]
	public static extern void SetFluidMaterials(IntPtr solver, Oni.FluidMaterial[] materials, int num, int destOffset);

	// Token: 0x0600243B RID: 9275
	[Token(Token = "0x600243B")]
	[Address(RVA = "0x32C950", Offset = "0x32B950", VA = "0x18032C950")]
	public static extern int SetFluidMaterialIndices(IntPtr solver, int[] indices, int num, int destOffset);

	// Token: 0x0600243C RID: 9276
	[Token(Token = "0x600243C")]
	[Address(RVA = "0x329530", Offset = "0x328530", VA = "0x180329530")]
	public static extern IntPtr CreateDeformableMesh(IntPtr solver, IntPtr halfEdge, IntPtr skinConstraintBatch, float[] worldToLocal, IntPtr particleIndices, int vertexCapacity, int vertexCount);

	// Token: 0x0600243D RID: 9277
	[Token(Token = "0x600243D")]
	[Address(RVA = "0x3299F0", Offset = "0x3289F0", VA = "0x1803299F0")]
	public static extern void DestroyDeformableMesh(IntPtr solver, IntPtr mesh);

	// Token: 0x0600243E RID: 9278
	[Token(Token = "0x600243E")]
	[Address(RVA = "0x32DAA0", Offset = "0x32CAA0", VA = "0x18032DAA0")]
	public static extern bool TearDeformableMeshAtVertex(IntPtr mesh, int vertexIndex, ref Vector3 planePoint, ref Vector3 planeNormal, int[] updated_edges, ref int num_edges);

	// Token: 0x0600243F RID: 9279
	[Token(Token = "0x600243F")]
	[Address(RVA = "0x32C490", Offset = "0x32B490", VA = "0x18032C490")]
	public static extern void SetDeformableMeshTBNUpdate(IntPtr mesh, Oni.NormalsUpdate normalsUpdate, bool skinTangents);

	// Token: 0x06002440 RID: 9280
	[Token(Token = "0x6002440")]
	[Address(RVA = "0x32C530", Offset = "0x32B530", VA = "0x18032C530")]
	public static extern void SetDeformableMeshTransform(IntPtr mesh, float[] worldToLocal);

	// Token: 0x06002441 RID: 9281
	[Token(Token = "0x6002441")]
	[Address(RVA = "0x32C3F0", Offset = "0x32B3F0", VA = "0x18032C3F0")]
	public static extern void SetDeformableMeshSkinMap(IntPtr mesh, IntPtr sourceMesh, IntPtr triangleSkinMap);

	// Token: 0x06002442 RID: 9282
	[Token(Token = "0x6002442")]
	[Address(RVA = "0x32C360", Offset = "0x32B360", VA = "0x18032C360")]
	public static extern void SetDeformableMeshParticleIndices(IntPtr mesh, IntPtr particleIndices);

	// Token: 0x06002443 RID: 9283
	[Token(Token = "0x6002443")]
	[Address(RVA = "0x32C260", Offset = "0x32B260", VA = "0x18032C260")]
	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: 0x06002444 RID: 9284
	[Token(Token = "0x6002444")]
	[Address(RVA = "0x32C100", Offset = "0x32B100", VA = "0x18032C100")]
	public static extern void SetDeformableMeshAnimationData(IntPtr mesh, float[] bindPoses, Oni.BoneWeights[] weights, int numBones);

	// Token: 0x06002445 RID: 9285
	[Token(Token = "0x6002445")]
	[Address(RVA = "0x32C1C0", Offset = "0x32B1C0", VA = "0x18032C1C0")]
	public static extern void SetDeformableMeshBoneTransforms(IntPtr mesh, float[] boneTransforms);

	// Token: 0x06002446 RID: 9286
	[Token(Token = "0x6002446")]
	[Address(RVA = "0x329E10", Offset = "0x328E10", VA = "0x180329E10")]
	public static extern void ForceDeformableMeshSkeletalSkinning(IntPtr mesh);

	// Token: 0x06002447 RID: 9287
	[Token(Token = "0x6002447")]
	[Address(RVA = "0x3293C0", Offset = "0x3283C0", VA = "0x1803293C0")]
	public static extern IntPtr CreateBatch(int type, bool cooked);

	// Token: 0x06002448 RID: 9288
	[Token(Token = "0x6002448")]
	[Address(RVA = "0x329870", Offset = "0x328870", VA = "0x180329870")]
	public static extern void DestroyBatch(IntPtr batch);

	// Token: 0x06002449 RID: 9289
	[Token(Token = "0x6002449")]
	[Address(RVA = "0x328C50", Offset = "0x327C50", VA = "0x180328C50")]
	public static extern IntPtr AddBatch(IntPtr solver, IntPtr batch, bool sharesParticles);

	// Token: 0x0600244A RID: 9290
	[Token(Token = "0x600244A")]
	[Address(RVA = "0x32B760", Offset = "0x32A760", VA = "0x18032B760")]
	public static extern void RemoveBatch(IntPtr solver, IntPtr batch);

	// Token: 0x0600244B RID: 9291
	[Token(Token = "0x600244B")]
	[Address(RVA = "0x329D00", Offset = "0x328D00", VA = "0x180329D00")]
	public static extern bool EnableBatch(IntPtr batch, bool enabled);

	// Token: 0x0600244C RID: 9292
	[Token(Token = "0x600244C")]
	[Address(RVA = "0x32A030", Offset = "0x329030", VA = "0x18032A030")]
	public static extern int GetBatchConstraintCount(IntPtr batch);

	// Token: 0x0600244D RID: 9293
	[Token(Token = "0x600244D")]
	[Address(RVA = "0x32A0B0", Offset = "0x3290B0", VA = "0x18032A0B0")]
	public static extern int GetBatchConstraintForces(IntPtr batch, float[] forces, int num, int destOffset);

	// Token: 0x0600244E RID: 9294
	[Token(Token = "0x600244E")]
	[Address(RVA = "0x32A170", Offset = "0x329170", VA = "0x18032A170")]
	public static extern int GetBatchPhaseCount(IntPtr batch);

	// Token: 0x0600244F RID: 9295
	[Token(Token = "0x600244F")]
	[Address(RVA = "0x32A1F0", Offset = "0x3291F0", VA = "0x18032A1F0")]
	public static extern void GetBatchPhaseSizes(IntPtr batch, int[] phaseSizes);

	// Token: 0x06002450 RID: 9296
	[Token(Token = "0x6002450")]
	[Address(RVA = "0x32BBC0", Offset = "0x32ABC0", VA = "0x18032BBC0")]
	public static extern void SetBatchPhaseSizes(IntPtr batch, int[] phaseSizes, int num);

	// Token: 0x06002451 RID: 9297
	[Token(Token = "0x6002451")]
	[Address(RVA = "0x329340", Offset = "0x328340", VA = "0x180329340")]
	public static extern bool CookBatch(IntPtr batch);

	// Token: 0x06002452 RID: 9298
	[Token(Token = "0x6002452")]
	[Address(RVA = "0x32B9A0", Offset = "0x32A9A0", VA = "0x18032B9A0")]
	public static extern int SetActiveConstraints(IntPtr batch, int[] active, int num);

	// Token: 0x06002453 RID: 9299
	[Token(Token = "0x6002453")]
	[Address(RVA = "0x32C7D0", Offset = "0x32B7D0", VA = "0x18032C7D0")]
	public static extern void SetDistanceConstraints(IntPtr batch, int[] indices, float[] restLengths, Vector2[] stiffnesses, int num);

	// Token: 0x06002454 RID: 9300
	[Token(Token = "0x6002454")]
	[Address(RVA = "0x32A7C0", Offset = "0x3297C0", VA = "0x18032A7C0")]
	public static extern void GetDistanceConstraints(IntPtr batch, int[] indices, float[] restLengths, Vector2[] stiffnesses);

	// Token: 0x06002455 RID: 9301
	[Token(Token = "0x6002455")]
	[Address(RVA = "0x32BC70", Offset = "0x32AC70", VA = "0x18032BC70")]
	public static extern void SetBendingConstraints(IntPtr batch, int[] indices, float[] restBends, Vector2[] bendingStiffnesses, int num);

	// Token: 0x06002456 RID: 9302
	[Token(Token = "0x6002456")]
	[Address(RVA = "0x32A290", Offset = "0x329290", VA = "0x18032A290")]
	public static extern void GetBendingConstraints(IntPtr batch, int[] indices, float[] restBends, Vector2[] bendingStiffnesses);

	// Token: 0x06002457 RID: 9303
	[Token(Token = "0x6002457")]
	[Address(RVA = "0x32D2D0", Offset = "0x32C2D0", VA = "0x18032D2D0")]
	public static extern void SetSkinConstraints(IntPtr batch, int[] indices, Vector4[] points, Vector4[] normals, float[] radiiBackstops, float[] stiffnesses, int num);

	// Token: 0x06002458 RID: 9304
	[Token(Token = "0x6002458")]
	[Address(RVA = "0x32B260", Offset = "0x32A260", VA = "0x18032B260")]
	public static extern void GetSkinConstraints(IntPtr batch, int[] indices, Vector4[] points, Vector4[] normals, float[] radiiBackstops, float[] stiffnesses);

	// Token: 0x06002459 RID: 9305
	[Token(Token = "0x6002459")]
	[Address(RVA = "0x32BB00", Offset = "0x32AB00", VA = "0x18032BB00")]
	public static extern void SetAerodynamicConstraints(IntPtr batch, int[] particleIndices, float[] aerodynamicCoeffs, int num);

	// Token: 0x0600245A RID: 9306
	[Token(Token = "0x600245A")]
	[Address(RVA = "0x32D8C0", Offset = "0x32C8C0", VA = "0x18032D8C0")]
	public static extern void SetVolumeConstraints(IntPtr batch, int[] triangleIndices, int[] firstTriangle, int[] numTriangles, float[] restVolumes, Vector2[] pressureStiffnesses, int num);

	// Token: 0x0600245B RID: 9307
	[Token(Token = "0x600245B")]
	[Address(RVA = "0x32D6B0", Offset = "0x32C6B0", VA = "0x18032D6B0")]
	public static extern void SetTetherConstraints(IntPtr batch, int[] indices, Vector2[] maxLenghtsScales, float[] stiffnesses, int num);

	// Token: 0x0600245C RID: 9308
	[Token(Token = "0x600245C")]
	[Address(RVA = "0x32B570", Offset = "0x32A570", VA = "0x18032B570")]
	public static extern void GetTetherConstraints(IntPtr batch, int[] indices, Vector2[] maxLenghtsScales, float[] stiffnesses);

	// Token: 0x0600245D RID: 9309
	[Token(Token = "0x600245D")]
	[Address(RVA = "0x32D050", Offset = "0x32C050", VA = "0x18032D050")]
	public static extern void SetPinConstraints(IntPtr batch, int[] indices, Vector4[] pinOffsets, IntPtr[] colliders, float[] stiffnesses, int num);

	// Token: 0x0600245E RID: 9310
	[Token(Token = "0x600245E")]
	[Address(RVA = "0x32D560", Offset = "0x32C560", VA = "0x18032D560")]
	public static extern void SetStitchConstraints(IntPtr batch, int[] indices, float[] stiffnesses, int num);

	// Token: 0x0600245F RID: 9311
	[Token(Token = "0x600245F")]
	[Address(RVA = "0x32A400", Offset = "0x329400", VA = "0x18032A400")]
	public static extern void GetCollisionContacts(IntPtr solver, Oni.Contact[] contacts, int n);

	// Token: 0x06002460 RID: 9312
	[Token(Token = "0x6002460")]
	[Address(RVA = "0x329250", Offset = "0x328250", VA = "0x180329250")]
	public static extern void ClearDiffuseParticles(IntPtr solver);

	// Token: 0x06002461 RID: 9313
	[Token(Token = "0x6002461")]
	[Address(RVA = "0x32C720", Offset = "0x32B720", VA = "0x18032C720")]
	public static extern int SetDiffuseParticles(IntPtr solver, Vector4[] positions, int num);

	// Token: 0x06002462 RID: 9314
	[Token(Token = "0x6002462")]
	[Address(RVA = "0x32A700", Offset = "0x329700", VA = "0x18032A700")]
	public static extern int GetDiffuseParticleVelocities(IntPtr solver, Vector4[] velocities, int num, int sourceOffset);

	// Token: 0x06002463 RID: 9315
	[Token(Token = "0x6002463")]
	[Address(RVA = "0x32C690", Offset = "0x32B690", VA = "0x18032C690")]
	public static extern void SetDiffuseParticleNeighbourCounts(IntPtr solver, IntPtr neighbourCounts);

	// Token: 0x06002464 RID: 9316
	[Token(Token = "0x6002464")]
	[Address(RVA = "0x329610", Offset = "0x328610", VA = "0x180329610")]
	public static extern IntPtr CreateHalfEdgeMesh();

	// Token: 0x06002465 RID: 9317
	[Token(Token = "0x6002465")]
	[Address(RVA = "0x329A80", Offset = "0x328A80", VA = "0x180329A80")]
	public static extern void DestroyHalfEdgeMesh(IntPtr mesh);

	// Token: 0x06002466 RID: 9318
	[Token(Token = "0x6002466")]
	[Address(RVA = "0x32D790", Offset = "0x32C790", VA = "0x18032D790")]
	public static extern void SetVertices(IntPtr mesh, IntPtr vertices, int n);

	// Token: 0x06002467 RID: 9319
	[Token(Token = "0x6002467")]
	[Address(RVA = "0x32CAD0", Offset = "0x32BAD0", VA = "0x18032CAD0")]
	public static extern void SetHalfEdges(IntPtr mesh, IntPtr halfedges, int n);

	// Token: 0x06002468 RID: 9320
	[Token(Token = "0x6002468")]
	[Address(RVA = "0x32C8B0", Offset = "0x32B8B0", VA = "0x18032C8B0")]
	public static extern void SetFaces(IntPtr mesh, IntPtr faces, int n);

	// Token: 0x06002469 RID: 9321
	[Token(Token = "0x6002469")]
	[Address(RVA = "0x32CC00", Offset = "0x32BC00", VA = "0x18032CC00")]
	public static extern void SetNormals(IntPtr mesh, IntPtr normals);

	// Token: 0x0600246A RID: 9322
	[Token(Token = "0x600246A")]
	[Address(RVA = "0x32D620", Offset = "0x32C620", VA = "0x18032D620")]
	public static extern void SetTangents(IntPtr mesh, IntPtr tangents);

	// Token: 0x0600246B RID: 9323
	[Token(Token = "0x600246B")]
	[Address(RVA = "0x32CB70", Offset = "0x32BB70", VA = "0x18032CB70")]
	public static extern void SetInverseOrientations(IntPtr mesh, IntPtr orientations);

	// Token: 0x0600246C RID: 9324
	[Token(Token = "0x600246C")]
	[Address(RVA = "0x32D830", Offset = "0x32C830", VA = "0x18032D830")]
	public static extern void SetVisualMap(IntPtr mesh, IntPtr map);

	// Token: 0x0600246D RID: 9325
	[Token(Token = "0x600246D")]
	[Address(RVA = "0x32B640", Offset = "0x32A640", VA = "0x18032B640")]
	public static extern int GetVertexCount(IntPtr mesh);

	// Token: 0x0600246E RID: 9326
	[Token(Token = "0x600246E")]
	[Address(RVA = "0x32A990", Offset = "0x329990", VA = "0x18032A990")]
	public static extern int GetHalfEdgeCount(IntPtr mesh);

	// Token: 0x0600246F RID: 9327
	[Token(Token = "0x600246F")]
	[Address(RVA = "0x32A890", Offset = "0x329890", VA = "0x18032A890")]
	public static extern int GetFaceCount(IntPtr mesh);

	// Token: 0x06002470 RID: 9328
	[Token(Token = "0x6002470")]
	[Address(RVA = "0x32AA10", Offset = "0x329A10", VA = "0x18032AA10")]
	public static extern int GetHalfEdgeMeshInfo(IntPtr mesh, ref Oni.MeshInformation meshInfo);

	// Token: 0x06002471 RID: 9329
	[Token(Token = "0x6002471")]
	[Address(RVA = "0x329180", Offset = "0x328180", VA = "0x180329180")]
	public static extern void CalculatePrimitiveCounts(IntPtr mesh, Vector3[] vertices, int[] triangles, int vertexCount, int triangleCount);

	// Token: 0x06002472 RID: 9330
	[Token(Token = "0x6002472")]
	[Address(RVA = "0x329E90", Offset = "0x328E90", VA = "0x180329E90")]
	public static extern void Generate(IntPtr mesh, Vector3[] vertices, int[] triangles, int vertexCount, int triangleCount, ref Vector3 scale);

	// Token: 0x06002473 RID: 9331
	[Token(Token = "0x6002473")]
	[Address(RVA = "0x32B6C0", Offset = "0x32A6C0", VA = "0x18032B6C0")]
	public static extern int MakePhase(int group, Oni.ParticlePhase flags);

	// Token: 0x06002474 RID: 9332
	[Token(Token = "0x6002474")]
	[Address(RVA = "0x32A910", Offset = "0x329910", VA = "0x18032A910")]
	public static extern int GetGroupFromPhase(int phase);

	// Token: 0x06002475 RID: 9333
	[Token(Token = "0x6002475")]
	[Address(RVA = "0x329020", Offset = "0x328020", VA = "0x180329020")]
	public static extern float BendingConstraintRest(float[] constraintCoordinates);

	// Token: 0x06002476 RID: 9334
	[Token(Token = "0x6002476")]
	[Address(RVA = "0x329800", Offset = "0x328800", VA = "0x180329800")]
	public static extern IntPtr CreateTriangleSkinMap();

	// Token: 0x06002477 RID: 9335
	[Token(Token = "0x6002477")]
	[Address(RVA = "0x329C80", Offset = "0x328C80", VA = "0x180329C80")]
	public static extern void DestroyTriangleSkinMap(IntPtr skinmap);

	// Token: 0x06002478 RID: 9336
	[Token(Token = "0x6002478")]
	[Address(RVA = "0x3290B0", Offset = "0x3280B0", VA = "0x1803290B0")]
	public static extern void Bind(IntPtr skinmap, IntPtr sourcemesh, IntPtr targetmesh, uint[] sourceMasterFlags, uint[] targetSlaveFlags);

	// Token: 0x06002479 RID: 9337
	[Token(Token = "0x6002479")]
	[Address(RVA = "0x32B460", Offset = "0x32A460", VA = "0x18032B460")]
	public static extern int GetSkinnedVertexCount(IntPtr skinmap);

	// Token: 0x0600247A RID: 9338
	[Token(Token = "0x600247A")]
	[Address(RVA = "0x32B360", Offset = "0x32A360", VA = "0x18032B360")]
	public static extern void GetSkinInfo(IntPtr skinmap, int[] skinIndices, int[] sourceTriIndices, Vector3[] baryPositions, Vector3[] baryNormals, Vector3[] baryTangents);

	// Token: 0x0600247B RID: 9339
	[Token(Token = "0x600247B")]
	[Address(RVA = "0x32D3D0", Offset = "0x32C3D0", VA = "0x18032D3D0")]
	public static extern void SetSkinInfo(IntPtr skinmap, int[] skinIndices, int[] sourceTriIndices, Vector3[] baryPositions, Vector3[] baryNormals, Vector3[] baryTangents, int num);

	// Token: 0x0600247C RID: 9340
	[Token(Token = "0x600247C")]
	[Address(RVA = "0x32DF00", Offset = "0x32CF00", VA = "0x18032DF00")]
	public static extern void WaitForAllTasks();

	// Token: 0x0600247D RID: 9341
	[Token(Token = "0x600247D")]
	[Address(RVA = "0x3292D0", Offset = "0x3282D0", VA = "0x1803292D0")]
	public static extern void ClearTasks();

	// Token: 0x0600247E RID: 9342
	[Token(Token = "0x600247E")]
	[Address(RVA = "0x32AAA0", Offset = "0x329AA0", VA = "0x18032AAA0")]
	public static extern int GetMaxSystemConcurrency();

	// Token: 0x0600247F RID: 9343
	[Token(Token = "0x600247F")]
	[Address(RVA = "0x32DA30", Offset = "0x32CA30", VA = "0x18032DA30")]
	public static extern void SignalFrameStart();

	// Token: 0x06002480 RID: 9344
	[Token(Token = "0x6002480")]
	[Address(RVA = "0x32D9C0", Offset = "0x32C9C0", VA = "0x18032D9C0")]
	public static extern double SignalFrameEnd();

	// Token: 0x06002481 RID: 9345
	[Token(Token = "0x6002481")]
	[Address(RVA = "0x329D90", Offset = "0x328D90", VA = "0x180329D90")]
	public static extern void EnableProfiler(bool cooked);

	// Token: 0x06002482 RID: 9346
	[Token(Token = "0x6002482")]
	[Address(RVA = "0x32AF30", Offset = "0x329F30", VA = "0x18032AF30")]
	public static extern int GetProfilingInfoCount();

	// Token: 0x06002483 RID: 9347
	[Token(Token = "0x6002483")]
	[Address(RVA = "0x32AFA0", Offset = "0x329FA0", VA = "0x18032AFA0")]
	public static extern void GetProfilingInfo([Out] Oni.ProfileInfo[] info, int num);

	// Token: 0x020003BB RID: 955
	[Token(Token = "0x20003BB")]
	public enum ConstraintType
	{
		// Token: 0x04002D7F RID: 11647
		[Token(Token = "0x4002D7F")]
		Tether,
		// Token: 0x04002D80 RID: 11648
		[Token(Token = "0x4002D80")]
		Pin,
		// Token: 0x04002D81 RID: 11649
		[Token(Token = "0x4002D81")]
		Volume,
		// Token: 0x04002D82 RID: 11650
		[Token(Token = "0x4002D82")]
		Bending,
		// Token: 0x04002D83 RID: 11651
		[Token(Token = "0x4002D83")]
		Distance,
		// Token: 0x04002D84 RID: 11652
		[Token(Token = "0x4002D84")]
		ParticleCollision,
		// Token: 0x04002D85 RID: 11653
		[Token(Token = "0x4002D85")]
		Density,
		// Token: 0x04002D86 RID: 11654
		[Token(Token = "0x4002D86")]
		Collision,
		// Token: 0x04002D87 RID: 11655
		[Token(Token = "0x4002D87")]
		Skin,
		// Token: 0x04002D88 RID: 11656
		[Token(Token = "0x4002D88")]
		Aerodynamics,
		// Token: 0x04002D89 RID: 11657
		[Token(Token = "0x4002D89")]
		Stitch,
		// Token: 0x04002D8A RID: 11658
		[Token(Token = "0x4002D8A")]
		ShapeMatching
	}

	// Token: 0x020003BC RID: 956
	[Token(Token = "0x20003BC")]
	public enum ParticlePhase
	{
		// Token: 0x04002D8C RID: 11660
		[Token(Token = "0x4002D8C")]
		SelfCollide = 16777216,
		// Token: 0x04002D8D RID: 11661
		[Token(Token = "0x4002D8D")]
		Fluid = 33554432
	}

	// Token: 0x020003BD RID: 957
	[Token(Token = "0x20003BD")]
	public enum ShapeType
	{
		// Token: 0x04002D8F RID: 11663
		[Token(Token = "0x4002D8F")]
		Sphere,
		// Token: 0x04002D90 RID: 11664
		[Token(Token = "0x4002D90")]
		Box,
		// Token: 0x04002D91 RID: 11665
		[Token(Token = "0x4002D91")]
		Capsule,
		// Token: 0x04002D92 RID: 11666
		[Token(Token = "0x4002D92")]
		Heightmap,
		// Token: 0x04002D93 RID: 11667
		[Token(Token = "0x4002D93")]
		TriangleMesh,
		// Token: 0x04002D94 RID: 11668
		[Token(Token = "0x4002D94")]
		EdgeMesh
	}

	// Token: 0x020003BE RID: 958
	[Token(Token = "0x20003BE")]
	public enum MaterialCombineMode
	{
		// Token: 0x04002D96 RID: 11670
		[Token(Token = "0x4002D96")]
		Average,
		// Token: 0x04002D97 RID: 11671
		[Token(Token = "0x4002D97")]
		Minimium,
		// Token: 0x04002D98 RID: 11672
		[Token(Token = "0x4002D98")]
		Multiply,
		// Token: 0x04002D99 RID: 11673
		[Token(Token = "0x4002D99")]
		Maximum
	}

	// Token: 0x020003BF RID: 959
	[Token(Token = "0x20003BF")]
	public enum NormalsUpdate
	{
		// Token: 0x04002D9B RID: 11675
		[Token(Token = "0x4002D9B")]
		Recalculate,
		// Token: 0x04002D9C RID: 11676
		[Token(Token = "0x4002D9C")]
		Skin
	}

	// Token: 0x020003C0 RID: 960
	[Token(Token = "0x20003C0")]
	[StructLayout(0, Pack = 1, Size = 96)]
	public struct ProfileInfo
	{
		// Token: 0x04002D9D RID: 11677
		[Cpp2IlInjected.FieldOffset(Offset = "0x0")]
		[Token(Token = "0x4002D9D")]
		public double start;

		// Token: 0x04002D9E RID: 11678
		[Cpp2IlInjected.FieldOffset(Offset = "0x8")]
		[Token(Token = "0x4002D9E")]
		public double end;

		// Token: 0x04002D9F RID: 11679
		[Cpp2IlInjected.FieldOffset(Offset = "0x10")]
		[Token(Token = "0x4002D9F")]
		public double childDuration;

		// Token: 0x04002DA0 RID: 11680
		[Cpp2IlInjected.FieldOffset(Offset = "0x18")]
		[Token(Token = "0x4002DA0")]
		public int threadID;

		// Token: 0x04002DA1 RID: 11681
		[Cpp2IlInjected.FieldOffset(Offset = "0x1C")]
		[Token(Token = "0x4002DA1")]
		public int level;

		// Token: 0x04002DA2 RID: 11682
		[Cpp2IlInjected.FieldOffset(Offset = "0x20")]
		[Token(Token = "0x4002DA2")]
		public string name;
	}

	// Token: 0x020003C1 RID: 961
	[Token(Token = "0x20003C1")]
	[StructLayout(0, Pack = 1, Size = 28)]
	public struct GridCell
	{
		// Token: 0x04002DA3 RID: 11683
		[Cpp2IlInjected.FieldOffset(Offset = "0x0")]
		[Token(Token = "0x4002DA3")]
		public Vector3 center;

		// Token: 0x04002DA4 RID: 11684
		[Cpp2IlInjected.FieldOffset(Offset = "0xC")]
		[Token(Token = "0x4002DA4")]
		public Vector3 size;

		// Token: 0x04002DA5 RID: 11685
		[Cpp2IlInjected.FieldOffset(Offset = "0x18")]
		[Token(Token = "0x4002DA5")]
		public int count;
	}

	// Token: 0x020003C2 RID: 962
	[Token(Token = "0x20003C2")]
	[Serializable]
	[StructLayout(0, Pack = 1, Size = 36)]
	public struct SolverParameters
	{
		// Token: 0x06002484 RID: 9348 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002484")]
		[Address(RVA = "0x69D480", Offset = "0x69C480", VA = "0x18069D480")]
		public SolverParameters(Oni.SolverParameters.Interpolation interpolation, Vector4 gravity)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x04002DA6 RID: 11686
		[Cpp2IlInjected.FieldOffset(Offset = "0x0")]
		[Token(Token = "0x4002DA6")]
		[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: 0x04002DA7 RID: 11687
		[Cpp2IlInjected.FieldOffset(Offset = "0x4")]
		[Token(Token = "0x4002DA7")]
		[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: 0x04002DA8 RID: 11688
		[Cpp2IlInjected.FieldOffset(Offset = "0x8")]
		[Token(Token = "0x4002DA8")]
		public Vector3 gravity;

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

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

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

		// Token: 0x04002DAC RID: 11692
		[Cpp2IlInjected.FieldOffset(Offset = "0x20")]
		[Token(Token = "0x4002DAC")]
		[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: 0x020003C3 RID: 963
		[Token(Token = "0x20003C3")]
		public enum Interpolation
		{
			// Token: 0x04002DAE RID: 11694
			[Token(Token = "0x4002DAE")]
			None,
			// Token: 0x04002DAF RID: 11695
			[Token(Token = "0x4002DAF")]
			Interpolate
		}

		// Token: 0x020003C4 RID: 964
		[Token(Token = "0x20003C4")]
		public enum Mode
		{
			// Token: 0x04002DB1 RID: 11697
			[Token(Token = "0x4002DB1")]
			Mode3D,
			// Token: 0x04002DB2 RID: 11698
			[Token(Token = "0x4002DB2")]
			Mode2D
		}
	}

	// Token: 0x020003C5 RID: 965
	[Token(Token = "0x20003C5")]
	[Serializable]
	[StructLayout(0, Pack = 1, Size = 13)]
	public struct ConstraintParameters
	{
		// Token: 0x06002485 RID: 9349 RVA: 0x00055E58 File Offset: 0x00054058
		[Token(Token = "0x6002485")]
		[Address(RVA = "0x6987B0", Offset = "0x6977B0", VA = "0x1806987B0")]
		public ConstraintParameters(bool enabled, Oni.ConstraintParameters.EvaluationOrder order, int iterations)
		{
			this.enabled = enabled;
			this.iterations = iterations;
			this.evaluationOrder = order;
			this.SORFactor = 1f;
		}

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

		// Token: 0x04002DB4 RID: 11700
		[Cpp2IlInjected.FieldOffset(Offset = "0x1")]
		[Token(Token = "0x4002DB4")]
		[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: 0x04002DB5 RID: 11701
		[Cpp2IlInjected.FieldOffset(Offset = "0x5")]
		[Token(Token = "0x4002DB5")]
		[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: 0x04002DB6 RID: 11702
		[Cpp2IlInjected.FieldOffset(Offset = "0x9")]
		[Token(Token = "0x4002DB6")]
		[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: 0x020003C6 RID: 966
		[Token(Token = "0x20003C6")]
		public enum EvaluationOrder
		{
			// Token: 0x04002DB8 RID: 11704
			[Token(Token = "0x4002DB8")]
			Sequential,
			// Token: 0x04002DB9 RID: 11705
			[Token(Token = "0x4002DB9")]
			Parallel
		}
	}

	// Token: 0x020003C7 RID: 967
	[Token(Token = "0x20003C7")]
	[StructLayout(0, Pack = 1, Size = 112)]
	public struct Contact
	{
		// Token: 0x04002DBA RID: 11706
		[Cpp2IlInjected.FieldOffset(Offset = "0x0")]
		[Token(Token = "0x4002DBA")]
		public Vector4 point;

		// Token: 0x04002DBB RID: 11707
		[Cpp2IlInjected.FieldOffset(Offset = "0x10")]
		[Token(Token = "0x4002DBB")]
		public Vector4 normal;

		// Token: 0x04002DBC RID: 11708
		[Cpp2IlInjected.FieldOffset(Offset = "0x20")]
		[Token(Token = "0x4002DBC")]
		public Vector4 tangent;

		// Token: 0x04002DBD RID: 11709
		[Cpp2IlInjected.FieldOffset(Offset = "0x30")]
		[Token(Token = "0x4002DBD")]
		public Vector4 bitangent;

		// Token: 0x04002DBE RID: 11710
		[Cpp2IlInjected.FieldOffset(Offset = "0x40")]
		[Token(Token = "0x4002DBE")]
		public float distance;

		// Token: 0x04002DBF RID: 11711
		[Cpp2IlInjected.FieldOffset(Offset = "0x44")]
		[Token(Token = "0x4002DBF")]
		public float normalImpulse;

		// Token: 0x04002DC0 RID: 11712
		[Cpp2IlInjected.FieldOffset(Offset = "0x48")]
		[Token(Token = "0x4002DC0")]
		public float tangentImpulse;

		// Token: 0x04002DC1 RID: 11713
		[Cpp2IlInjected.FieldOffset(Offset = "0x4C")]
		[Token(Token = "0x4002DC1")]
		public float bitangentImpulse;

		// Token: 0x04002DC2 RID: 11714
		[Cpp2IlInjected.FieldOffset(Offset = "0x50")]
		[Token(Token = "0x4002DC2")]
		public float stickImpulse;

		// Token: 0x04002DC3 RID: 11715
		[Cpp2IlInjected.FieldOffset(Offset = "0x54")]
		[Token(Token = "0x4002DC3")]
		public int particle;

		// Token: 0x04002DC4 RID: 11716
		[Cpp2IlInjected.FieldOffset(Offset = "0x58")]
		[Token(Token = "0x4002DC4")]
		public int other;
	}

	// Token: 0x020003C8 RID: 968
	[Token(Token = "0x20003C8")]
	[StructLayout(0, Pack = 1, Size = 32)]
	public struct BoneWeights
	{
		// Token: 0x06002486 RID: 9350 RVA: 0x00055E88 File Offset: 0x00054088
		[Token(Token = "0x6002486")]
		[Address(RVA = "0x696BF0", Offset = "0x695BF0", VA = "0x180696BF0")]
		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: 0x04002DC5 RID: 11717
		[Cpp2IlInjected.FieldOffset(Offset = "0x0")]
		[Token(Token = "0x4002DC5")]
		public int bone0;

		// Token: 0x04002DC6 RID: 11718
		[Cpp2IlInjected.FieldOffset(Offset = "0x4")]
		[Token(Token = "0x4002DC6")]
		public int bone1;

		// Token: 0x04002DC7 RID: 11719
		[Cpp2IlInjected.FieldOffset(Offset = "0x8")]
		[Token(Token = "0x4002DC7")]
		public int bone2;

		// Token: 0x04002DC8 RID: 11720
		[Cpp2IlInjected.FieldOffset(Offset = "0xC")]
		[Token(Token = "0x4002DC8")]
		public int bone3;

		// Token: 0x04002DC9 RID: 11721
		[Cpp2IlInjected.FieldOffset(Offset = "0x10")]
		[Token(Token = "0x4002DC9")]
		public float weight0;

		// Token: 0x04002DCA RID: 11722
		[Cpp2IlInjected.FieldOffset(Offset = "0x14")]
		[Token(Token = "0x4002DCA")]
		public float weight1;

		// Token: 0x04002DCB RID: 11723
		[Cpp2IlInjected.FieldOffset(Offset = "0x18")]
		[Token(Token = "0x4002DCB")]
		public float weight2;

		// Token: 0x04002DCC RID: 11724
		[Cpp2IlInjected.FieldOffset(Offset = "0x1C")]
		[Token(Token = "0x4002DCC")]
		public float weight3;
	}

	// Token: 0x020003C9 RID: 969
	[Token(Token = "0x20003C9")]
	[Serializable]
	[StructLayout(0, Pack = 1, Size = 68)]
	public struct Rigidbody
	{
		// Token: 0x06002487 RID: 9351 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002487")]
		[Address(RVA = "0x69C5C0", Offset = "0x69B5C0", VA = "0x18069C5C0")]
		public void Set(UnityEngine.Rigidbody source, bool kinematicForParticles)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002488 RID: 9352 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002488")]
		[Address(RVA = "0x69C910", Offset = "0x69B910", VA = "0x18069C910")]
		public void Set(Rigidbody2D source, bool kinematicForParticles)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x04002DCD RID: 11725
		[Cpp2IlInjected.FieldOffset(Offset = "0x0")]
		[Token(Token = "0x4002DCD")]
		public Quaternion rotation;

		// Token: 0x04002DCE RID: 11726
		[Cpp2IlInjected.FieldOffset(Offset = "0x10")]
		[Token(Token = "0x4002DCE")]
		public Vector3 linearVelocity;

		// Token: 0x04002DCF RID: 11727
		[Cpp2IlInjected.FieldOffset(Offset = "0x1C")]
		[Token(Token = "0x4002DCF")]
		public Vector3 angularVelocity;

		// Token: 0x04002DD0 RID: 11728
		[Cpp2IlInjected.FieldOffset(Offset = "0x28")]
		[Token(Token = "0x4002DD0")]
		public Vector3 centerOfMass;

		// Token: 0x04002DD1 RID: 11729
		[Cpp2IlInjected.FieldOffset(Offset = "0x34")]
		[Token(Token = "0x4002DD1")]
		public Vector3 inertiaTensor;

		// Token: 0x04002DD2 RID: 11730
		[Cpp2IlInjected.FieldOffset(Offset = "0x40")]
		[Token(Token = "0x4002DD2")]
		public float inverseMass;
	}

	// Token: 0x020003CA RID: 970
	[Token(Token = "0x20003CA")]
	[Serializable]
	[StructLayout(0, Pack = 1, Size = 24)]
	public struct RigidbodyVelocities
	{
		// Token: 0x04002DD3 RID: 11731
		[Cpp2IlInjected.FieldOffset(Offset = "0x0")]
		[Token(Token = "0x4002DD3")]
		public Vector3 linearVelocity;

		// Token: 0x04002DD4 RID: 11732
		[Cpp2IlInjected.FieldOffset(Offset = "0xC")]
		[Token(Token = "0x4002DD4")]
		public Vector3 angularVelocity;
	}

	// Token: 0x020003CB RID: 971
	[Token(Token = "0x20003CB")]
	[Serializable]
	[StructLayout(0, Pack = 1, Size = 77)]
	public struct Collider
	{
		// Token: 0x06002489 RID: 9353 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002489")]
		[Address(RVA = "0x698150", Offset = "0x697150", VA = "0x180698150")]
		public void Set(UnityEngine.Collider source, int phase, float thickness)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600248A RID: 9354 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600248A")]
		[Address(RVA = "0x698480", Offset = "0x697480", VA = "0x180698480")]
		public void Set(Collider2D source, int phase, float thickness)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600248B RID: 9355 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600248B")]
		[Address(RVA = "0x6977B0", Offset = "0x6967B0", VA = "0x1806977B0")]
		public void SetSpaceTransform(Transform space)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x04002DD5 RID: 11733
		[Cpp2IlInjected.FieldOffset(Offset = "0x0")]
		[Token(Token = "0x4002DD5")]
		public Quaternion rotation;

		// Token: 0x04002DD6 RID: 11734
		[Cpp2IlInjected.FieldOffset(Offset = "0x10")]
		[Token(Token = "0x4002DD6")]
		public Vector3 translation;

		// Token: 0x04002DD7 RID: 11735
		[Cpp2IlInjected.FieldOffset(Offset = "0x1C")]
		[Token(Token = "0x4002DD7")]
		public Vector3 scale;

		// Token: 0x04002DD8 RID: 11736
		[Cpp2IlInjected.FieldOffset(Offset = "0x28")]
		[Token(Token = "0x4002DD8")]
		public Vector3 boundsMin;

		// Token: 0x04002DD9 RID: 11737
		[Cpp2IlInjected.FieldOffset(Offset = "0x34")]
		[Token(Token = "0x4002DD9")]
		public Vector3 boundsMax;

		// Token: 0x04002DDA RID: 11738
		[Cpp2IlInjected.FieldOffset(Offset = "0x40")]
		[Token(Token = "0x4002DDA")]
		public int id;

		// Token: 0x04002DDB RID: 11739
		[Cpp2IlInjected.FieldOffset(Offset = "0x44")]
		[Token(Token = "0x4002DDB")]
		public float contactOffset;

		// Token: 0x04002DDC RID: 11740
		[Cpp2IlInjected.FieldOffset(Offset = "0x48")]
		[Token(Token = "0x4002DDC")]
		public int collisionGroup;

		// Token: 0x04002DDD RID: 11741
		[Cpp2IlInjected.FieldOffset(Offset = "0x4C")]
		[Token(Token = "0x4002DDD")]
		public bool trigger;
	}

	// Token: 0x020003CC RID: 972
	[Token(Token = "0x20003CC")]
	[Serializable]
	[StructLayout(0, Pack = 1, Size = 57)]
	public struct Shape
	{
		// Token: 0x0600248C RID: 9356 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600248C")]
		[Address(RVA = "0x69D290", Offset = "0x69C290", VA = "0x18069D290")]
		public void Set(Vector3 center, float radius)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600248D RID: 9357 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600248D")]
		[Address(RVA = "0x69D270", Offset = "0x69C270", VA = "0x18069D270")]
		public void Set(Vector3 center, Vector3 size)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600248E RID: 9358 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600248E")]
		[Address(RVA = "0x69D230", Offset = "0x69C230", VA = "0x18069D230")]
		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: 0x0600248F RID: 9359 RVA: 0x00055F10 File Offset: 0x00054110
		[Token(Token = "0x600248F")]
		[Address(RVA = "0x69D310", Offset = "0x69C310", VA = "0x18069D310")]
		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: 0x06002490 RID: 9360 RVA: 0x00055F50 File Offset: 0x00054150
		[Token(Token = "0x6002490")]
		[Address(RVA = "0x69D210", Offset = "0x69C210", VA = "0x18069D210")]
		public void Set(IntPtr data, IntPtr indices, int dataCount, int indicesCount)
		{
			this.indexCount = 0;
			this.data = data;
			this.indices = indices;
			this.dataCount = dataCount;
		}

		// Token: 0x04002DDE RID: 11742
		[Cpp2IlInjected.FieldOffset(Offset = "0x0")]
		[Token(Token = "0x4002DDE")]
		private Vector3 center;

		// Token: 0x04002DDF RID: 11743
		[Cpp2IlInjected.FieldOffset(Offset = "0xC")]
		[Token(Token = "0x4002DDF")]
		private Vector3 size;

		// Token: 0x04002DE0 RID: 11744
		[Cpp2IlInjected.FieldOffset(Offset = "0x18")]
		[Token(Token = "0x4002DE0")]
		private IntPtr data;

		// Token: 0x04002DE1 RID: 11745
		[Cpp2IlInjected.FieldOffset(Offset = "0x20")]
		[Token(Token = "0x4002DE1")]
		private IntPtr indices;

		// Token: 0x04002DE2 RID: 11746
		[Cpp2IlInjected.FieldOffset(Offset = "0x28")]
		[Token(Token = "0x4002DE2")]
		private int dataCount;

		// Token: 0x04002DE3 RID: 11747
		[Cpp2IlInjected.FieldOffset(Offset = "0x2C")]
		[Token(Token = "0x4002DE3")]
		private int indexCount;

		// Token: 0x04002DE4 RID: 11748
		[Cpp2IlInjected.FieldOffset(Offset = "0x30")]
		[Token(Token = "0x4002DE4")]
		private int resolutionU;

		// Token: 0x04002DE5 RID: 11749
		[Cpp2IlInjected.FieldOffset(Offset = "0x34")]
		[Token(Token = "0x4002DE5")]
		private int resolutionV;

		// Token: 0x04002DE6 RID: 11750
		[Cpp2IlInjected.FieldOffset(Offset = "0x38")]
		[Token(Token = "0x4002DE6")]
		public bool is2D;
	}

	// Token: 0x020003CD RID: 973
	[Token(Token = "0x20003CD")]
	[Serializable]
	[StructLayout(0, Pack = 1, Size = 20)]
	public struct CollisionMaterial
	{
		// Token: 0x04002DE7 RID: 11751
		[Cpp2IlInjected.FieldOffset(Offset = "0x0")]
		[Token(Token = "0x4002DE7")]
		public float friction;

		// Token: 0x04002DE8 RID: 11752
		[Cpp2IlInjected.FieldOffset(Offset = "0x4")]
		[Token(Token = "0x4002DE8")]
		public float stickiness;

		// Token: 0x04002DE9 RID: 11753
		[Cpp2IlInjected.FieldOffset(Offset = "0x8")]
		[Token(Token = "0x4002DE9")]
		public float stickDistance;

		// Token: 0x04002DEA RID: 11754
		[Cpp2IlInjected.FieldOffset(Offset = "0xC")]
		[Token(Token = "0x4002DEA")]
		public Oni.MaterialCombineMode frictionCombine;

		// Token: 0x04002DEB RID: 11755
		[Cpp2IlInjected.FieldOffset(Offset = "0x10")]
		[Token(Token = "0x4002DEB")]
		public Oni.MaterialCombineMode stickinessCombine;
	}

	// Token: 0x020003CE RID: 974
	[Token(Token = "0x20003CE")]
	[Serializable]
	[StructLayout(0, Pack = 1, Size = 44)]
	public struct FluidMaterial
	{
		// Token: 0x04002DEC RID: 11756
		[Cpp2IlInjected.FieldOffset(Offset = "0x0")]
		[Token(Token = "0x4002DEC")]
		public float smoothingRadius;

		// Token: 0x04002DED RID: 11757
		[Cpp2IlInjected.FieldOffset(Offset = "0x4")]
		[Token(Token = "0x4002DED")]
		public float restDensity;

		// Token: 0x04002DEE RID: 11758
		[Cpp2IlInjected.FieldOffset(Offset = "0x8")]
		[Token(Token = "0x4002DEE")]
		public float viscosity;

		// Token: 0x04002DEF RID: 11759
		[Cpp2IlInjected.FieldOffset(Offset = "0xC")]
		[Token(Token = "0x4002DEF")]
		public float surfaceTension;

		// Token: 0x04002DF0 RID: 11760
		[Cpp2IlInjected.FieldOffset(Offset = "0x10")]
		[Token(Token = "0x4002DF0")]
		public float buoyancy;

		// Token: 0x04002DF1 RID: 11761
		[Cpp2IlInjected.FieldOffset(Offset = "0x14")]
		[Token(Token = "0x4002DF1")]
		public float atmosphericDrag;

		// Token: 0x04002DF2 RID: 11762
		[Cpp2IlInjected.FieldOffset(Offset = "0x18")]
		[Token(Token = "0x4002DF2")]
		public float atmosphericPressure;

		// Token: 0x04002DF3 RID: 11763
		[Cpp2IlInjected.FieldOffset(Offset = "0x1C")]
		[Token(Token = "0x4002DF3")]
		public float vorticity;

		// Token: 0x04002DF4 RID: 11764
		[Cpp2IlInjected.FieldOffset(Offset = "0x20")]
		[Token(Token = "0x4002DF4")]
		public float elasticRange;

		// Token: 0x04002DF5 RID: 11765
		[Cpp2IlInjected.FieldOffset(Offset = "0x24")]
		[Token(Token = "0x4002DF5")]
		public float plasticCreep;

		// Token: 0x04002DF6 RID: 11766
		[Cpp2IlInjected.FieldOffset(Offset = "0x28")]
		[Token(Token = "0x4002DF6")]
		public float plasticThreshold;
	}

	// Token: 0x020003CF RID: 975
	[Token(Token = "0x20003CF")]
	[Serializable]
	[StructLayout(0, Pack = 1, Size = 24)]
	public struct HalfEdge
	{
		// Token: 0x06002491 RID: 9361 RVA: 0x00055F7C File Offset: 0x0005417C
		[Token(Token = "0x6002491")]
		[Address(RVA = "0x699CA0", Offset = "0x698CA0", VA = "0x180699CA0")]
		public HalfEdge(int index)
		{
			this.index = index;
			this.indexInFace = (int)((ulong)(-1L));
			this.nextHalfEdge = (int)((ulong)(-1L));
			this.endVertex = (int)((ulong)4294967295L);
		}

		// Token: 0x04002DF7 RID: 11767
		[Cpp2IlInjected.FieldOffset(Offset = "0x0")]
		[Token(Token = "0x4002DF7")]
		public int index;

		// Token: 0x04002DF8 RID: 11768
		[Cpp2IlInjected.FieldOffset(Offset = "0x4")]
		[Token(Token = "0x4002DF8")]
		public int indexInFace;

		// Token: 0x04002DF9 RID: 11769
		[Cpp2IlInjected.FieldOffset(Offset = "0x8")]
		[Token(Token = "0x4002DF9")]
		public int face;

		// Token: 0x04002DFA RID: 11770
		[Cpp2IlInjected.FieldOffset(Offset = "0xC")]
		[Token(Token = "0x4002DFA")]
		public int nextHalfEdge;

		// Token: 0x04002DFB RID: 11771
		[Cpp2IlInjected.FieldOffset(Offset = "0x10")]
		[Token(Token = "0x4002DFB")]
		public int pair;

		// Token: 0x04002DFC RID: 11772
		[Cpp2IlInjected.FieldOffset(Offset = "0x14")]
		[Token(Token = "0x4002DFC")]
		public int endVertex;
	}

	// Token: 0x020003D0 RID: 976
	[Token(Token = "0x20003D0")]
	[Serializable]
	[StructLayout(0, Pack = 1, Size = 20)]
	public struct Vertex
	{
		// Token: 0x06002492 RID: 9362 RVA: 0x00055FB4 File Offset: 0x000541B4
		[Token(Token = "0x6002492")]
		[Address(RVA = "0x6AA050", Offset = "0x6A9050", VA = "0x1806AA050")]
		public Vertex(Vector3 position, int index, int halfEdge)
		{
			float z = position.z;
			this.position.z = z;
			this.index = index;
			this.halfEdge = halfEdge;
		}

		// Token: 0x04002DFD RID: 11773
		[Cpp2IlInjected.FieldOffset(Offset = "0x0")]
		[Token(Token = "0x4002DFD")]
		public int index;

		// Token: 0x04002DFE RID: 11774
		[Cpp2IlInjected.FieldOffset(Offset = "0x4")]
		[Token(Token = "0x4002DFE")]
		public int halfEdge;

		// Token: 0x04002DFF RID: 11775
		[Cpp2IlInjected.FieldOffset(Offset = "0x8")]
		[Token(Token = "0x4002DFF")]
		public Vector3 position;
	}

	// Token: 0x020003D1 RID: 977
	[Token(Token = "0x20003D1")]
	[Serializable]
	[StructLayout(0, Pack = 1, Size = 8)]
	public struct Face
	{
		// Token: 0x06002493 RID: 9363 RVA: 0x00055FE4 File Offset: 0x000541E4
		[Token(Token = "0x6002493")]
		[Address(RVA = "0x698B70", Offset = "0x697B70", VA = "0x180698B70")]
		public Face(int index)
		{
			this.index = index;
			this.halfEdge = (int)((ulong)4294967295L);
		}

		// Token: 0x04002E00 RID: 11776
		[Cpp2IlInjected.FieldOffset(Offset = "0x0")]
		[Token(Token = "0x4002E00")]
		public int index;

		// Token: 0x04002E01 RID: 11777
		[Cpp2IlInjected.FieldOffset(Offset = "0x4")]
		[Token(Token = "0x4002E01")]
		public int halfEdge;
	}

	// Token: 0x020003D2 RID: 978
	[Token(Token = "0x20003D2")]
	[Serializable]
	[StructLayout(0, Pack = 1, Size = 14)]
	public struct MeshInformation
	{
		// Token: 0x04002E02 RID: 11778
		[Cpp2IlInjected.FieldOffset(Offset = "0x0")]
		[Token(Token = "0x4002E02")]
		public float volume;

		// Token: 0x04002E03 RID: 11779
		[Cpp2IlInjected.FieldOffset(Offset = "0x4")]
		[Token(Token = "0x4002E03")]
		public float area;

		// Token: 0x04002E04 RID: 11780
		[Cpp2IlInjected.FieldOffset(Offset = "0x8")]
		[Token(Token = "0x4002E04")]
		public int borderEdgeCount;

		// Token: 0x04002E05 RID: 11781
		[Cpp2IlInjected.FieldOffset(Offset = "0xC")]
		[Token(Token = "0x4002E05")]
		public bool closed;

		// Token: 0x04002E06 RID: 11782
		[Cpp2IlInjected.FieldOffset(Offset = "0xD")]
		[Token(Token = "0x4002E06")]
		public bool nonManifold;
	}
}
