@babylonjs/loaders 5.0.0-rc.5 → 5.0.0-rc.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/OBJ/index.d.ts +4 -4
  2. package/OBJ/index.js +4 -4
  3. package/OBJ/mtlFileLoader.d.ts +41 -41
  4. package/OBJ/mtlFileLoader.js +232 -232
  5. package/OBJ/objFileLoader.d.ts +126 -126
  6. package/OBJ/objFileLoader.js +296 -296
  7. package/OBJ/objLoadingOptions.d.ts +43 -43
  8. package/OBJ/objLoadingOptions.js +1 -1
  9. package/OBJ/solidParser.d.ts +154 -154
  10. package/OBJ/solidParser.js +693 -693
  11. package/STL/index.d.ts +1 -1
  12. package/STL/index.js +1 -1
  13. package/STL/stlFileLoader.d.ts +64 -64
  14. package/STL/stlFileLoader.js +233 -233
  15. package/glTF/1.0/glTFBinaryExtension.d.ts +13 -13
  16. package/glTF/1.0/glTFBinaryExtension.js +60 -60
  17. package/glTF/1.0/glTFLoader.d.ts +136 -136
  18. package/glTF/1.0/glTFLoader.js +1815 -1815
  19. package/glTF/1.0/glTFLoaderInterfaces.d.ts +412 -412
  20. package/glTF/1.0/glTFLoaderInterfaces.js +95 -95
  21. package/glTF/1.0/glTFLoaderUtils.d.ts +62 -62
  22. package/glTF/1.0/glTFLoaderUtils.js +250 -250
  23. package/glTF/1.0/glTFMaterialsCommonExtension.d.ts +10 -10
  24. package/glTF/1.0/glTFMaterialsCommonExtension.js +129 -129
  25. package/glTF/1.0/index.d.ts +5 -5
  26. package/glTF/1.0/index.js +5 -5
  27. package/glTF/2.0/Extensions/EXT_lights_image_based.d.ts +43 -43
  28. package/glTF/2.0/Extensions/EXT_lights_image_based.js +117 -117
  29. package/glTF/2.0/Extensions/EXT_mesh_gpu_instancing.d.ts +36 -36
  30. package/glTF/2.0/Extensions/EXT_mesh_gpu_instancing.js +88 -88
  31. package/glTF/2.0/Extensions/EXT_meshopt_compression.d.ts +34 -34
  32. package/glTF/2.0/Extensions/EXT_meshopt_compression.js +49 -49
  33. package/glTF/2.0/Extensions/EXT_texture_webp.d.ts +29 -29
  34. package/glTF/2.0/Extensions/EXT_texture_webp.js +40 -40
  35. package/glTF/2.0/Extensions/ExtrasAsMetadata.d.ts +50 -50
  36. package/glTF/2.0/Extensions/ExtrasAsMetadata.js +73 -73
  37. package/glTF/2.0/Extensions/KHR_draco_mesh_compression.d.ts +39 -39
  38. package/glTF/2.0/Extensions/KHR_draco_mesh_compression.js +112 -112
  39. package/glTF/2.0/Extensions/KHR_lights_punctual.d.ts +36 -36
  40. package/glTF/2.0/Extensions/KHR_lights_punctual.js +89 -89
  41. package/glTF/2.0/Extensions/KHR_materials_clearcoat.d.ts +39 -39
  42. package/glTF/2.0/Extensions/KHR_materials_clearcoat.js +94 -94
  43. package/glTF/2.0/Extensions/KHR_materials_emissive_strength.d.ts +38 -38
  44. package/glTF/2.0/Extensions/KHR_materials_emissive_strength.js +53 -53
  45. package/glTF/2.0/Extensions/KHR_materials_ior.d.ts +42 -42
  46. package/glTF/2.0/Extensions/KHR_materials_ior.js +62 -62
  47. package/glTF/2.0/Extensions/KHR_materials_pbrSpecularGlossiness.d.ts +38 -38
  48. package/glTF/2.0/Extensions/KHR_materials_pbrSpecularGlossiness.js +80 -80
  49. package/glTF/2.0/Extensions/KHR_materials_sheen.d.ts +39 -39
  50. package/glTF/2.0/Extensions/KHR_materials_sheen.js +84 -84
  51. package/glTF/2.0/Extensions/KHR_materials_specular.d.ts +38 -38
  52. package/glTF/2.0/Extensions/KHR_materials_specular.js +74 -74
  53. package/glTF/2.0/Extensions/KHR_materials_translucency.d.ts +39 -39
  54. package/glTF/2.0/Extensions/KHR_materials_translucency.js +83 -83
  55. package/glTF/2.0/Extensions/KHR_materials_transmission.d.ts +38 -38
  56. package/glTF/2.0/Extensions/KHR_materials_transmission.js +288 -288
  57. package/glTF/2.0/Extensions/KHR_materials_unlit.d.ts +38 -38
  58. package/glTF/2.0/Extensions/KHR_materials_unlit.js +73 -73
  59. package/glTF/2.0/Extensions/KHR_materials_variants.d.ts +87 -87
  60. package/glTF/2.0/Extensions/KHR_materials_variants.js +254 -254
  61. package/glTF/2.0/Extensions/KHR_materials_volume.d.ts +39 -39
  62. package/glTF/2.0/Extensions/KHR_materials_volume.js +85 -85
  63. package/glTF/2.0/Extensions/KHR_mesh_quantization.d.ts +22 -22
  64. package/glTF/2.0/Extensions/KHR_mesh_quantization.js +23 -23
  65. package/glTF/2.0/Extensions/KHR_texture_basisu.d.ts +29 -29
  66. package/glTF/2.0/Extensions/KHR_texture_basisu.js +40 -40
  67. package/glTF/2.0/Extensions/KHR_texture_transform.d.ts +33 -33
  68. package/glTF/2.0/Extensions/KHR_texture_transform.js +61 -61
  69. package/glTF/2.0/Extensions/KHR_xmp_json_ld.d.ts +32 -32
  70. package/glTF/2.0/Extensions/KHR_xmp_json_ld.js +49 -49
  71. package/glTF/2.0/Extensions/MSFT_audio_emitter.d.ts +54 -54
  72. package/glTF/2.0/Extensions/MSFT_audio_emitter.js +240 -240
  73. package/glTF/2.0/Extensions/MSFT_lod.d.ts +109 -109
  74. package/glTF/2.0/Extensions/MSFT_lod.js +369 -369
  75. package/glTF/2.0/Extensions/MSFT_minecraftMesh.d.ts +14 -14
  76. package/glTF/2.0/Extensions/MSFT_minecraftMesh.js +36 -36
  77. package/glTF/2.0/Extensions/MSFT_sRGBFactors.d.ts +14 -14
  78. package/glTF/2.0/Extensions/MSFT_sRGBFactors.js +36 -36
  79. package/glTF/2.0/Extensions/index.d.ts +26 -26
  80. package/glTF/2.0/Extensions/index.js +26 -26
  81. package/glTF/2.0/glTFLoader.d.ts +405 -405
  82. package/glTF/2.0/glTFLoader.js +2366 -2366
  83. package/glTF/2.0/glTFLoaderExtension.d.ts +152 -152
  84. package/glTF/2.0/glTFLoaderExtension.js +1 -1
  85. package/glTF/2.0/glTFLoaderInterfaces.d.ts +211 -211
  86. package/glTF/2.0/glTFLoaderInterfaces.js +1 -1
  87. package/glTF/2.0/index.d.ts +4 -4
  88. package/glTF/2.0/index.js +4 -4
  89. package/glTF/glTFFileLoader.d.ts +433 -433
  90. package/glTF/glTFFileLoader.js +927 -927
  91. package/glTF/glTFValidation.d.ts +29 -29
  92. package/glTF/glTFValidation.js +123 -123
  93. package/glTF/index.d.ts +5 -5
  94. package/glTF/index.js +5 -5
  95. package/index.d.ts +3 -3
  96. package/index.js +3 -3
  97. package/legacy/legacy-glTF.d.ts +2 -2
  98. package/legacy/legacy-glTF.js +18 -18
  99. package/legacy/legacy-glTF1.d.ts +2 -2
  100. package/legacy/legacy-glTF1.js +14 -14
  101. package/legacy/legacy-glTF1FileLoader.d.ts +2 -2
  102. package/legacy/legacy-glTF1FileLoader.js +3 -3
  103. package/legacy/legacy-glTF2.d.ts +2 -2
  104. package/legacy/legacy-glTF2.js +32 -32
  105. package/legacy/legacy-glTF2FileLoader.d.ts +2 -2
  106. package/legacy/legacy-glTF2FileLoader.js +3 -3
  107. package/legacy/legacy-glTFFileLoader.d.ts +3 -3
  108. package/legacy/legacy-glTFFileLoader.js +4 -4
  109. package/legacy/legacy-objFileLoader.d.ts +1 -1
  110. package/legacy/legacy-objFileLoader.js +12 -12
  111. package/legacy/legacy-stlFileLoader.d.ts +1 -1
  112. package/legacy/legacy-stlFileLoader.js +12 -12
  113. package/legacy/legacy.d.ts +6 -6
  114. package/legacy/legacy.js +7 -7
  115. package/package.json +3 -3
