# lv_gltf_model_node.h (/api/libs/gltf/gltf_data/lv_gltf_model_node_h)



<ApiSummary functions="21" macros="8" />

Functions [#functions]

<ApiTabs items="[&#x22;Setters (9)&#x22;,&#x22;Getters (10)&#x22;,&#x22;Other (2)&#x22;]">
  <ApiTab value="Setters (9)">
    <ApiMember kind="function" name="lv_gltf_model_node_set_position_x" file="libs/gltf/gltf_data/lv_gltf_model_node.h" line="132" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/libs/gltf/gltf_data/lv_gltf_model_node.h#L132">
      lv_gltf_model_node_set_position_x [#lv_gltf_model_node_set_position_x]

      Set the X position of a glTF model node. The operation is queued and applied on the next rendering phase.

      ```c title=" " lineNumbers=1
      lv_result_t lv_gltf_model_node_set_position_x(lv_gltf_model_node_t *node, float x)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name   | Type                                                                     | Description                              |
      | ------ | ------------------------------------------------------------------------ | ---------------------------------------- |
      | `node` | <ApiLink name="lv_gltf_model_node_t" display="lv_gltf_model_node_t *" /> | Pointer to the glTF model node structure |
      | `x`    | `float`                                                                  | The X position value                     |

      **Returns:** <ApiLink name="lv_result_t" /> — LV\_RESULT\_OK if the operation is queued successfully, LV\_RESULT\_INVALID if node is null or no more memory to queue the operation
    </ApiMember>

    <ApiMember kind="function" name="lv_gltf_model_node_set_position_y" file="libs/gltf/gltf_data/lv_gltf_model_node.h" line="141" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/libs/gltf/gltf_data/lv_gltf_model_node.h#L141">
      lv_gltf_model_node_set_position_y [#lv_gltf_model_node_set_position_y]

      Set the Y position of a glTF model node. The operation is queued and applied on the next rendering phase.

      ```c title=" " lineNumbers=1
      lv_result_t lv_gltf_model_node_set_position_y(lv_gltf_model_node_t *node, float y)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name   | Type                                                                     | Description                              |
      | ------ | ------------------------------------------------------------------------ | ---------------------------------------- |
      | `node` | <ApiLink name="lv_gltf_model_node_t" display="lv_gltf_model_node_t *" /> | Pointer to the glTF model node structure |
      | `y`    | `float`                                                                  | The Y position value                     |

      **Returns:** <ApiLink name="lv_result_t" /> — LV\_RESULT\_OK if the operation is queued successfully, LV\_RESULT\_INVALID if node is null or no more memory to queue the operation
    </ApiMember>

    <ApiMember kind="function" name="lv_gltf_model_node_set_position_z" file="libs/gltf/gltf_data/lv_gltf_model_node.h" line="150" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/libs/gltf/gltf_data/lv_gltf_model_node.h#L150">
      lv_gltf_model_node_set_position_z [#lv_gltf_model_node_set_position_z]

      Set the Z position of a glTF model node. The operation is queued and applied on the next rendering phase.

      ```c title=" " lineNumbers=1
      lv_result_t lv_gltf_model_node_set_position_z(lv_gltf_model_node_t *node, float z)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name   | Type                                                                     | Description                              |
      | ------ | ------------------------------------------------------------------------ | ---------------------------------------- |
      | `node` | <ApiLink name="lv_gltf_model_node_t" display="lv_gltf_model_node_t *" /> | Pointer to the glTF model node structure |
      | `z`    | `float`                                                                  | The Z position value                     |

      **Returns:** <ApiLink name="lv_result_t" /> — LV\_RESULT\_OK if the operation is queued successfully, LV\_RESULT\_INVALID if node is null or no more memory to queue the operation
    </ApiMember>

    <ApiMember kind="function" name="lv_gltf_model_node_set_rotation_x" file="libs/gltf/gltf_data/lv_gltf_model_node.h" line="159" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/libs/gltf/gltf_data/lv_gltf_model_node.h#L159">
      lv_gltf_model_node_set_rotation_x [#lv_gltf_model_node_set_rotation_x]

      Set the X component of a glTF model node's rotation quaternion. The operation is queued and applied on the next rendering phase.

      ```c title=" " lineNumbers=1
      lv_result_t lv_gltf_model_node_set_rotation_x(lv_gltf_model_node_t *node, float x)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name   | Type                                                                     | Description                              |
      | ------ | ------------------------------------------------------------------------ | ---------------------------------------- |
      | `node` | <ApiLink name="lv_gltf_model_node_t" display="lv_gltf_model_node_t *" /> | Pointer to the glTF model node structure |
      | `x`    | `float`                                                                  | The X rotation component value           |

      **Returns:** <ApiLink name="lv_result_t" /> — LV\_RESULT\_OK if the operation is queued successfully, LV\_RESULT\_INVALID if node is null or no more memory to queue the operation
    </ApiMember>

    <ApiMember kind="function" name="lv_gltf_model_node_set_rotation_y" file="libs/gltf/gltf_data/lv_gltf_model_node.h" line="168" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/libs/gltf/gltf_data/lv_gltf_model_node.h#L168">
      lv_gltf_model_node_set_rotation_y [#lv_gltf_model_node_set_rotation_y]

      Set the Y component of a glTF model node's rotation quaternion. The operation is queued and applied on the next rendering phase.

      ```c title=" " lineNumbers=1
      lv_result_t lv_gltf_model_node_set_rotation_y(lv_gltf_model_node_t *node, float y)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name   | Type                                                                     | Description                              |
      | ------ | ------------------------------------------------------------------------ | ---------------------------------------- |
      | `node` | <ApiLink name="lv_gltf_model_node_t" display="lv_gltf_model_node_t *" /> | Pointer to the glTF model node structure |
      | `y`    | `float`                                                                  | The Y rotation component value           |

      **Returns:** <ApiLink name="lv_result_t" /> — LV\_RESULT\_OK if the operation is queued successfully, LV\_RESULT\_INVALID if node is null or no more memory to queue the operation
    </ApiMember>

    <ApiMember kind="function" name="lv_gltf_model_node_set_rotation_z" file="libs/gltf/gltf_data/lv_gltf_model_node.h" line="177" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/libs/gltf/gltf_data/lv_gltf_model_node.h#L177">
      lv_gltf_model_node_set_rotation_z [#lv_gltf_model_node_set_rotation_z]

      Set the Z component of a glTF model node's rotation quaternion. The operation is queued and applied on the next rendering phase.

      ```c title=" " lineNumbers=1
      lv_result_t lv_gltf_model_node_set_rotation_z(lv_gltf_model_node_t *node, float z)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name   | Type                                                                     | Description                              |
      | ------ | ------------------------------------------------------------------------ | ---------------------------------------- |
      | `node` | <ApiLink name="lv_gltf_model_node_t" display="lv_gltf_model_node_t *" /> | Pointer to the glTF model node structure |
      | `z`    | `float`                                                                  | The Z rotation component value           |

      **Returns:** <ApiLink name="lv_result_t" /> — LV\_RESULT\_OK if the operation is queued successfully, LV\_RESULT\_INVALID if node is null or no more memory to queue the operation
    </ApiMember>

    <ApiMember kind="function" name="lv_gltf_model_node_set_scale_x" file="libs/gltf/gltf_data/lv_gltf_model_node.h" line="186" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/libs/gltf/gltf_data/lv_gltf_model_node.h#L186">
      lv_gltf_model_node_set_scale_x [#lv_gltf_model_node_set_scale_x]

      Set the X scale of a glTF model node. The operation is queued and applied on the next rendering phase.

      ```c title=" " lineNumbers=1
      lv_result_t lv_gltf_model_node_set_scale_x(lv_gltf_model_node_t *node, float x)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name   | Type                                                                     | Description                              |
      | ------ | ------------------------------------------------------------------------ | ---------------------------------------- |
      | `node` | <ApiLink name="lv_gltf_model_node_t" display="lv_gltf_model_node_t *" /> | Pointer to the glTF model node structure |
      | `x`    | `float`                                                                  | The X scale value                        |

      **Returns:** <ApiLink name="lv_result_t" /> — LV\_RESULT\_OK if the operation is queued successfully, LV\_RESULT\_INVALID if node is null or no more memory to queue the operation
    </ApiMember>

    <ApiMember kind="function" name="lv_gltf_model_node_set_scale_y" file="libs/gltf/gltf_data/lv_gltf_model_node.h" line="195" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/libs/gltf/gltf_data/lv_gltf_model_node.h#L195">
      lv_gltf_model_node_set_scale_y [#lv_gltf_model_node_set_scale_y]

      Set the Y scale of a glTF model node. The operation is queued and applied on the next rendering phase.

      ```c title=" " lineNumbers=1
      lv_result_t lv_gltf_model_node_set_scale_y(lv_gltf_model_node_t *node, float y)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name   | Type                                                                     | Description                              |
      | ------ | ------------------------------------------------------------------------ | ---------------------------------------- |
      | `node` | <ApiLink name="lv_gltf_model_node_t" display="lv_gltf_model_node_t *" /> | Pointer to the glTF model node structure |
      | `y`    | `float`                                                                  | The Y scale value                        |

      **Returns:** <ApiLink name="lv_result_t" /> — LV\_RESULT\_OK if the operation is queued successfully, LV\_RESULT\_INVALID if node is null or no more memory to queue the operation
    </ApiMember>

    <ApiMember kind="function" name="lv_gltf_model_node_set_scale_z" file="libs/gltf/gltf_data/lv_gltf_model_node.h" line="204" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/libs/gltf/gltf_data/lv_gltf_model_node.h#L204">
      lv_gltf_model_node_set_scale_z [#lv_gltf_model_node_set_scale_z]

      Set the Z scale of a glTF model node. The operation is queued and applied on the next rendering phase.

      ```c title=" " lineNumbers=1
      lv_result_t lv_gltf_model_node_set_scale_z(lv_gltf_model_node_t *node, float z)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name   | Type                                                                     | Description                              |
      | ------ | ------------------------------------------------------------------------ | ---------------------------------------- |
      | `node` | <ApiLink name="lv_gltf_model_node_t" display="lv_gltf_model_node_t *" /> | Pointer to the glTF model node structure |
      | `z`    | `float`                                                                  | The Z scale value                        |

      **Returns:** <ApiLink name="lv_result_t" /> — LV\_RESULT\_OK if the operation is queued successfully, LV\_RESULT\_INVALID if node is null or no more memory to queue the operation
    </ApiMember>
  </ApiTab>

  <ApiTab value="Getters (10)">
    <ApiMember kind="function" name="lv_gltf_model_node_get_by_index" file="libs/gltf/gltf_data/lv_gltf_model_node.h" line="53" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/libs/gltf/gltf_data/lv_gltf_model_node.h#L53">
      lv_gltf_model_node_get_by_index [#lv_gltf_model_node_get_by_index]

      Get a glTF model node by its index.

      ```c title=" " lineNumbers=1
      lv_gltf_model_node_t * lv_gltf_model_node_get_by_index(lv_gltf_model_t *data, size_t index)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name    | Type                                                           | Description                         |
      | ------- | -------------------------------------------------------------- | ----------------------------------- |
      | `data`  | <ApiLink name="lv_gltf_model_t" display="lv_gltf_model_t *" /> | Pointer to the glTF model structure |
      | `index` | <ApiLink name="size_t" />                                      | The index of the node to retrieve   |

      **Returns:** <ApiLink name="lv_gltf_model_node_t" display="lv_gltf_model_node_t *" /> — Pointer to the glTF model node, or NULL if not found
    </ApiMember>

    <ApiMember kind="function" name="lv_gltf_model_node_get_by_numeric_path" file="libs/gltf/gltf_data/lv_gltf_model_node.h" line="62" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/libs/gltf/gltf_data/lv_gltf_model_node.h#L62">
      lv_gltf_model_node_get_by_numeric_path [#lv_gltf_model_node_get_by_numeric_path]

      Get a glTF model node by its numeric path.

      ```c title=" " lineNumbers=1
      lv_gltf_model_node_t * lv_gltf_model_node_get_by_numeric_path(lv_gltf_model_t *data, const char *num_path)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name       | Type                                                           | Description                                                |
      | ---------- | -------------------------------------------------------------- | ---------------------------------------------------------- |
      | `data`     | <ApiLink name="lv_gltf_model_t" display="lv_gltf_model_t *" /> | Pointer to the glTF model structure                        |
      | `num_path` | `const char *`                                                 | The numeric path string of the node to retrieve (eg. ".0") |

      **Returns:** <ApiLink name="lv_gltf_model_node_t" display="lv_gltf_model_node_t *" /> — Pointer to the glTF model node, or NULL if not found
    </ApiMember>

    <ApiMember kind="function" name="lv_gltf_model_node_get_by_path" file="libs/gltf/gltf_data/lv_gltf_model_node.h" line="71" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/libs/gltf/gltf_data/lv_gltf_model_node.h#L71">
      lv_gltf_model_node_get_by_path [#lv_gltf_model_node_get_by_path]

      Get a glTF model node by its path.

      ```c title=" " lineNumbers=1
      lv_gltf_model_node_t * lv_gltf_model_node_get_by_path(lv_gltf_model_t *data, const char *path)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name   | Type                                                           | Description                             |
      | ------ | -------------------------------------------------------------- | --------------------------------------- |
      | `data` | <ApiLink name="lv_gltf_model_t" display="lv_gltf_model_t *" /> | Pointer to the glTF model structure     |
      | `path` | `const char *`                                                 | The path string of the node to retrieve |

      **Returns:** <ApiLink name="lv_gltf_model_node_t" display="lv_gltf_model_node_t *" /> — Pointer to the glTF model node, or NULL if not found
    </ApiMember>

    <ApiMember kind="function" name="lv_gltf_model_node_get_path" file="libs/gltf/gltf_data/lv_gltf_model_node.h" line="79" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/libs/gltf/gltf_data/lv_gltf_model_node.h#L79">
      lv_gltf_model_node_get_path [#lv_gltf_model_node_get_path]

      Get the path of a glTF model node.

      ```c title=" " lineNumbers=1
      const char * lv_gltf_model_node_get_path(lv_gltf_model_node_t *node)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name   | Type                                                                     | Description                              |
      | ------ | ------------------------------------------------------------------------ | ---------------------------------------- |
      | `node` | <ApiLink name="lv_gltf_model_node_t" display="lv_gltf_model_node_t *" /> | Pointer to the glTF model node structure |

      **Returns:** `const char *` — The path string of the node, or NULL if node is invalid
    </ApiMember>

    <ApiMember kind="function" name="lv_gltf_model_node_get_ip" file="libs/gltf/gltf_data/lv_gltf_model_node.h" line="87" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/libs/gltf/gltf_data/lv_gltf_model_node.h#L87">
      lv_gltf_model_node_get_ip [#lv_gltf_model_node_get_ip]

      Get the IP (internal pointer/identifier) of a glTF model node.

      ```c title=" " lineNumbers=1
      const char * lv_gltf_model_node_get_ip(lv_gltf_model_node_t *node)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name   | Type                                                                     | Description                              |
      | ------ | ------------------------------------------------------------------------ | ---------------------------------------- |
      | `node` | <ApiLink name="lv_gltf_model_node_t" display="lv_gltf_model_node_t *" /> | Pointer to the glTF model node structure |

      **Returns:** `const char *` — The IP string of the node, or NULL if node is invalid
    </ApiMember>

    <ApiMember kind="function" name="lv_gltf_model_get_node_count" file="libs/gltf/gltf_data/lv_gltf_model_node.h" line="123" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/libs/gltf/gltf_data/lv_gltf_model_node.h#L123">
      lv_gltf_model_get_node_count [#lv_gltf_model_get_node_count]

      Get the number of nodes in the glTF model.

      Nodes form the scene graph hierarchy and can contain transformations, meshes, cameras, or other nodes as children. They define the spatial relationships between objects in the scene.

      ```c title=" " lineNumbers=1
      size_t lv_gltf_model_get_node_count(const lv_gltf_model_t *model)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name    | Type                                                                 | Description                              |
      | ------- | -------------------------------------------------------------------- | ---------------------------------------- |
      | `model` | <ApiLink name="lv_gltf_model_t" display="const lv_gltf_model_t *" /> | Pointer to the glTF model data structure |

      **Returns:** <ApiLink name="size_t" /> — Number of nodes in the model
    </ApiMember>

    <ApiMember kind="function" name="lv_gltf_model_node_get_local_position" file="libs/gltf/gltf_data/lv_gltf_model_node.h" line="218" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/libs/gltf/gltf_data/lv_gltf_model_node.h#L218">
      lv_gltf_model_node_get_local_position [#lv_gltf_model_node_get_local_position]

      Get the local position of a glTF model node. Must be called from within an LV\_EVENT\_VALUE\_CHANGED callback.

      Local position is relative to the node's parent.

      This function is only valid when called from an event callback registered. See <ApiLink name="lv_gltf_model_node_add_event_cb" display="lv_gltf_model_node_add_event_cb()" /> and <ApiLink name="lv_gltf_model_node_add_event_cb_with_world_position" display="lv_gltf_model_node_add_event_cb_with_world_position()" />

      ```c title=" " lineNumbers=1
      lv_result_t lv_gltf_model_node_get_local_position(lv_event_t *e, lv_3dpoint_t *result)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name     | Type                                                     | Description                                                                          |
      | -------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------ |
      | `e`      | <ApiLink name="lv_event_t" display="lv_event_t *" />     | Pointer to the event structure from the callback                                     |
      | `result` | <ApiLink name="lv_3dpoint_t" display="lv_3dpoint_t *" /> | Pointer to <ApiLink name="lv_3dpoint_t" /> structure to store the position (x, y, z) |

      **Returns:** <ApiLink name="lv_result_t" /> — LV\_RESULT\_OK if successful, LV\_RESULT\_INVALID if called outside event callback or if parameters are null
    </ApiMember>

    <ApiMember kind="function" name="lv_gltf_model_node_get_world_position" file="libs/gltf/gltf_data/lv_gltf_model_node.h" line="233" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/libs/gltf/gltf_data/lv_gltf_model_node.h#L233">
      lv_gltf_model_node_get_world_position [#lv_gltf_model_node_get_world_position]

      Get the world position of a glTF model node. Must be called from within an LV\_EVENT\_VALUE\_CHANGED callback registered with world position enabled.

      World position is the absolute position in global scene coordinates.

      This function requires the event callback to be registered with <ApiLink name="lv_gltf_model_node_add_event_cb_with_world_position" display="lv_gltf_model_node_add_event_cb_with_world_position()" /> as it involves complex matrix calculations that are computed on-demand.

      ```c title=" " lineNumbers=1
      lv_result_t lv_gltf_model_node_get_world_position(lv_event_t *e, lv_3dpoint_t *result)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name     | Type                                                     | Description                                                                          |
      | -------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------ |
      | `e`      | <ApiLink name="lv_event_t" display="lv_event_t *" />     | Pointer to the event structure from the callback                                     |
      | `result` | <ApiLink name="lv_3dpoint_t" display="lv_3dpoint_t *" /> | Pointer to <ApiLink name="lv_3dpoint_t" /> structure to store the position (x, y, z) |

      **Returns:** <ApiLink name="lv_result_t" /> — LV\_RESULT\_OK if successful, LV\_RESULT\_INVALID if called outside event callback, world position not enabled, or if parameters are null
    </ApiMember>

    <ApiMember kind="function" name="lv_gltf_model_node_get_scale" file="libs/gltf/gltf_data/lv_gltf_model_node.h" line="247" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/libs/gltf/gltf_data/lv_gltf_model_node.h#L247">
      lv_gltf_model_node_get_scale [#lv_gltf_model_node_get_scale]

      Get the scale of a glTF model node. Must be called from within an LV\_EVENT\_VALUE\_CHANGED callback.

      Returns the scale factors for each axis.

      This function is only valid when called from an event callback registered. See <ApiLink name="lv_gltf_model_node_add_event_cb" display="lv_gltf_model_node_add_event_cb()" /> and <ApiLink name="lv_gltf_model_node_add_event_cb_with_world_position" display="lv_gltf_model_node_add_event_cb_with_world_position()" />

      ```c title=" " lineNumbers=1
      lv_result_t lv_gltf_model_node_get_scale(lv_event_t *e, lv_3dpoint_t *result)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name     | Type                                                     | Description                                                                       |
      | -------- | -------------------------------------------------------- | --------------------------------------------------------------------------------- |
      | `e`      | <ApiLink name="lv_event_t" display="lv_event_t *" />     | Pointer to the event structure from the callback                                  |
      | `result` | <ApiLink name="lv_3dpoint_t" display="lv_3dpoint_t *" /> | Pointer to <ApiLink name="lv_3dpoint_t" /> structure to store the scale (x, y, z) |

      **Returns:** <ApiLink name="lv_result_t" /> — LV\_RESULT\_OK if successful, LV\_RESULT\_INVALID if called outside event callback or if parameters are null
    </ApiMember>

    <ApiMember kind="function" name="lv_gltf_model_node_get_euler_rotation" file="libs/gltf/gltf_data/lv_gltf_model_node.h" line="261" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/libs/gltf/gltf_data/lv_gltf_model_node.h#L261">
      lv_gltf_model_node_get_euler_rotation [#lv_gltf_model_node_get_euler_rotation]

      Get the Euler rotation of a glTF model node. Must be called from within an LV\_EVENT\_VALUE\_CHANGED callback.

      Returns rotation as Euler angles in radians (x, y, z).

      This function is only valid when called from an event callback registered. See <ApiLink name="lv_gltf_model_node_add_event_cb" display="lv_gltf_model_node_add_event_cb()" /> and <ApiLink name="lv_gltf_model_node_add_event_cb_with_world_position" display="lv_gltf_model_node_add_event_cb_with_world_position()" />

      ```c title=" " lineNumbers=1
      lv_result_t lv_gltf_model_node_get_euler_rotation(lv_event_t *e, lv_3dpoint_t *result)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name     | Type                                                     | Description                                                                                     |
      | -------- | -------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
      | `e`      | <ApiLink name="lv_event_t" display="lv_event_t *" />     | Pointer to the event structure from the callback                                                |
      | `result` | <ApiLink name="lv_3dpoint_t" display="lv_3dpoint_t *" /> | Pointer to <ApiLink name="lv_3dpoint_t" /> structure to store the rotation in radians (x, y, z) |

      **Returns:** <ApiLink name="lv_result_t" /> — LV\_RESULT\_OK if successful, LV\_RESULT\_INVALID if called outside event callback or if parameters are null
    </ApiMember>
  </ApiTab>

  <ApiTab value="Other (2)">
    <ApiMember kind="function" name="lv_gltf_model_node_add_event_cb" file="libs/gltf/gltf_data/lv_gltf_model_node.h" line="98" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/libs/gltf/gltf_data/lv_gltf_model_node.h#L98">
      lv_gltf_model_node_add_event_cb [#lv_gltf_model_node_add_event_cb]

      Add an event callback to a glTF model node.

      ```c title=" " lineNumbers=1
      lv_event_dsc_t * lv_gltf_model_node_add_event_cb(lv_gltf_model_node_t *node, lv_event_cb_t cb, lv_event_code_t filter_list, void *user_data)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name          | Type                                                                     | Description                                                                                                                                                            |
      | ------------- | ------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
      | `node`        | <ApiLink name="lv_gltf_model_node_t" display="lv_gltf_model_node_t *" /> | Pointer to the glTF model node structure                                                                                                                               |
      | `cb`          | <ApiLink name="lv_event_cb_t" />                                         | The event callback function to add. Use <ApiLink name="lv_event_get_param" display="lv_event_get_param()" /> to retrieve lv\_gltf\_node\_data\_t with the node's data. |
      | `filter_list` | <ApiLink name="lv_event_code_t" />                                       | Event code filter for the callback                                                                                                                                     |
      | `user_data`   | `void *`                                                                 | User data to pass to the callback                                                                                                                                      |

      **Returns:** <ApiLink name="lv_event_dsc_t" display="lv_event_dsc_t *" /> — Pointer to the event descriptor, or NULL if allocation failed
    </ApiMember>

    <ApiMember kind="function" name="lv_gltf_model_node_add_event_cb_with_world_position" file="libs/gltf/gltf_data/lv_gltf_model_node.h" line="111" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/libs/gltf/gltf_data/lv_gltf_model_node.h#L111">
      lv_gltf_model_node_add_event_cb_with_world_position [#lv_gltf_model_node_add_event_cb_with_world_position]

      Add an event callback to a glTF model node with world position computation enabled. Use this only when world position is needed, as computing it is an expensive operation.

      ```c title=" " lineNumbers=1
      lv_event_dsc_t * lv_gltf_model_node_add_event_cb_with_world_position(lv_gltf_model_node_t *node, lv_event_cb_t cb, lv_event_code_t filter_list, void *user_data)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name          | Type                                                                     | Description                                                                                                                                                            |
      | ------------- | ------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
      | `node`        | <ApiLink name="lv_gltf_model_node_t" display="lv_gltf_model_node_t *" /> | Pointer to the glTF model node structure                                                                                                                               |
      | `cb`          | <ApiLink name="lv_event_cb_t" />                                         | The event callback function to add. Use <ApiLink name="lv_event_get_param" display="lv_event_get_param()" /> to retrieve lv\_gltf\_node\_data\_t with the node's data. |
      | `filter_list` | <ApiLink name="lv_event_code_t" />                                       | Event code filter for the callback                                                                                                                                     |
      | `user_data`   | `void *`                                                                 | User data to pass to the callback                                                                                                                                      |

      **Returns:** <ApiLink name="lv_event_dsc_t" display="lv_event_dsc_t *" /> — Pointer to the event descriptor, or NULL if allocation failed
    </ApiMember>
  </ApiTab>
</ApiTabs>

Macros [#macros]

<ApiMember kind="macro" name="LV_GLTF_ANIM_SPEED_TENTH" file="libs/gltf/gltf_data/lv_gltf_model_node.h" line="29" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/libs/gltf/gltf_data/lv_gltf_model_node.h#L29">
  LV_GLTF_ANIM_SPEED_TENTH [#lv_gltf_anim_speed_tenth]

  ```c title=" " lineNumbers=1
  #define LV_GLTF_ANIM_SPEED_TENTH 100
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_GLTF_ANIM_SPEED_QUARTER" file="libs/gltf/gltf_data/lv_gltf_model_node.h" line="30" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/libs/gltf/gltf_data/lv_gltf_model_node.h#L30">
  LV_GLTF_ANIM_SPEED_QUARTER [#lv_gltf_anim_speed_quarter]

  ```c title=" " lineNumbers=1
  #define LV_GLTF_ANIM_SPEED_QUARTER 250
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_GLTF_ANIM_SPEED_HALF" file="libs/gltf/gltf_data/lv_gltf_model_node.h" line="31" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/libs/gltf/gltf_data/lv_gltf_model_node.h#L31">
  LV_GLTF_ANIM_SPEED_HALF [#lv_gltf_anim_speed_half]

  ```c title=" " lineNumbers=1
  #define LV_GLTF_ANIM_SPEED_HALF 500
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_GLTF_ANIM_SPEED_NORMAL" file="libs/gltf/gltf_data/lv_gltf_model_node.h" line="32" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/libs/gltf/gltf_data/lv_gltf_model_node.h#L32">
  LV_GLTF_ANIM_SPEED_NORMAL [#lv_gltf_anim_speed_normal]

  ```c title=" " lineNumbers=1
  #define LV_GLTF_ANIM_SPEED_NORMAL 1000
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_GLTF_ANIM_SPEED_2X" file="libs/gltf/gltf_data/lv_gltf_model_node.h" line="33" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/libs/gltf/gltf_data/lv_gltf_model_node.h#L33">
  LV_GLTF_ANIM_SPEED_2X [#lv_gltf_anim_speed_2x]

  ```c title=" " lineNumbers=1
  #define LV_GLTF_ANIM_SPEED_2X 2000
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_GLTF_ANIM_SPEED_3X" file="libs/gltf/gltf_data/lv_gltf_model_node.h" line="34" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/libs/gltf/gltf_data/lv_gltf_model_node.h#L34">
  LV_GLTF_ANIM_SPEED_3X [#lv_gltf_anim_speed_3x]

  ```c title=" " lineNumbers=1
  #define LV_GLTF_ANIM_SPEED_3X 3000
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_GLTF_ANIM_SPEED_4X" file="libs/gltf/gltf_data/lv_gltf_model_node.h" line="35" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/libs/gltf/gltf_data/lv_gltf_model_node.h#L35">
  LV_GLTF_ANIM_SPEED_4X [#lv_gltf_anim_speed_4x]

  ```c title=" " lineNumbers=1
  #define LV_GLTF_ANIM_SPEED_4X 4000
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_GLTF_DEFAULT_CAMERA" file="libs/gltf/gltf_data/lv_gltf_model_node.h" line="36" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/libs/gltf/gltf_data/lv_gltf_model_node.h#L36">
  LV_GLTF_DEFAULT_CAMERA [#lv_gltf_default_camera]

  ```c title=" " lineNumbers=1
  #define LV_GLTF_DEFAULT_CAMERA 0
  ```
</ApiMember>

Dependencies [#dependencies]

<FileIncludes includes="[&#x22;lv_conf_internal.h&#x22;, &#x22;lv_types.h&#x22;, &#x22;lv_3dmath.h&#x22;, &#x22;lv_event.h&#x22;]" includedBy="[&#x22;lv_gltf_model.h&#x22;]" transitiveIncludes="[&#x22;lv_array.h&#x22;, &#x22;lv_conf_kconfig.h&#x22;]" />
