33Open Asset Import Library (assimp)
44---------------------------------------------------------------------------
55
6- Copyright (c) 2006-2020, assimp team
7-
6+ Copyright (c) 2006-2024, assimp team
87
98All rights reserved.
109
@@ -60,7 +59,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
6059#ifndef AI_CONFIG_H_INC
6160#define AI_CONFIG_H_INC
6261
63-
6462// ###########################################################################
6563// LIBRARY SETTINGS
6664// General, global settings
@@ -79,7 +77,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
7977#define AI_CONFIG_GLOB_MEASURE_TIME \
8078 "GLOB_MEASURE_TIME"
8179
82-
8380// ---------------------------------------------------------------------------
8481/** @brief Global setting to disable generation of skeleton dummy meshes
8582 *
@@ -91,34 +88,11 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
9188#define AI_CONFIG_IMPORT_NO_SKELETON_MESHES \
9289 "IMPORT_NO_SKELETON_MESHES"
9390
94-
95-
96- # if 0 // not implemented yet
97- // ---------------------------------------------------------------------------
98- /** @brief Set Assimp's multithreading policy.
99- *
100- * This setting is ignored if Assimp was built without boost.thread
101- * support (ASSIMP_BUILD_NO_THREADING, which is implied by ASSIMP_BUILD_BOOST_WORKAROUND).
102- * Possible values are: -1 to let Assimp decide what to do, 0 to disable
103- * multithreading entirely and any number larger than 0 to force a specific
104- * number of threads. Assimp is always free to ignore this settings, which is
105- * merely a hint. Usually, the default value (-1) will be fine. However, if
106- * Assimp is used concurrently from multiple user threads, it might be useful
107- * to limit each Importer instance to a specific number of cores.
108- *
109- * For more information, see the @link threading Threading page@endlink.
110- * Property type: int, default value: -1.
111- */
112- #define AI_CONFIG_GLOB_MULTITHREADING \
113- "GLOB_MULTITHREADING"
114- #endif
115-
11691// ###########################################################################
11792// POST PROCESSING SETTINGS
11893// Various stuff to fine-tune the behavior of a specific post processing step.
11994// ###########################################################################
12095
121-
12296// ---------------------------------------------------------------------------
12397/** @brief Maximum bone count per mesh for the SplitbyBoneCount step.
12498 *
@@ -131,13 +105,11 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
131105#define AI_CONFIG_PP_SBBC_MAX_BONES \
132106 "PP_SBBC_MAX_BONES"
133107
134-
135108// default limit for bone count
136109#if (!defined AI_SBBC_DEFAULT_MAX_BONES )
137110# define AI_SBBC_DEFAULT_MAX_BONES 60
138111#endif
139112
140-
141113// ---------------------------------------------------------------------------
142114/** @brief Specifies the maximum angle that may be between two vertex tangents
143115 * that their tangents and bi-tangents are smoothed.
@@ -174,7 +146,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
174146#define AI_CONFIG_PP_GSN_MAX_SMOOTHING_ANGLE \
175147 "PP_GSN_MAX_SMOOTHING_ANGLE"
176148
177-
178149// ---------------------------------------------------------------------------
179150/** @brief Sets the colormap (= palette) to be used to decode embedded
180151 * textures in MDL (Quake or 3DGS) files.
@@ -254,6 +225,21 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
254225#define AI_CONFIG_PP_PTV_ROOT_TRANSFORMATION \
255226 "PP_PTV_ROOT_TRANSFORMATION"
256227
228+ // ---------------------------------------------------------------------------
229+ /** @brief Set epsilon to check the identity of the matrix 4x4.
230+ *
231+ * This is used by aiMatrix4x4t<TReal>::IsIdentity(const TReal epsilon).
232+ * @note The default value is 10e-3f for backward compatibility of legacy code.
233+ * Property type: Float.
234+ */
235+ #define AI_CONFIG_CHECK_IDENTITY_MATRIX_EPSILON \
236+ "CHECK_IDENTITY_MATRIX_EPSILON"
237+
238+ // default value for AI_CONFIG_CHECK_IDENTITY_MATRIX_EPSILON
239+ #if (!defined AI_CONFIG_CHECK_IDENTITY_MATRIX_EPSILON_DEFAULT )
240+ # define AI_CONFIG_CHECK_IDENTITY_MATRIX_EPSILON_DEFAULT 10e-3f
241+ #endif
242+
257243// ---------------------------------------------------------------------------
258244/** @brief Configures the #aiProcess_FindDegenerates step to
259245 * remove degenerated primitives from the import - immediately.
@@ -270,7 +256,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
270256// ---------------------------------------------------------------------------
271257/**
272258 * @brief Configures the #aiProcess_FindDegenerates to check the area of a
273- * trinagle to be greates than e-6. If this is not the case the triangle will
259+ * triangle to be greater than e-6. If this is not the case the triangle will
274260 * be removed if #AI_CONFIG_PP_FD_REMOVE is set to true.
275261 */
276262#define AI_CONFIG_PP_FD_CHECKAREA \
@@ -541,7 +527,6 @@ enum aiComponent
541527#define AI_CONFIG_FAVOUR_SPEED \
542528 "FAVOUR_SPEED"
543529
544-
545530// ###########################################################################
546531// IMPORTER SETTINGS
547532// Various stuff to fine-tune the behaviour of specific importer plugins.
@@ -691,6 +676,15 @@ enum aiComponent
691676#define AI_CONFIG_FBX_CONVERT_TO_M \
692677 "AI_CONFIG_FBX_CONVERT_TO_M"
693678
679+ // ---------------------------------------------------------------------------
680+ /** @brief Will enable the skeleton struct to store bone data.
681+ *
682+ * This will decouple the bone coupling to the mesh. This feature is
683+ * experimental.
684+ */
685+ #define AI_CONFIG_FBX_USE_SKELETON_BONE_CONTAINER \
686+ "AI_CONFIG_FBX_USE_SKELETON_BONE_CONTAINER"
687+
694688// ---------------------------------------------------------------------------
695689/** @brief Set the vertex animation keyframe to be imported
696690 *
@@ -1056,6 +1050,15 @@ enum aiComponent
10561050 */
10571051#define AI_CONFIG_IMPORT_COLLADA_IGNORE_UP_DIRECTION "IMPORT_COLLADA_IGNORE_UP_DIRECTION"
10581052
1053+ // ---------------------------------------------------------------------------
1054+ /** @brief Specifies whether the Collada loader will ignore the provided unit size.
1055+ *
1056+ * If this property is set to true, the unit size provided in the file header will
1057+ * be ignored and the file will be loaded without scaling the assets.
1058+ * Property type: Bool. Default value: false.
1059+ */
1060+ #define AI_CONFIG_IMPORT_COLLADA_IGNORE_UNIT_SIZE "IMPORT_COLLADA_IGNORE_UNIT_SIZE"
1061+
10591062// ---------------------------------------------------------------------------
10601063/** @brief Specifies whether the Collada loader should use Collada names.
10611064 *
@@ -1081,9 +1084,45 @@ enum aiComponent
10811084 * Point clouds are only a collection of vertices which have nor spatial organization
10821085 * by a face and the validation process will remove them. Enabling this feature will
10831086 * switch off the flag and enable the functionality to export pure point clouds.
1087+ *
1088+ * Property type: Bool. Default value: false.
10841089 */
10851090#define AI_CONFIG_EXPORT_POINT_CLOUDS "EXPORT_POINT_CLOUDS"
10861091
1092+ /** @brief Specifies whether to use the deprecated KHR_materials_pbrSpecularGlossiness extension
1093+ *
1094+ * When this flag is undefined any material with specularity will use the new KHR_materials_specular
1095+ * extension. Enabling this flag will revert to the deprecated extension. Note that exporting
1096+ * KHR_materials_pbrSpecularGlossiness with extensions other than KHR_materials_unlit is unsupported,
1097+ * including the basic pbrMetallicRoughness spec.
1098+ *
1099+ * Property type: Bool. Default value: false.
1100+ */
1101+ #define AI_CONFIG_USE_GLTF_PBR_SPECULAR_GLOSSINESS "USE_GLTF_PBR_SPECULAR_GLOSSINESS"
1102+
1103+ /** @brief Specifies whether to apply a limit on the number of four bones per vertex in skinning
1104+ *
1105+ * When this flag is not defined, all bone weights and indices are limited to a
1106+ * maximum of four bones for each vertex (attributes JOINT_0 and WEIGHT_0 only).
1107+ * By enabling this flag, the number of bones per vertex is unlimited.
1108+ * In both cases, indices and bone weights are sorted by weight in descending order.
1109+ * In the case of the limit of up to four bones, a maximum of the four largest values are exported.
1110+ * Weights are not normalized.
1111+ * Property type: Bool. Default value: false.
1112+ */
1113+ #define AI_CONFIG_EXPORT_GLTF_UNLIMITED_SKINNING_BONES_PER_VERTEX \
1114+ "USE_UNLIMITED_BONES_PER VERTEX"
1115+
1116+ /** @brief Specifies whether to write the value referenced to opacity in TransparencyFactor of each material.
1117+ *
1118+ * When this flag is not defined, the TransparencyFactor value of each meterial is 1.0.
1119+ * By enabling this flag, the value is 1.0 - opacity;
1120+
1121+ * Property type: Bool. Default value: false.
1122+ */
1123+ #define AI_CONFIG_EXPORT_FBX_TRANSPARENCY_FACTOR_REFER_TO_OPACITY \
1124+ "EXPORT_FBX_TRANSPARENCY_FACTOR_REFER_TO_OPACITY"
1125+
10871126/**
10881127 * @brief Specifies the blob name, assimp uses for exporting.
10891128 *
@@ -1102,7 +1141,7 @@ enum aiComponent
11021141#define AI_CONFIG_EXPORT_BLOB_NAME "EXPORT_BLOB_NAME"
11031142
11041143/**
1105- * @brief Specifies a gobal key factor for scale, float value
1144+ * @brief Specifies a global key factor for scale, float value
11061145 */
11071146#define AI_CONFIG_GLOBAL_SCALE_FACTOR_KEY "GLOBAL_SCALE_FACTOR"
11081147
@@ -1124,6 +1163,6 @@ enum aiComponent
11241163 * Property type: Bool. Default value: undefined.
11251164 */
11261165
1127- #define ASSIMP_DOUBLE_PRECISION 1
1166+ /* #undef ASSIMP_DOUBLE_PRECISION */
11281167
1129- #endif // !! AI_CONFIG_H_INC
1168+ #endif // !! AI_CONFIG_H_INC
0 commit comments