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

namespace Obi
{
	// Token: 0x020004DD RID: 1245
	public class ObiTriangleSkinMap : ScriptableObject
	{
		// Token: 0x170030BD RID: 12477
		// (get) Token: 0x06008F6E RID: 36718 RVA: 0x0024E42C File Offset: 0x0024C62C
		// (set) Token: 0x06008F6D RID: 36717 RVA: 0x0024E3D0 File Offset: 0x0024C5D0
		public unsafe ObiMeshTopology SourceTopology
		{
			[CallerCount(32)]
			[CachedScanResults(RefRangeStart = 18945, RefRangeEnd = 18977, XrefRangeStart = 18945, XrefRangeEnd = 18977, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			get
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiTriangleSkinMap.NativeMethodInfoPtr_get_SourceTopology_Public_get_ObiMeshTopology_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				IntPtr intPtr3 = intPtr;
				return (intPtr3 != 0) ? new ObiMeshTopology(intPtr3) : null;
			}
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 611293, XrefRangeEnd = 611303, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			set
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				checked
				{
					IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
					*ptr = IL2CPP.Il2CppObjectBaseToPtr(value);
					IntPtr intPtr2;
					IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiTriangleSkinMap.NativeMethodInfoPtr_set_SourceTopology_Public_set_Void_ObiMeshTopology_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
					Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				}
			}
		}

		// Token: 0x170030BE RID: 12478
		// (get) Token: 0x06008F70 RID: 36720 RVA: 0x0024E4E0 File Offset: 0x0024C6E0
		// (set) Token: 0x06008F6F RID: 36719 RVA: 0x0024E484 File Offset: 0x0024C684
		public unsafe Mesh TargetMesh
		{
			[CallerCount(12)]
			[CachedScanResults(RefRangeStart = 14840, RefRangeEnd = 14852, XrefRangeStart = 14840, XrefRangeEnd = 14852, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			get
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiTriangleSkinMap.NativeMethodInfoPtr_get_TargetMesh_Public_get_Mesh_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				IntPtr intPtr3 = intPtr;
				return (intPtr3 != 0) ? new Mesh(intPtr3) : null;
			}
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 611303, XrefRangeEnd = 611313, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			set
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				checked
				{
					IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
					*ptr = IL2CPP.Il2CppObjectBaseToPtr(value);
					IntPtr intPtr2;
					IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiTriangleSkinMap.NativeMethodInfoPtr_set_TargetMesh_Public_set_Void_Mesh_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
					Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				}
			}
		}

