lv_gltf_bind.h

Defines

LV_GLTF_BIND_MAX_CHANNELS
LV_GLTF_BIND_CHANNEL_0
LV_GLTF_BIND_CHANNEL_1
LV_GLTF_BIND_CHANNEL_2
LV_GLTF_BIND_CHANNEL_3

Typedefs

typedef struct _lv_gltf_bind lv_gltf_bind_t

Enums

enum lv_gltf_bind_prop_t

Values:

enumerator LV_GLTF_BIND_PROP_VISIBILITY
enumerator LV_GLTF_BIND_PROP_POSITION
enumerator LV_GLTF_BIND_PROP_ROTATION
enumerator LV_GLTF_BIND_PROP_SCALE
enumerator LV_GLTF_BIND_PROP_BASE_COLOR
enumerator LV_GLTF_BIND_PROP_ALPHA_FACTOR
enumerator LV_GLTF_BIND_PROP_EMIS_COLOR
enumerator LV_GLTF_BIND_PROP_WORLD_POSITION
enum lv_gltf_bind_dir_t

Values:

enumerator LV_GLTF_BIND_DIR_READ
enumerator LV_GLTF_BIND_DIR_WRITE

Functions

void lv_gltf_bind_set(lv_gltf_bind_t *bind, uint8_t channel, float data)
float lv_gltf_bind_get(lv_gltf_bind_t *bind, uint8_t channel)
void lv_gltf_bind_bind_clean(lv_gltf_bind_t *bind)

Reset the dirty flag for a given bind.

Parameters:

bind – Pointer to the lv_gltf_bind_t to reset the dirty flag for.

lv_gltf_bind_t *lv_gltf_bind_add_by_index(lv_gltf_model_t *data, size_t index, lv_gltf_bind_prop_t which_prop, uint32_t data_mask, lv_gltf_bind_dir_t dir)

Add an bind to a GLTF data object by node index.

Parameters:
  • gltf_data – Pointer to the lv_gltf_data_t object to which the bind will be added.

  • nodeIndex – The index of the node to bind.

  • which_prop – The property to bind.

  • data_mask – A mask indicating which data fields to bind.

Returns:

Pointer to the newly created lv_gltf_bind_t object, or NULL if the operation failed.

lv_gltf_bind_t *lv_gltf_bind_add_by_ip(lv_gltf_model_t *data, const char *node_ip, lv_gltf_bind_prop_t which_prop, uint32_t data_mask, lv_gltf_bind_dir_t dir)

Add an bind to a GLTF data object by node IP address.

Parameters:
  • gltf_data – Pointer to the lv_gltf_data_t object to which the bind will be added.

  • nodeIp – The IP address of the node to bind.

  • which_prop – The property to bind.

  • data_mask – A mask indicating which data fields to bind.

Returns:

Pointer to the newly created lv_gltf_bind_t object, or NULL if the operation failed.

lv_gltf_bind_t *lv_gltf_bind_add_by_path(lv_gltf_model_t *data, const char *path, lv_gltf_bind_prop_t which_prop, uint32_t data_mask, lv_gltf_bind_dir_t dir)

Add an bind to a GLTF data object by node ID.

Parameters:
  • gltf_data – Pointer to the lv_gltf_data_t object to which the bind will be added.

  • nodeId – The ID of the node to bind.

  • which_prop – The property to bind.

  • data_mask – A mask indicating which data fields to bind.

Returns:

Pointer to the newly created lv_gltf_bind_t object, or NULL if the operation failed.

lv_result_t lv_gltf_bind_remove(lv_gltf_model_t *_data, lv_gltf_bind_t *bind)

Remove an bind from a GLTF data object.

Parameters:
  • gltf_data – Pointer to the lv_gltf_data_t object from which the bind will be removed.

  • bind – The bind to be removed.

  • which_prop – The property to bind.

  • data_mask – A mask indicating which data fields to bind.

Returns:

True on success, False on failure.

struct _lv_gltf_bind

Public Members

struct _lv_gltf_bind *next_bind
lv_gltf_bind_prop_t prop
lv_gltf_bind_dir_t dir
uint32_t id
uint32_t data_mask
float data[4]
bool dirty