@@ -1,43 +1,43 @@
1
- import { Vector2 } from "@babylonjs/core/Maths/math.vector.js";
2
- /**
3
- * Options for loading OBJ/MTL files
4
- */
5
- export declare type OBJLoadingOptions = {
6
- /**
7
- * Defines if UVs are optimized by default during load.
8
- */
9
- optimizeWithUV: boolean;
10
- /**
11
- * Defines custom scaling of UV coordinates of loaded meshes.
12
- */
13
- UVScaling: Vector2;
14
- /**
15
- * Invert model on y-axis (does a model scaling inversion)
16
- */
17
- invertY: boolean;
18
- /**
19
- * Invert Y-Axis of referenced textures on load
20
- */
21
- invertTextureY: boolean;
22
- /**
23
- * Include in meshes the vertex colors available in some OBJ files. This is not part of OBJ standard.
24
- */
25
- importVertexColors: boolean;
26
- /**
27
- * Compute the normals for the model, even if normals are present in the file.
28
- */
29
- computeNormals: boolean;
30
- /**
31
- * Optimize the normals for the model. Lighting can be uneven if you use OptimizeWithUV = true because new vertices can be created for the same location if they pertain to different faces.
32
- * Using OptimizehNormals = true will help smoothing the lighting by averaging the normals of those vertices.
33
- */
34
- optimizeNormals: boolean;
35
- /**
36
- * Skip loading the materials even if defined in the OBJ file (materials are ignored).
37
- */
38
- skipMaterials: boolean;
39
- /**
40
- * When a material fails to load OBJ loader will silently fail and onSuccess() callback will be triggered.
41
- */
42
- materialLoadingFailsSilently: boolean;
43
- };
1
+ import { Vector2 } from "@babylonjs/core/Maths/math.vector.js";
2
+ /**
3
+ * Options for loading OBJ/MTL files
4
+ */
5
+ export declare type OBJLoadingOptions = {
6
+ /**
7
+ * Defines if UVs are optimized by default during load.
8
+ */
9
+ optimizeWithUV: boolean;
10
+ /**
11
+ * Defines custom scaling of UV coordinates of loaded meshes.
12
+ */
13
+ UVScaling: Vector2;
14
+ /**
15
+ * Invert model on y-axis (does a model scaling inversion)
16
+ */
17
+ invertY: boolean;
18
+ /**
19
+ * Invert Y-Axis of referenced textures on load
20
+ */
21
+ invertTextureY: boolean;
22
+ /**
23
+ * Include in meshes the vertex colors available in some OBJ files. This is not part of OBJ standard.
24
+ */
25
+ importVertexColors: boolean;
26
+ /**
27
+ * Compute the normals for the model, even if normals are present in the file.
28
+ */
29
+ computeNormals: boolean;
30
+ /**
31
+ * Optimize the normals for the model. Lighting can be uneven if you use OptimizeWithUV = true because new vertices can be created for the same location if they pertain to different faces.
32
+ * Using OptimizehNormals = true will help smoothing the lighting by averaging the normals of those vertices.
33
+ */
34
+ optimizeNormals: boolean;
35
+ /**
36
+ * Skip loading the materials even if defined in the OBJ file (materials are ignored).
37
+ */
38
+ skipMaterials: boolean;
39
+ /**
40
+ * When a material fails to load OBJ loader will silently fail and onSuccess() callback will be triggered.
41
+ */
42
+ materialLoadingFailsSilently: boolean;
43
+ };
@@ -1,2 +1,2 @@
1
- export {};
1
+ export {};
2
2
  //# sourceMappingURL=objLoadingOptions.js.map
