Ai |
The AiConfigs type exposes the following members.
| Name | Description | |
|---|---|---|
| AI_CONFIG_APP_SCALE_KEY |
Applies application-specific scale to the global scale factor to allow for backwards compatibility.
Type: Float. Default: 1.0f. | |
| AI_CONFIG_EXPORT_POINT_CLOUDS |
Specifies whether the export should be able to export point clouds. When this flag is not defined
the render data has to contain valid faces. Point clouds are only a collection of vertices which have no spatial
organization by a face and the validation process will remove them. Enabling this feature will switch off the
flag and enable the functionality to export pure point clouds.
Type: Bool. Default: false. | |
| AI_CONFIG_EXPORT_XFILE_64BIT |
Specifies if the X-file exporter should use 64-bit doubles rather than 32-bit floats.
Type: Bool. Default: false. | |
| AI_CONFIG_FAVOUR_SPEED |
A hint to Assimp to favour speed against import quality. Enabling this option
may result in faster loading, or it may not. It is just a hint to loaders and post-processing
steps to use faster code paths if possible. A value not equal to zero stands
for true.
Type: integer. Default: 0 | |
| AI_CONFIG_FBX_CONVERT_TO_M |
Specifies whether the importer shall convert the unit from centimeter (cm) to meter (m).
Type: Bool. Default: false. | |
| AI_CONFIG_GLOB_MEASURE_TIME |
Enables time measurements. If enabled the time needed for each
part of the loading process is timed and logged.
Type: bool. Default: false | |
| AI_CONFIG_GLOB_MULTITHREADING |
Sets Assimp's multithreading policy. This is ignored if Assimp is
built without boost.thread support. Possible values are: -1 to
let Assimp decide, 0 to disable multithreading, and nay number larger than 0
to force a specific number of threads. This is only a hint and may be
ignored by Assimp.
Type: integer. Default: -1 | |
| AI_CONFIG_GLOBAL_SCALE_FACTOR_KEY |
Configures the GlobalScale step to scale the entire scene by a certain amount. Some importers provide a mechanism to define a scaling unit for the model,
which this processing step can utilize.
Type: Float. Default: 1.0f. | |
| AI_CONFIG_IMPORT_AC_EVAL_SUBDIVISION |
Configures whether the AC loader evaluates subdivision surfaces (indicated by the presence
of the 'subdiv' attribute in the file). By default, Assimp performs
the subdivision using the standard Catmull-Clark algorithm.
Type: bool. Default: true | |
| AI_CONFIG_IMPORT_AC_SEPARATE_BFCULL |
Configures the AC loader to collect all surfaces which have the "Backface cull" flag set in separate
meshes.
Type: bool. Default: true | |
| AI_CONFIG_IMPORT_ASE_RECONSTRUCT_NORMALS |
Configures the ASE loader to always reconstruct normal vectors basing on the smoothing groups
loaded from the file. Some ASE files carry invalid normals, others don't.
Type: bool. Default: true | |
| AI_CONFIG_IMPORT_COLLADA_IGNORE_UP_DIRECTION |
Specifies whether the collada loader will ignore the up direction.
Type: Bool. Default: false | |
| AI_CONFIG_IMPORT_COLLADA_USE_COLLADA_NAMES |
Specifies whether the Collada loader should use Collada names as node names.
If this property is set to true, the Collada names will be used as the
node name. The default is to use the id tag (resp. sid tag, if no id tag is present) instead.
Type: Bool. Default: false. | |
| AI_CONFIG_IMPORT_FBX_EMBEDDED_TEXTURES_LEGACY_NAMING |
Specifies whether the fbx importer will use the legacy embedded texture naming.
Type: Bool. Default: false. | |
| AI_CONFIG_IMPORT_FBX_IGNORE_UP_DIRECTION |
Specifies whether the importer should ignore the embedded axis directions in the FBX file and load it as is.
Type: Bool. Default: false. Prior to Assimp v6.x.x the behavior was equivalent to the property being set to true. | |
| AI_CONFIG_IMPORT_FBX_OPTIMIZE_EMPTY_ANIMATION_CURVES |
Specifies whether the importer will drop empty animation curves or animation curves which match the bind pose
transformation over their entire defined range.
Type: Bool. Default: true. | |
| AI_CONFIG_IMPORT_FBX_PRESERVE_PIVOTS |
Specifies whether the FBX importer will preserve pivot points for transformations (as extra nodes). If set to false, pivots
and offsets will be evaluated whenever possible.
Type: Bool. Default: true. | |
| AI_CONFIG_IMPORT_FBX_READ_ALL_GEOMETRY_LAYERS |
Specifies whether the FBX importer will merge all geometry layers present in the source file or take only the first.
Type: bool. Default: true. | |
| AI_CONFIG_IMPORT_FBX_READ_ALL_MATERIALS |
Specifies whether the FBX importer will read all materials present in the source file or take only the referenced materials, if the importer
will read materials, otherwise this has no effect.
Type: Bool. Default: false. | |
| AI_CONFIG_IMPORT_FBX_READ_ANIMATIONS |
Specifies whether the FBX importer will read animations.
Type: Bool. default: true. | |
| AI_CONFIG_IMPORT_FBX_READ_CAMERAS |
Specifies whether the FBX importer will read cameras.
Type: Bool. Default: true. | |
| AI_CONFIG_IMPORT_FBX_READ_LIGHTS |
Specifies whether the FBX importer will read light sources.
Type: Bool. Default: true. | |
| AI_CONFIG_IMPORT_FBX_READ_MATERIALS |
Specifies whether the FBX importer will read materials.
Type: Bool. Default: true. | |
| AI_CONFIG_IMPORT_FBX_READ_TEXTURES |
Specifies whether the FBX importer will read embedded textures.
Type: Bool. Default: true. | |
| AI_CONFIG_IMPORT_FBX_STRICT_MODE |
Specifies whether the FBX importer will act in strict mode in which only the FBX 2013
format is supported and any other sub formats are rejected. FBX 2013 is the primary target for the importer, so this
format is best supported and well-tested.
Type: Bool. Default: false. | |
| AI_CONFIG_IMPORT_GLOBAL_KEYFRAME |
Sets the vertex animation keyframe to be imported. Assimp does not support
vertex keyframes (only bone animation is supported). The libary reads only one frame of models
with vertex animations. By default this is the first frame.
The default value is 0. This option applies to all importers. However, it is also possible to override the global setting for a specific loader. You can use the AI_CONFIG_IMPORT_XXX_KEYFRAME options where XXX is a placeholder for the file format which you want to override the global setting. Type: integer. Default: 0 | |
| AI_CONFIG_IMPORT_IFC_CUSTOM_TRIANGULATION |
Specifies whether the IFC loader will use its own, custom triangulation algorithm to triangulate wall and floor meshes. If this is set to false,
walls will be either triangulated by the post process triangulation or will be passed through as huge polygons with faked holes (e.g. holes that are connected
with the outer boundary using a dummy edge). It is highly recommended to leave this property set to true as the default post process has some known
issues with these kind of polygons.
Type: Bool. Default: true. | |
| AI_CONFIG_IMPORT_IFC_CYLINDRICAL_TESSELLATION |
Specifies the tessellation for IFC cylindrical shapes. E.g. the number of segments used to approximate a circle. Accepted range of values is between [3, 180].
Type: Integer. Default: 32 | |
| AI_CONFIG_IMPORT_IFC_SKIP_SPACE_REPRESENTATIONS |
Specifies whether the IFC loader skips over IfcSpace elements. IfcSpace elements (and their geometric representations) are used to represent free space in a building story.
Type: Bool. Default: true. | |
| AI_CONFIG_IMPORT_IFC_SMOOTHING_ANGLE |
Specifies the tessellation conic angle for IFC smoothing curves. Accepted range of values is between [5, 120]
Type: Float. Default: 10.0f | |
| AI_CONFIG_IMPORT_IRR_ANIM_FPS |
Defines the output frame rate of the IRR loader.
IRR animations are difficult to convert for Assimp and there will always be a loss of quality. This setting defines how many keys per second are returned by the converter. Type: integer. Default: 100 | |
| AI_CONFIG_IMPORT_LWO_ONE_LAYER_ONLY |
Configures the LWO loader to load just one layer from the model.
LWO files consist of layers and in some cases it could be useful to load only one of them. This property can be either a string - which specifies the name of the layer - or an integer - the index of the layer. If the property is not set then the whole LWO model is loaded. Loading fails if the requested layer is not vailable. The layer index is zero-based and the layer name may not be empty Type: bool. Default: false (All layers are loaded) | |
| AI_CONFIG_IMPORT_LWS_ANIM_END |
Defines the ending of the time range for which the LWS loader evaluates animations and computes
AiNodeAnim's.
Assimp provides full conversion of Lightwave's envelope system, including pre and post conditions. The loader computes linearly subsampled animation channels with the frame rate given in the LWS file. This property defines the end time. Animation channels are only generated if a node has at least one envelope with more than one key assigned. This property is given in frames where '0' is the first. By default, if this property is not set, the importer takes the animation end from the input LWS file. Type: integer. Default: taken from file | |
| AI_CONFIG_IMPORT_LWS_ANIM_START |
Defines the beginning of the time range for which the LWS loader evaluates animations and computes
AiNodeAnim's.
Assimp provides full conversion of Lightwave's envelope system, including pre and post conditions. The loader computes linearly subsampled animation channels with the frame rate given in the LWS file. This property defines the start time. Animation channels are only generated if a node has at least one envelope with more than one key assigned. This property is given in frames where '0' is the first. By default, if this property is not set, the importer takes the animation start from the input LWS file ('FirstFrame' line) Type: integer. Default: taken from file | |
| AI_CONFIG_IMPORT_MD2_KEYFRAME | See the documentation for AI_CONFIG_IMPORT_GLOBAL_KEYFRAME. | |
| AI_CONFIG_IMPORT_MD3_HANDLE_MULTIPART |
Configures the M3D loader to detect and process multi-part Quake player models. These models
usually consit of three files, lower.md3, upper.md3 and head.md3. If this propery is
set to true, Assimp will try to load and combine all three files if one of them is loaded.
Type: bool. Default: true | |
| AI_CONFIG_IMPORT_MD3_KEYFRAME | See the documentation for AI_CONFIG_IMPORT_GLOBAL_KEYFRAME. | |
| AI_CONFIG_IMPORT_MD3_SHADER_SRC |
Specifies the Quake 3 shader file to be used for a particular MD3 file. This can be a full path or
relative to where all MD3 shaders reside.
Type: string. Default: "" | |
| AI_CONFIG_IMPORT_MD3_SKIN_NAME |
Tells the MD3 loader which skin files to load. When loading MD3 files, Assimp checks
whether a file named "md3_file_name"_"skin_name".skin exists. These files are used by
Quake III to be able to assign different skins (e.g. red and blue team) to models. 'default', 'red', 'blue'
are typical skin names.
Type: string. Default: "default" | |
| AI_CONFIG_IMPORT_MD5_NO_ANIM_AUTOLOAD |
Configures the MD5 loader to not load the MD5ANIM file for a MD5MESH file automatically.
The default strategy is to look for a file with the same name but with the MD5ANIm extension in the same directory. If it is found it is loaded and combined with the MD5MESH file. This configuration option can be used to disable this behavior. Type: bool. Default: false | |
| AI_CONFIG_IMPORT_MDC_KEYFRAME | See the documentation for AI_CONFIG_IMPORT_GLOBAL_KEYFRAME. | |
| AI_CONFIG_IMPORT_MDL_COLORMAP |
Sets the colormap(= palette) to be used to decode embedded textures in MDL (Quake or 3DG5) files.
This must be a valid path to a file. The file is 768 (256 * 3) bytes large and contains
RGB triplets for each of the 256 palette entries. If the file is not found, a default
palette (from Quake 1) is used.
Type: string. Default: "colormap.lmp" | |
| AI_CONFIG_IMPORT_MDL_KEYFRAME | See the documentation for AI_CONFIG_IMPORT_GLOBAL_KEYFRAME. | |
| AI_CONFIG_IMPORT_NO_SKELETON_MESHES |
Global setting to disable generation of skeleton dummy meshes. These are generated as a visualization aid
in cases which the input data contains no geometry, but only animation data. So the geometry are visualizing
the bones.
Type: Bool. Default: false. | |
| AI_CONFIG_IMPORT_OGRE_MATERIAL_FILE |
The Ogre importer will try to load this MaterialFile. Ogre meshes reference with material names, this does not tell Assimp
where the file is located. Assimp will try to find the source file in the following order: [material-name].material, [mesh-filename-base].material,
and lastly the material name defined by this config property.
Type: string. Default: "Scene.Material" | |
| AI_CONFIG_IMPORT_OGRE_TEXTURETYPE_FROM_FILENAME |
The Ogre importer will detect the texture usage from the filename. Normally a texture is loaded as a color map, if no target is specified
in the material file. If this is enabled, then Assimp will try to detect the type from the texture filename postfix:
Type: Bool. Default: false. | |
| AI_CONFIG_IMPORT_REMOVE_EMPTY_BONES |
Specifies whether the importer removes empty bones or not. Empty bones are often used to define connections for other models (e.g.
attachment points).
Type: Bool. Default: true. | |
| AI_CONFIG_IMPORT_SMD_KEYFRAME | See the documentation for AI_CONFIG_IMPORT_GLOBAL_KEYFRAME. | |
| AI_CONFIG_IMPORT_SMD_LOAD_ANIMATION_LIST |
Specifies whether the importer will load multiple animations.
Type: Bool. Default: true. | |
| AI_CONFIG_IMPORT_TER_MAKE_UVS |
Configures the terragen import plugin to compute UV's for terrains, if
they are not given. Furthermore, a default texture is assigned.
UV coordinates for terrains are so simple to compute that you'll usually want to compute them on your own, if you need them. This option is intended for model viewers which want to offer an easy way to apply textures to terrains. Type: bool. Default: false | |
| AI_CONFIG_IMPORT_UNREAL_HANDLE_FLAGS |
Configures the UNREAL 3D loader to separate faces with different surface flags (e.g. two-sided vs single-sided).
Type: bool. Default: true | |
| AI_CONFIG_IMPORT_UNREAL_KEYFRAME | See the documentation for AI_CONFIG_IMPORT_GLOBAL_KEYFRAME. | |
| AI_CONFIG_PP_CT_MAX_SMOOTHING_ANGLE |
Specifies the maximum angle that may be between two vertex tangents that their tangents
and bitangents are smoothed during the step to calculate the tangent basis. The angle specified
is in degrees. The maximum value is 175 degrees.
Type: float. Default: 45 degrees | |
| AI_CONFIG_PP_CT_TEXTURE_CHANNEL_INDEX |
Source UV channel for tangent space computation. The specified channel must exist or an error will be raised.
Type: integer. Default: 0 | |
| AI_CONFIG_PP_DB_ALL_OR_NONE |
Require all bones to qualify for deboning before any are removed.
Type: bool. Default: false | |
| AI_CONFIG_PP_DB_THRESHOLD |
Threshold used to determine if a bone is kept or removed during the Debone step.
Type: float. Default: 1.0f | |
| AI_CONFIG_PP_FD_CHECKAREA |
Configures the FindDegenerates step
to check the area of a triangle to be greater than 1e-6. If this is not the case, the triangle will be removed if AI_CONFIG_PP_FD_REMOVE is set to true.
Type: bool. Default: false | |
| AI_CONFIG_PP_FD_REMOVE |
Configures the FindDegenerates step
to remove degenerated primitives from the import immediately.
The default behavior converts degenerated triangles to lines and degenerated lines to points. Type: bool. Default: false | |
| AI_CONFIG_PP_FID_ANIM_ACCURACY |
Input parameter to the FindInvalidData step.
It specifies the floating point accuracy for animation values, specifically the epislon
during the comparison. The step checks for animation tracks where all frame values are absolutely equal
and removes them. Two floats are considered equal if the invariant abs(n0-n1) > epislon holds
true for all vector/quaternion components.
Type: float. Default: 0.0f (comparisons are exact) | |
| AI_CONFIG_PP_FID_IGNORE_TEXTURECOORDS |
Input parameter to the FindInvalidData step. Set to true to
ignore texture coordinates. This may be useful if you have to assign different kinds of textures,
like seasonally variable ones - one for summer and one for winter.
Type: Bool. Default: false. | |
| AI_CONFIG_PP_GSN_MAX_SMOOTHING_ANGLE |
Specifies the maximum angle that may be between two face normals at the same vertex position that
their normals will be smoothed together during the calculate smooth normals step. This is commonly
called the "crease angle". The angle is specified in degrees. Maximum value is 175 degrees (all vertices
smoothed).
Type: float. Default: 175 degrees | |
| AI_CONFIG_PP_ICL_PTCACHE_SIZE |
Sets the size of the post-transform vertex cache to optimize vertices for. This is
for the ImproveCacheLocality step. The size
is given in vertices. Of course you can't know how the vertex format will exactly look
like after the import returns, but you can still guess what your meshes will
probably have. The default value *has* resulted in slight performance improvements
for most Nvidia/AMD cards since 2002.
Type: integer. Default: AiDefines.PP_ICL_PTCACHE_SIZE | |
| AI_CONFIG_PP_LBW_MAX_WEIGHTS |
Sets the maximum number of bones that can affect a single vertex. This is used
by the LimitBoneWeights step.
Type: integer. Default: AiDefines.AI_LBW_MAX_WEIGHTS | |
| AI_CONFIG_PP_OG_EXCLUDE_LIST |
Configures the OptimizeGraph step
to preserve nodes matching a name in a given list. This is a list of 1 to n strings, whitespace ' ' serves as a delimter character.
Identifiers containing whitespaces must be enclosed in *single* quotation marks. Carriage returns
and tabs are treated as white space.
If a node matches one of these names, it will not be modified or removed by the postprocessing step. Type: string. Default: "" | |
| AI_CONFIG_PP_PTV_ADD_ROOT_TRANSFORMATION |
Configures the PreTransformVertices step to use a user defined matrix as the scene root node
transformation before transforming vertices.
Type: bool. Default: false | |
| AI_CONFIG_PP_PTV_KEEP_HIERARCHY |
Configures the PreTransformVertices step
to keep the scene hierarchy. Meshes are moved to worldspace, but no optimization
is performed where meshes with the same materials are not joined.
This option could be of used if you have a scene hierarchy that contains important additional information which you intend to parse. Type: bool. Default: false | |
| AI_CONFIG_PP_PTV_NORMALIZE |
Configures the PreTransformVertices step
to normalize all vertex components into the -1...1 range. That is, a bounding
box for the whole scene is computed where the maximum component is taken
and all meshes are scaled uniformly. This is useful if you don't know the spatial dimension
of the input data.
Type: bool. Default: false | |
| AI_CONFIG_PP_PTV_ROOT_TRANSFORMATION |
Configures the PreTransformVertices step to use a user defined matrix as the scene root node transformation
before transforming vertices.
Type: Matrix4x4. Default: Identity Matrix | |
| AI_CONFIG_PP_RRM_EXCLUDE_LIST |
Configures the RemoveRedundantMaterials step to
keep materials matching a name in a given list. This is a list of
1 to n strings where whitespace ' ' serves as a delimiter character. Identifiers
containing whitespaces must be enclosed in *single* quotation marks. Tabs or
carriage returns are treated as whitespace.
If a material matches one of these names, it will not be modified or removed by the post processing step nor will other materials be replaced by a reference to it. Default: string. Default: "" | |
| AI_CONFIG_PP_RVC_FLAGS |
Input parameter to the RemoveComponent step.
It specifies the parts of the data structure to be removed.
This is a bitwise combination of the ExcludeComponent flag. If no valid mesh is remaining after the step is executed, the import FAILS. Type: integer. Default: 0 | |
| AI_CONFIG_PP_SBBC_MAX_BONES |
Maximum bone cone per mesh for the SplitByBoneCount step. Meshes
are split until the max number of bones is reached.
Type: integer. Default: 60 | |
| AI_CONFIG_PP_SBP_REMOVE |
Input parameter to the SortByPrimitiveType step.
It specifies which primitive types are to be removed by the step.
This is a bitwise combination of the PrimitiveType flag. Specifying ALL types is illegal. Type: integer. Default: 0 | |
| AI_CONFIG_PP_SLM_TRIANGLE_LIMIT |
Sets the maximum number of triangles a mesh can contain. This is used by the
SplitLargeMeshes step to determine
whether a mesh must be split or not.
Type: int. Default: AiDefines.AI_SLM_DEFAULT_MAX_TRIANGLES | |
| AI_CONFIG_PP_SLM_VERTEX_LIMIT |
Sets the maximum number of vertices in a mesh. This is used by the
SplitLargeMeshes step to determine
whether a mesh must be split or not.
Type: integer. Default: AiDefines.AI_SLM_DEFAULT_MAX_VERTICES | |
| AI_CONFIG_PP_TUV_EVALUATE |
Input parameter to the TransformUVCoords step.
It specifies which UV transformations are to be evaluated.
This is bitwise combination of the UVTransformFlags flag. Type: integer. Default: AiDefines.AI_UV_TRAFO_ALL (All combinations) |