		// Token: 0x170030BF RID: 12479
		// (get) Token: 0x06008F71 RID: 36721 RVA: 0x0024E538 File Offset: 0x0024C738
		public unsafe IntPtr TriangleSkinMap
		{
			[CallerCount(1)]
			[CachedScanResults(RefRangeStart = 7321, RefRangeEnd = 7322, XrefRangeStart = 7321, XrefRangeEnd = 7322, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			get
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiTriangleSkinMap.NativeMethodInfoPtr_get_TriangleSkinMap_Public_get_IntPtr_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}
		}

		// Token: 0x06008F72 RID: 36722 RVA: 0x0024E588 File Offset: 0x0024C788
		[CallerCount(2)]
		[CachedScanResults(RefRangeStart = 611319, RefRangeEnd = 611321, XrefRangeStart = 611313, XrefRangeEnd = 611319, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void ValidateMasterFlags(bool resetValues)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref resetValues;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiTriangleSkinMap.NativeMethodInfoPtr_ValidateMasterFlags_Private_Void_Boolean_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x06008F73 RID: 36723 RVA: 0x0024E5DC File Offset: 0x0024C7DC
		[CallerCount(2)]
		[CachedScanResults(RefRangeStart = 611327, RefRangeEnd = 611329, XrefRangeStart = 611321, XrefRangeEnd = 611327, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void ValidateSlaveFlags(bool resetValues)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref resetValues;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiTriangleSkinMap.NativeMethodInfoPtr_ValidateSlaveFlags_Private_Void_Boolean_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x06008F74 RID: 36724 RVA: 0x0024E630 File Offset: 0x0024C830
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 611329, XrefRangeEnd = 611335, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void OnEnable()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiTriangleSkinMap.NativeMethodInfoPtr_OnEnable_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008F75 RID: 36725 RVA: 0x0024E674 File Offset: 0x0024C874
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 611335, XrefRangeEnd = 611425, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Bind(Transform sourceTransform, Transform targetTransform)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr;
			checked
			{
				ptr = stackalloc IntPtr[unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(sourceTransform);
			}
			ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = IL2CPP.Il2CppObjectBaseToPtr(targetTransform);
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiTriangleSkinMap.NativeMethodInfoPtr_Bind_Public_Void_Transform_Transform_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008F76 RID: 36726 RVA: 0x0024E6E8 File Offset: 0x0024C8E8
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 611425, XrefRangeEnd = 611434, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe ObiTriangleSkinMap()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<ObiTriangleSkinMap>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiTriangleSkinMap.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008F77 RID: 36727 RVA: 0x0024E734 File Offset: 0x0024C934
		// Note: this type is marked as 'beforefieldinit'.
		static ObiTriangleSkinMap()
		{
			Il2CppClassPointerStore<ObiTriangleSkinMap>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "Obi", "ObiTriangleSkinMap");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<ObiTriangleSkinMap>.NativeClassPtr);
			ObiTriangleSkinMap.NativeFieldInfoPtr_bound = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTriangleSkinMap>.NativeClassPtr, "bound");
			ObiTriangleSkinMap.NativeFieldInfoPtr_triangleSkinMap = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTriangleSkinMap>.NativeClassPtr, "triangleSkinMap");
			ObiTriangleSkinMap.NativeFieldInfoPtr_masterFlags = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTriangleSkinMap>.NativeClassPtr, "masterFlags");
			ObiTriangleSkinMap.NativeFieldInfoPtr_slaveFlags = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTriangleSkinMap>.NativeClassPtr, "slaveFlags");
			ObiTriangleSkinMap.NativeFieldInfoPtr_skinnedVertices = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTriangleSkinMap>.NativeClassPtr, "skinnedVertices");
			ObiTriangleSkinMap.NativeFieldInfoPtr_skinnedTriangles = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTriangleSkinMap>.NativeClassPtr, "skinnedTriangles");
			ObiTriangleSkinMap.NativeFieldInfoPtr_baryPositions = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTriangleSkinMap>.NativeClassPtr, "baryPositions");
			ObiTriangleSkinMap.NativeFieldInfoPtr_baryNormals = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTriangleSkinMap>.NativeClassPtr, "baryNormals");
			ObiTriangleSkinMap.NativeFieldInfoPtr_baryTangents = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTriangleSkinMap>.NativeClassPtr, "baryTangents");
			ObiTriangleSkinMap.NativeFieldInfoPtr_sourceTopology = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTriangleSkinMap>.NativeClassPtr, "sourceTopology");
			ObiTriangleSkinMap.NativeFieldInfoPtr_targetMesh = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTriangleSkinMap>.NativeClassPtr, "targetMesh");
			ObiTriangleSkinMap.NativeFieldInfoPtr_sourceSkinTransform = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTriangleSkinMap>.NativeClassPtr, "sourceSkinTransform");
			ObiTriangleSkinMap.NativeFieldInfoPtr_targetSkinTransform = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTriangleSkinMap>.NativeClassPtr, "targetSkinTransform");
			ObiTriangleSkinMap.NativeMethodInfoPtr_set_SourceTopology_Public_set_Void_ObiMeshTopology_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTriangleSkinMap>.NativeClassPtr, 100674405);
			ObiTriangleSkinMap.NativeMethodInfoPtr_get_SourceTopology_Public_get_ObiMeshTopology_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTriangleSkinMap>.NativeClassPtr, 100674406);
			ObiTriangleSkinMap.NativeMethodInfoPtr_set_TargetMesh_Public_set_Void_Mesh_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTriangleSkinMap>.NativeClassPtr, 100674407);
			ObiTriangleSkinMap.NativeMethodInfoPtr_get_TargetMesh_Public_get_Mesh_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTriangleSkinMap>.NativeClassPtr, 100674408);
			ObiTriangleSkinMap.NativeMethodInfoPtr_get_TriangleSkinMap_Public_get_IntPtr_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTriangleSkinMap>.NativeClassPtr, 100674409);
			ObiTriangleSkinMap.NativeMethodInfoPtr_ValidateMasterFlags_Private_Void_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTriangleSkinMap>.NativeClassPtr, 100674410);
			ObiTriangleSkinMap.NativeMethodInfoPtr_ValidateSlaveFlags_Private_Void_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTriangleSkinMap>.NativeClassPtr, 100674411);
			ObiTriangleSkinMap.NativeMethodInfoPtr_OnEnable_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTriangleSkinMap>.NativeClassPtr, 100674412);
			ObiTriangleSkinMap.NativeMethodInfoPtr_Bind_Public_Void_Transform_Transform_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTriangleSkinMap>.NativeClassPtr, 100674413);
			ObiTriangleSkinMap.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTriangleSkinMap>.NativeClassPtr, 100674414);
		}

		// Token: 0x06008F78 RID: 36728 RVA: 0x00009DEC File Offset: 0x00007FEC
		public ObiTriangleSkinMap(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x170030B0 RID: 12464
		// (get) Token: 0x06008F79 RID: 36729 RVA: 0x0024E930 File Offset: 0x0024CB30
		// (set) Token: 0x06008F7A RID: 36730 RVA: 0x0024E958 File Offset: 0x0024CB58
		public unsafe bool bound
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTriangleSkinMap.NativeFieldInfoPtr_bound);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTriangleSkinMap.NativeFieldInfoPtr_bound)) = value;
			}
		}

		// Token: 0x170030B1 RID: 12465
		// (get) Token: 0x06008F7B RID: 36731 RVA: 0x0024E97C File Offset: 0x0024CB7C
		// (set) Token: 0x06008F7C RID: 36732 RVA: 0x0024E9A4 File Offset: 0x0024CBA4
		public unsafe IntPtr triangleSkinMap
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTriangleSkinMap.NativeFieldInfoPtr_triangleSkinMap);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTriangleSkinMap.NativeFieldInfoPtr_triangleSkinMap)) = value;
			}
		}

		// Token: 0x170030B2 RID: 12466
		// (get) Token: 0x06008F7D RID: 36733 RVA: 0x0024E9C8 File Offset: 0x0024CBC8
		// (set) Token: 0x06008F7E RID: 36734 RVA: 0x0024E9FC File Offset: 0x0024CBFC
		public unsafe Il2CppStructArray<uint> masterFlags
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTriangleSkinMap.NativeFieldInfoPtr_masterFlags);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Il2CppStructArray<uint>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTriangleSkinMap.NativeFieldInfoPtr_masterFlags), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x170030B3 RID: 12467
		// (get) Token: 0x06008F7F RID: 36735 RVA: 0x0024EA24 File Offset: 0x0024CC24
		// (set) Token: 0x06008F80 RID: 36736 RVA: 0x0024EA58 File Offset: 0x0024CC58
		public unsafe Il2CppStructArray<uint> slaveFlags
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTriangleSkinMap.NativeFieldInfoPtr_slaveFlags);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Il2CppStructArray<uint>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTriangleSkinMap.NativeFieldInfoPtr_slaveFlags), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x170030B4 RID: 12468
		// (get) Token: 0x06008F81 RID: 36737 RVA: 0x0024EA80 File Offset: 0x0024CC80
		// (set) Token: 0x06008F82 RID: 36738 RVA: 0x0024EAB4 File Offset: 0x0024CCB4
		public unsafe Il2CppStructArray<int> skinnedVertices
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTriangleSkinMap.NativeFieldInfoPtr_skinnedVertices);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Il2CppStructArray<int>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTriangleSkinMap.NativeFieldInfoPtr_skinnedVertices), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x170030B5 RID: 12469
		// (get) Token: 0x06008F83 RID: 36739 RVA: 0x0024EADC File Offset: 0x0024CCDC
		// (set) Token: 0x06008F84 RID: 36740 RVA: 0x0024EB10 File Offset: 0x0024CD10
		public unsafe Il2CppStructArray<int> skinnedTriangles
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTriangleSkinMap.NativeFieldInfoPtr_skinnedTriangles);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Il2CppStructArray<int>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTriangleSkinMap.NativeFieldInfoPtr_skinnedTriangles), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x170030B6 RID: 12470
		// (get) Token: 0x06008F85 RID: 36741 RVA: 0x0024EB38 File Offset: 0x0024CD38
		// (set) Token: 0x06008F86 RID: 36742 RVA: 0x0024EB6C File Offset: 0x0024CD6C
		public unsafe Il2CppStructArray<Vector3> baryPositions
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTriangleSkinMap.NativeFieldInfoPtr_baryPositions);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Il2CppStructArray<Vector3>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTriangleSkinMap.NativeFieldInfoPtr_baryPositions), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x170030B7 RID: 12471
		// (get) Token: 0x06008F87 RID: 36743 RVA: 0x0024EB94 File Offset: 0x0024CD94
		// (set) Token: 0x06008F88 RID: 36744 RVA: 0x0024EBC8 File Offset: 0x0024CDC8
		public unsafe Il2CppStructArray<Vector3> baryNormals
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTriangleSkinMap.NativeFieldInfoPtr_baryNormals);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Il2CppStructArray<Vector3>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTriangleSkinMap.NativeFieldInfoPtr_baryNormals), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x170030B8 RID: 12472
		// (get) Token: 0x06008F89 RID: 36745 RVA: 0x0024EBF0 File Offset: 0x0024CDF0
		// (set) Token: 0x06008F8A RID: 36746 RVA: 0x0024EC24 File Offset: 0x0024CE24
		public unsafe Il2CppStructArray<Vector3> baryTangents
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTriangleSkinMap.NativeFieldInfoPtr_baryTangents);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Il2CppStructArray<Vector3>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTriangleSkinMap.NativeFieldInfoPtr_baryTangents), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x170030B9 RID: 12473
		// (get) Token: 0x06008F8B RID: 36747 RVA: 0x0024EC4C File Offset: 0x0024CE4C
		// (set) Token: 0x06008F8C RID: 36748 RVA: 0x0024EC80 File Offset: 0x0024CE80
		public unsafe ObiMeshTopology sourceTopology
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTriangleSkinMap.NativeFieldInfoPtr_sourceTopology);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new ObiMeshTopology(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTriangleSkinMap.NativeFieldInfoPtr_sourceTopology), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x170030BA RID: 12474
		// (get) Token: 0x06008F8D RID: 36749 RVA: 0x0024ECA8 File Offset: 0x0024CEA8
		// (set) Token: 0x06008F8E RID: 36750 RVA: 0x0024ECDC File Offset: 0x0024CEDC
		public unsafe Mesh targetMesh
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTriangleSkinMap.NativeFieldInfoPtr_targetMesh);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Mesh(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTriangleSkinMap.NativeFieldInfoPtr_targetMesh), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x170030BB RID: 12475
		// (get) Token: 0x06008F8F RID: 36751 RVA: 0x0024ED04 File Offset: 0x0024CF04
		// (set) Token: 0x06008F90 RID: 36752 RVA: 0x0024ED2C File Offset: 0x0024CF2C
		public unsafe ObiTriangleSkinMap.SkinTransform sourceSkinTransform
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTriangleSkinMap.NativeFieldInfoPtr_sourceSkinTransform);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTriangleSkinMap.NativeFieldInfoPtr_sourceSkinTransform)) = value;
			}
		}

		// Token: 0x170030BC RID: 12476
		// (get) Token: 0x06008F91 RID: 36753 RVA: 0x0024ED50 File Offset: 0x0024CF50
		// (set) Token: 0x06008F92 RID: 36754 RVA: 0x0024ED78 File Offset: 0x0024CF78
		public unsafe ObiTriangleSkinMap.SkinTransform targetSkinTransform
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTriangleSkinMap.NativeFieldInfoPtr_targetSkinTransform);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTriangleSkinMap.NativeFieldInfoPtr_targetSkinTransform)) = value;
			}
		}

		// Token: 0x04005F90 RID: 24464
		private static readonly IntPtr NativeFieldInfoPtr_bound;

		// Token: 0x04005F91 RID: 24465
		private static readonly IntPtr NativeFieldInfoPtr_triangleSkinMap;

		// Token: 0x04005F92 RID: 24466
		private static readonly IntPtr NativeFieldInfoPtr_masterFlags;

		// Token: 0x04005F93 RID: 24467
		private static readonly IntPtr NativeFieldInfoPtr_slaveFlags;

		// Token: 0x04005F94 RID: 24468
		private static readonly IntPtr NativeFieldInfoPtr_skinnedVertices;

		// Token: 0x04005F95 RID: 24469
		private static readonly IntPtr NativeFieldInfoPtr_skinnedTriangles;

		// Token: 0x04005F96 RID: 24470
		private static readonly IntPtr NativeFieldInfoPtr_baryPositions;

		// Token: 0x04005F97 RID: 24471
		private static readonly IntPtr NativeFieldInfoPtr_baryNormals;

		// Token: 0x04005F98 RID: 24472
		private static readonly IntPtr NativeFieldInfoPtr_baryTangents;

		// Token: 0x04005F99 RID: 24473
		private static readonly IntPtr NativeFieldInfoPtr_sourceTopology;

		// Token: 0x04005F9A RID: 24474
		private static readonly IntPtr NativeFieldInfoPtr_targetMesh;

		// Token: 0x04005F9B RID: 24475
		private static readonly IntPtr NativeFieldInfoPtr_sourceSkinTransform;

		// Token: 0x04005F9C RID: 24476
		private static readonly IntPtr NativeFieldInfoPtr_targetSkinTransform;

		// Token: 0x04005F9D RID: 24477
		private static readonly IntPtr NativeMethodInfoPtr_set_SourceTopology_Public_set_Void_ObiMeshTopology_0;

		// Token: 0x04005F9E RID: 24478
		private static readonly IntPtr NativeMethodInfoPtr_get_SourceTopology_Public_get_ObiMeshTopology_0;

		// Token: 0x04005F9F RID: 24479
		private static readonly IntPtr NativeMethodInfoPtr_set_TargetMesh_Public_set_Void_Mesh_0;

		// Token: 0x04005FA0 RID: 24480
		private static readonly IntPtr NativeMethodInfoPtr_get_TargetMesh_Public_get_Mesh_0;

		// Token: 0x04005FA1 RID: 24481
		private static readonly IntPtr NativeMethodInfoPtr_get_TriangleSkinMap_Public_get_IntPtr_0;

		// Token: 0x04005FA2 RID: 24482
		private static readonly IntPtr NativeMethodInfoPtr_ValidateMasterFlags_Private_Void_Boolean_0;

		// Token: 0x04005FA3 RID: 24483
		private static readonly IntPtr NativeMethodInfoPtr_ValidateSlaveFlags_Private_Void_Boolean_0;

		// Token: 0x04005FA4 RID: 24484
		private static readonly IntPtr NativeMethodInfoPtr_OnEnable_Public_Void_0;

		// Token: 0x04005FA5 RID: 24485
		private static readonly IntPtr NativeMethodInfoPtr_Bind_Public_Void_Transform_Transform_0;

		// Token: 0x04005FA6 RID: 24486
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x020004DE RID: 1246
		[Serializable]
		[StructLayout(LayoutKind.Explicit)]
		public struct SkinTransform
		{
			// Token: 0x06008F93 RID: 36755 RVA: 0x0024ED9C File Offset: 0x0024CF9C
			[CallerCount(4)]
			[CachedScanResults(RefRangeStart = 611281, RefRangeEnd = 611285, XrefRangeStart = 611281, XrefRangeEnd = 611281, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			public unsafe SkinTransform(Vector3 position, Quaternion rotation, Vector3 scale)
			{
				IntPtr* ptr;
				checked
				{
					ptr = stackalloc IntPtr[unchecked((UIntPtr)3) * (UIntPtr)sizeof(IntPtr)];
					*ptr = ref position;
				}
				ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref rotation;
				ptr[checked(unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref scale;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiTriangleSkinMap.SkinTransform.NativeMethodInfoPtr__ctor_Public_Void_Vector3_Quaternion_Vector3_0, ref this, (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}

			// Token: 0x06008F94 RID: 36756 RVA: 0x0024EE08 File Offset: 0x0024D008
			[CallerCount(2)]
			[CachedScanResults(RefRangeStart = 611288, RefRangeEnd = 611290, XrefRangeStart = 611285, XrefRangeEnd = 611288, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			public unsafe SkinTransform(Transform transform)
			{
				checked
				{
					IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
					*ptr = IL2CPP.Il2CppObjectBaseToPtr(transform);
					IntPtr intPtr2;
					IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiTriangleSkinMap.SkinTransform.NativeMethodInfoPtr__ctor_Public_Void_Transform_0, ref this, (void**)ptr, ref intPtr2);
					Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				}
			}

			// Token: 0x06008F95 RID: 36757 RVA: 0x0024EE54 File Offset: 0x0024D054
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 611290, XrefRangeEnd = 611293, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			public unsafe void Apply(Transform transform)
			{
				checked
				{
					IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
					*ptr = IL2CPP.Il2CppObjectBaseToPtr(transform);
					IntPtr intPtr2;
					IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiTriangleSkinMap.SkinTransform.NativeMethodInfoPtr_Apply_Public_Void_Transform_0, ref this, (void**)ptr, ref intPtr2);
					Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				}
			}

			// Token: 0x06008F96 RID: 36758 RVA: 0x0024EEA0 File Offset: 0x0024D0A0
			// Note: this type is marked as 'beforefieldinit'.
			static SkinTransform()
			{
				Il2CppClassPointerStore<ObiTriangleSkinMap.SkinTransform>.NativeClassPtr = IL2CPP.GetIl2CppNestedType(Il2CppClassPointerStore<ObiTriangleSkinMap>.NativeClassPtr, "SkinTransform");
				IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<ObiTriangleSkinMap.SkinTransform>.NativeClassPtr);
				ObiTriangleSkinMap.SkinTransform.NativeFieldInfoPtr_position = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTriangleSkinMap.SkinTransform>.NativeClassPtr, "position");
				ObiTriangleSkinMap.SkinTransform.NativeFieldInfoPtr_rotation = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTriangleSkinMap.SkinTransform>.NativeClassPtr, "rotation");
				ObiTriangleSkinMap.SkinTransform.NativeFieldInfoPtr_scale = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTriangleSkinMap.SkinTransform>.NativeClassPtr, "scale");
				ObiTriangleSkinMap.SkinTransform.NativeMethodInfoPtr__ctor_Public_Void_Vector3_Quaternion_Vector3_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTriangleSkinMap.SkinTransform>.NativeClassPtr, 100674415);
				ObiTriangleSkinMap.SkinTransform.NativeMethodInfoPtr__ctor_Public_Void_Transform_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTriangleSkinMap.SkinTransform>.NativeClassPtr, 100674416);
				ObiTriangleSkinMap.SkinTransform.NativeMethodInfoPtr_Apply_Public_Void_Transform_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTriangleSkinMap.SkinTransform>.NativeClassPtr, 100674417);
			}

			// Token: 0x06008F97 RID: 36759 RVA: 0x0024EF43 File Offset: 0x0024D143
			public Il2CppSystem.Object BoxIl2CppObject()
			{
				return new Il2CppSystem.Object(IL2CPP.il2cpp_value_box(Il2CppClassPointerStore<ObiTriangleSkinMap.SkinTransform>.NativeClassPtr, ref this));
			}

			// Token: 0x04005FA7 RID: 24487
			private static readonly IntPtr NativeFieldInfoPtr_position;

			// Token: 0x04005FA8 RID: 24488
			private static readonly IntPtr NativeFieldInfoPtr_rotation;

			// Token: 0x04005FA9 RID: 24489
			private static readonly IntPtr NativeFieldInfoPtr_scale;

			// Token: 0x04005FAA RID: 24490
			private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_Vector3_Quaternion_Vector3_0;

			// Token: 0x04005FAB RID: 24491
			private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_Transform_0;

			// Token: 0x04005FAC RID: 24492
			private static readonly IntPtr NativeMethodInfoPtr_Apply_Public_Void_Transform_0;

			// Token: 0x04005FAD RID: 24493
			[FieldOffset(0)]
			public Vector3 position;

			// Token: 0x04005FAE RID: 24494
			[FieldOffset(12)]
			public Quaternion rotation;

			// Token: 0x04005FAF RID: 24495
			[FieldOffset(28)]
			public Vector3 scale;
		}
	}
}