@@ -1,154 +1,154 @@
1
- import { AssetContainer } from "@babylonjs/core/assetContainer.js";
2
- import { Mesh } from "@babylonjs/core/Meshes/mesh.js";
3
- import { Scene } from "@babylonjs/core/scene.js";
4
- import { Nullable } from "@babylonjs/core/types.js";
5
- import { OBJLoadingOptions } from "./objLoadingOptions";
6
- /**
7
- * Class used to load mesh data from OBJ content
8
- */
9
- export declare class SolidParser {
10
- /** Object descriptor */
11
- static ObjectDescriptor: RegExp;
12
- /** Group descriptor */
13
- static GroupDescriptor: RegExp;
14
- /** Material lib descriptor */
15
- static MtlLibGroupDescriptor: RegExp;
16
- /** Use a material descriptor */
17
- static UseMtlDescriptor: RegExp;
18
- /** Smooth descriptor */
19
- static SmoothDescriptor: RegExp;
20
- /** Pattern used to detect a vertex */
21
- static VertexPattern: RegExp;
22
- /** Pattern used to detect a normal */
23
- static NormalPattern: RegExp;
24
- /** Pattern used to detect a UV set */
25
- static UVPattern: RegExp;
26
- /** Pattern used to detect a first kind of face (f vertex vertex vertex) */
27
- static FacePattern1: RegExp;
28
- /** Pattern used to detect a second kind of face (f vertex/uvs vertex/uvs vertex/uvs) */
29
- static FacePattern2: RegExp;
30
- /** Pattern used to detect a third kind of face (f vertex/uvs/normal vertex/uvs/normal vertex/uvs/normal) */
31
- static FacePattern3: RegExp;
32
- /** Pattern used to detect a fourth kind of face (f vertex//normal vertex//normal vertex//normal)*/
33
- static FacePattern4: RegExp;
34
- /** Pattern used to detect a fifth kind of face (f -vertex/-uvs/-normal -vertex/-uvs/-normal -vertex/-uvs/-normal) */
35
- static FacePattern5: RegExp;
36
- private _loadingOptions;
37
- private _positions;
38
- private _normals;
39
- private _uvs;
40
- private _colors;
41
- private _meshesFromObj;
42
- private _handledMesh;
43
- private _indicesForBabylon;
44
- private _wrappedPositionForBabylon;
45
- private _wrappedUvsForBabylon;
46
- private _wrappedColorsForBabylon;
47
- private _wrappedNormalsForBabylon;
48
- private _tuplePosNorm;
49
- private _curPositionInIndices;
50
- private _hasMeshes;
51
- private _unwrappedPositionsForBabylon;
52
- private _unwrappedColorsForBabylon;
53
- private _unwrappedNormalsForBabylon;
54
- private _unwrappedUVForBabylon;
55
- private _triangles;
56
- private _materialNameFromObj;
57
- private _objMeshName;
58
- private _increment;
59
- private _isFirstMaterial;
60
- private _grayColor;
61
- private _materialToUse;
62
- private _babylonMeshesArray;
63
- /**
64
- * Creates a new SolidParser
65
- * @param materialToUse defines the array to fill with the list of materials to use (it will be filled by the parse function)
66
- * @param babylonMeshesArray defines the array to fill with the list of loaded meshes (it will be filled by the parse function)
67
- * @param loadingOptions defines the loading options to use
68
- */
69
- constructor(materialToUse: string[], babylonMeshesArray: Array<Mesh>, loadingOptions: OBJLoadingOptions);
70
- /**
71
- * Search for obj in the given array.
72
- * This function is called to check if a couple of data already exists in an array.
73
- *
74
- * If found, returns the index of the founded tuple index. Returns -1 if not found
75
- * @param arr Array<{ normals: Array<number>, idx: Array<number> }>
76
- * @param obj Array<number>
77
- * @returns {boolean}
78
- */
79
- private _isInArray;
80
- private _isInArrayUV;
81
- /**
82
- * This function set the data for each triangle.
83
- * Data are position, normals and uvs
84
- * If a tuple of (position, normal) is not set, add the data into the corresponding array
85
- * If the tuple already exist, add only their indice
86
- *
87
- * @param indicePositionFromObj Integer The index in positions array
88
- * @param indiceUvsFromObj Integer The index in uvs array
89
- * @param indiceNormalFromObj Integer The index in normals array
90
- * @param positionVectorFromOBJ Vector3 The value of position at index objIndice
91
- * @param textureVectorFromOBJ Vector3 The value of uvs
92
- * @param normalsVectorFromOBJ Vector3 The value of normals at index objNormale
93
- * @param positionColorsFromOBJ
94
- */
95
- private _setData;
96
- /**
97
- * Transform Vector() and BABYLON.Color() objects into numbers in an array
98
- */
99
- private _unwrapData;
100
- /**
101
- * Create triangles from polygons
102
- * It is important to notice that a triangle is a polygon
103
- * We get 5 patterns of face defined in OBJ File :
104
- * facePattern1 = ["1","2","3","4","5","6"]
105
- * facePattern2 = ["1/1","2/2","3/3","4/4","5/5","6/6"]
106
- * facePattern3 = ["1/1/1","2/2/2","3/3/3","4/4/4","5/5/5","6/6/6"]
107
- * facePattern4 = ["1//1","2//2","3//3","4//4","5//5","6//6"]
108
- * facePattern5 = ["-1/-1/-1","-2/-2/-2","-3/-3/-3","-4/-4/-4","-5/-5/-5","-6/-6/-6"]
109
- * Each pattern is divided by the same method
110
- * @param faces Array[String] The indices of elements
111
- * @param v Integer The variable to increment
112
- */
113
- private _getTriangles;
114
- /**
115
- * Create triangles and push the data for each polygon for the pattern 1
116
- * In this pattern we get vertice positions
117
- * @param face
118
- * @param v
119
- */
120
- private _setDataForCurrentFaceWithPattern1;
121
- /**
122
- * Create triangles and push the data for each polygon for the pattern 2
123
- * In this pattern we get vertice positions and uvsu
124
- * @param face
125
- * @param v
126
- */
127
- private _setDataForCurrentFaceWithPattern2;
128
- /**
129
- * Create triangles and push the data for each polygon for the pattern 3
130
- * In this pattern we get vertice positions, uvs and normals
131
- * @param face
132
- * @param v
133
- */
134
- private _setDataForCurrentFaceWithPattern3;
135
- /**
136
- * Create triangles and push the data for each polygon for the pattern 4
137
- * In this pattern we get vertice positions and normals
138
- * @param face
139
- * @param v
140
- */
141
- private _setDataForCurrentFaceWithPattern4;
142
- private _setDataForCurrentFaceWithPattern5;
143
- private _addPreviousObjMesh;
144
- private _optimizeNormals;
145
- /**
146
- * Function used to parse an OBJ string
147
- * @param meshesNames defines the list of meshes to load (all if not defined)
148
- * @param data defines the OBJ string
149
- * @param scene defines the hosting scene
150
- * @param assetContainer defines the asset container to load data in
151
- * @param onFileToLoadFound defines a callback that will be called if a MTL file is found
152
- */
153
- parse(meshesNames: any, data: string, scene: Scene, assetContainer: Nullable<AssetContainer>, onFileToLoadFound: (fileToLoad: string) => void): void;
154
- }
1
+ import { AssetContainer } from "@babylonjs/core/assetContainer.js";
2
+ import { Mesh } from "@babylonjs/core/Meshes/mesh.js";
3
+ import { Scene } from "@babylonjs/core/scene.js";
4
+ import { Nullable } from "@babylonjs/core/types.js";
5
+ import { OBJLoadingOptions } from "./objLoadingOptions";
6
+ /**
7
+ * Class used to load mesh data from OBJ content
8
+ */
9
+ export declare class SolidParser {
10
+ /** Object descriptor */
11
+ static ObjectDescriptor: RegExp;
12
+ /** Group descriptor */
13
+ static GroupDescriptor: RegExp;
14
+ /** Material lib descriptor */
15
+ static MtlLibGroupDescriptor: RegExp;
16
+ /** Use a material descriptor */
17
+ static UseMtlDescriptor: RegExp;
18
+ /** Smooth descriptor */
19
+ static SmoothDescriptor: RegExp;
20
+ /** Pattern used to detect a vertex */
21
+ static VertexPattern: RegExp;
22
+ /** Pattern used to detect a normal */
23
+ static NormalPattern: RegExp;
24
+ /** Pattern used to detect a UV set */
25
+ static UVPattern: RegExp;
26
+ /** Pattern used to detect a first kind of face (f vertex vertex vertex) */
27
+ static FacePattern1: RegExp;
28
+ /** Pattern used to detect a second kind of face (f vertex/uvs vertex/uvs vertex/uvs) */
29
+ static FacePattern2: RegExp;
30
+ /** Pattern used to detect a third kind of face (f vertex/uvs/normal vertex/uvs/normal vertex/uvs/normal) */
31
+ static FacePattern3: RegExp;
32
+ /** Pattern used to detect a fourth kind of face (f vertex//normal vertex//normal vertex//normal)*/
33
+ static FacePattern4: RegExp;
34
+ /** Pattern used to detect a fifth kind of face (f -vertex/-uvs/-normal -vertex/-uvs/-normal -vertex/-uvs/-normal) */
35
+ static FacePattern5: RegExp;
36
+ private _loadingOptions;
37
+ private _positions;
38
+ private _normals;
39
+ private _uvs;
40
+ private _colors;
41
+ private _meshesFromObj;
42
+ private _handledMesh;
43
+ private _indicesForBabylon;
44
+ private _wrappedPositionForBabylon;
45
+ private _wrappedUvsForBabylon;
46
+ private _wrappedColorsForBabylon;
47
+ private _wrappedNormalsForBabylon;
48
+ private _tuplePosNorm;
49
+ private _curPositionInIndices;
50
+ private _hasMeshes;
51
+ private _unwrappedPositionsForBabylon;
52
+ private _unwrappedColorsForBabylon;
53
+ private _unwrappedNormalsForBabylon;
54
+ private _unwrappedUVForBabylon;
55
+ private _triangles;
56
+ private _materialNameFromObj;
57
+ private _objMeshName;
58
+ private _increment;
59
+ private _isFirstMaterial;
60
+ private _grayColor;
61
+ private _materialToUse;
62
+ private _babylonMeshesArray;
63
+ /**
64
+ * Creates a new SolidParser
65
+ * @param materialToUse defines the array to fill with the list of materials to use (it will be filled by the parse function)
66
+ * @param babylonMeshesArray defines the array to fill with the list of loaded meshes (it will be filled by the parse function)
67
+ * @param loadingOptions defines the loading options to use
68
+ */
69
+ constructor(materialToUse: string[], babylonMeshesArray: Array<Mesh>, loadingOptions: OBJLoadingOptions);
70
+ /**
71
+ * Search for obj in the given array.
72
+ * This function is called to check if a couple of data already exists in an array.
73
+ *
74
+ * If found, returns the index of the founded tuple index. Returns -1 if not found
75
+ * @param arr Array<{ normals: Array<number>, idx: Array<number> }>
76
+ * @param obj Array<number>
77
+ * @returns {boolean}
78
+ */
79
+ private _isInArray;
80
+ private _isInArrayUV;
81
+ /**
82
+ * This function set the data for each triangle.
83
+ * Data are position, normals and uvs
84
+ * If a tuple of (position, normal) is not set, add the data into the corresponding array
85
+ * If the tuple already exist, add only their indice
86
+ *
87
+ * @param indicePositionFromObj Integer The index in positions array
88
+ * @param indiceUvsFromObj Integer The index in uvs array
89
+ * @param indiceNormalFromObj Integer The index in normals array
90
+ * @param positionVectorFromOBJ Vector3 The value of position at index objIndice
91
+ * @param textureVectorFromOBJ Vector3 The value of uvs
92
+ * @param normalsVectorFromOBJ Vector3 The value of normals at index objNormale
93
+ * @param positionColorsFromOBJ
94
+ */
95
+ private _setData;
96
+ /**
97
+ * Transform Vector() and BABYLON.Color() objects into numbers in an array
98
+ */
99
+ private _unwrapData;
100
+ /**
101
+ * Create triangles from polygons
102
+ * It is important to notice that a triangle is a polygon
103
+ * We get 5 patterns of face defined in OBJ File :
104
+ * facePattern1 = ["1","2","3","4","5","6"]
105
+ * facePattern2 = ["1/1","2/2","3/3","4/4","5/5","6/6"]
106
+ * facePattern3 = ["1/1/1","2/2/2","3/3/3","4/4/4","5/5/5","6/6/6"]
107
+ * facePattern4 = ["1//1","2//2","3//3","4//4","5//5","6//6"]
108
+ * facePattern5 = ["-1/-1/-1","-2/-2/-2","-3/-3/-3","-4/-4/-4","-5/-5/-5","-6/-6/-6"]
109
+ * Each pattern is divided by the same method
110
+ * @param faces Array[String] The indices of elements
111
+ * @param v Integer The variable to increment
112
+ */
113
+ private _getTriangles;
114
+ /**
115
+ * Create triangles and push the data for each polygon for the pattern 1
116
+ * In this pattern we get vertice positions
117
+ * @param face
118
+ * @param v
119
+ */
120
+ private _setDataForCurrentFaceWithPattern1;
121
+ /**
122
+ * Create triangles and push the data for each polygon for the pattern 2
123
+ * In this pattern we get vertice positions and uvsu
124
+ * @param face
125
+ * @param v
126
+ */
127
+ private _setDataForCurrentFaceWithPattern2;
128
+ /**
129
+ * Create triangles and push the data for each polygon for the pattern 3
130
+ * In this pattern we get vertice positions, uvs and normals
131
+ * @param face
132
+ * @param v
133
+ */
134
+ private _setDataForCurrentFaceWithPattern3;
135
+ /**
136
+ * Create triangles and push the data for each polygon for the pattern 4
137
+ * In this pattern we get vertice positions and normals
138
+ * @param face
139
+ * @param v
140
+ */
141
+ private _setDataForCurrentFaceWithPattern4;
142
+ private _setDataForCurrentFaceWithPattern5;
143
+ private _addPreviousObjMesh;
144
+ private _optimizeNormals;
145
+ /**
146
+ * Function used to parse an OBJ string
147
+ * @param meshesNames defines the list of meshes to load (all if not defined)
148
+ * @param data defines the OBJ string
149
+ * @param scene defines the hosting scene
150
+ * @param assetContainer defines the asset container to load data in
151
+ * @param onFileToLoadFound defines a callback that will be called if a MTL file is found
152
+ */
153
+ parse(meshesNames: any, data: string, scene: Scene, assetContainer: Nullable<AssetContainer>, onFileToLoadFound: (fileToLoad: string) => void): void;
154
+ }