# entity_rigger.h ## Overview
Used to "rig" an entity from a DCC asset.
## Index
`struct tm_entity_rigger_api`

## API
### `struct tm_entity_rigger_api`
API for "rigging" an entity from a DCC Asset. This creates an entity with suitable components to represent the DCC Asset. #### `parse_scene_tree()` ~~~c struct tm_scene_tree_node_t *(*parse_scene_tree)(const struct tm_the_truth_o *tt, const tm_tt_id_t dcc_asset, struct tm_temp_allocator_i *ta, char **names); ~~~ Parses the scene tree out of the DCC asset into a `carray.inl` of scene tree nodes that can be used by the `scene_tree_component.h`. If `names` is non-zero, it will be used to return a `char` `carray.inl` with all the names of the scene tree nodes, each name separated by `\0` in the array. This can be used to set `TM_TT_PROP__SCENE_TREE_COMPONENT__NODE_NAMES` in `TM_TT_TYPE__SCENE_TREE_COMPONENT`. #### `rig_from_dcc_asset()` ~~~c bool (*rig_from_dcc_asset)(struct tm_the_truth_o *tt, const tm_tt_id_t entity, const tm_tt_id_t dcc_asset, const tm_tt_id_t mesh_cg, uint64_t task_id, tm_tt_undo_scope_t undo_scope); ~~~ Rigs an entity from a `TM_TT_TYPE__DCC_ASSET`. `entity` is the `TM_TT_TYPE__ENTITY` into which the DCC asset will be rigged. If the DCC asset contains multiple scenes, then `entity` will be used as a wrapper. `mesh_cg` is the `TM_TT_TYPE__CREATION_GRAPH` to use for meshes in the DCC Asset. `task_id` will be used with `tm_progress_report_api->set_task_progress()` to set the progress of the rigging task. Can be zero if not called from a task.
~~~c #define TM_ENTITY_RIGGER_API_NAME "tm_entity_rigger_api" ~~~