template<int MaxSize>
bn::affine_bg_cached_animate_action class

Changes the map of an affine_bg_ptr when the action is updated a given number of times.

Template parameters
MaxSize Maximum number of maps to store.

This action differs from affine_bg_animate_action in that all maps to use are cached, so it is faster but takes way more VRAM.

Base classes

class iaffine_bg_cached_animate_action
Base class of bn::affine_bg_cached_animate_action.

Public static functions

static auto once(const affine_bg_ptr& affine_bg, int wait_updates, const affine_bg_map_item& map_item, const span<const uint16_t>& map_indexes) -> affine_bg_cached_animate_action
Generates an affine_bg_cached_animate_action which loops over the given affine_bg maps only once.
static auto once(affine_bg_ptr&& affine_bg, int wait_updates, const affine_bg_map_item& map_item, const span<const uint16_t>& map_indexes) -> affine_bg_cached_animate_action
Generates an affine_bg_cached_animate_action which loops over the given affine_bg maps only once.
static auto once(const affine_bg_ptr& affine_bg, int wait_updates, span<affine_bg_map_ptr> maps) -> affine_bg_cached_animate_action
Generates an affine_bg_cached_animate_action which loops over the given affine_bg maps only once.
static auto once(affine_bg_ptr&& affine_bg, int wait_updates, span<affine_bg_map_ptr> maps) -> affine_bg_cached_animate_action
Generates an affine_bg_cached_animate_action which loops over the given affine_bg maps only once.
static auto forever(const affine_bg_ptr& affine_bg, int wait_updates, const affine_bg_map_item& map_item, const span<const uint16_t>& map_indexes) -> affine_bg_cached_animate_action
Generates an affine_bg_cached_animate_action which loops over the given affine_bg maps forever.
static auto forever(affine_bg_ptr&& affine_bg, int wait_updates, const affine_bg_map_item& map_item, const span<const uint16_t>& map_indexes) -> affine_bg_cached_animate_action
Generates an affine_bg_cached_animate_action which loops over the given affine_bg maps forever.
static auto forever(const affine_bg_ptr& affine_bg, int wait_updates, span<affine_bg_map_ptr> maps) -> affine_bg_cached_animate_action
Generates an affine_bg_cached_animate_action which loops over the given affine_bg maps forever.
static auto forever(affine_bg_ptr&& affine_bg, int wait_updates, span<affine_bg_map_ptr> maps) -> affine_bg_cached_animate_action
Generates an affine_bg_cached_animate_action which loops over the given affine_bg maps forever.

Constructors, destructors, conversion operators

affine_bg_cached_animate_action(const affine_bg_cached_animate_action& other)
Copy constructor.
affine_bg_cached_animate_action(affine_bg_cached_animate_action&& other) noexcept
Move constructor.
affine_bg_cached_animate_action(const iaffine_bg_cached_animate_action& other)
Copy constructor.

Public functions

auto operator=(const affine_bg_cached_animate_action& other) -> affine_bg_cached_animate_action&
Copy assignment operator.
auto operator=(affine_bg_cached_animate_action&& other) -> affine_bg_cached_animate_action& noexcept
Move assignment operator.
auto operator=(const iaffine_bg_cached_animate_action& other) -> affine_bg_cached_animate_action&
Copy assignment operator.
auto operator=(iaffine_bg_cached_animate_action&& other) -> affine_bg_cached_animate_action& noexcept
Move assignment operator.

Function documentation

template<int MaxSize>
static affine_bg_cached_animate_action bn::affine_bg_cached_animate_action<MaxSize>::once(const affine_bg_ptr& affine_bg, int wait_updates, const affine_bg_map_item& map_item, const span<const uint16_t>& map_indexes)

Generates an affine_bg_cached_animate_action which loops over the given affine_bg maps only once.

Parameters
affine_bg affine_bg_ptr to copy.
wait_updates Number of times the action must be updated before changing the map of the given affine_bg_ptr.
map_item It creates the new map to use by the given affine_bg_ptr.
map_indexes Indexes of the maps to reference in map_item.
Returns The requested affine_bg_cached_animate_action.

template<int MaxSize>
static affine_bg_cached_animate_action bn::affine_bg_cached_animate_action<MaxSize>::once(affine_bg_ptr&& affine_bg, int wait_updates, const affine_bg_map_item& map_item, const span<const uint16_t>& map_indexes)

Generates an affine_bg_cached_animate_action which loops over the given affine_bg maps only once.

Parameters
affine_bg affine_bg_ptr to move.
wait_updates Number of times the action must be updated before changing the map of the given affine_bg_ptr.
map_item It creates the new map to use by the given affine_bg_ptr.
map_indexes Indexes of the maps to reference in the given affine_bg_map_item.
Returns The requested affine_bg_cached_animate_action.

template<int MaxSize>
static affine_bg_cached_animate_action bn::affine_bg_cached_animate_action<MaxSize>::once(const affine_bg_ptr& affine_bg, int wait_updates, span<affine_bg_map_ptr> maps)

Generates an affine_bg_cached_animate_action which loops over the given affine_bg maps only once.

Parameters
affine_bg affine_bg_ptr to copy.
wait_updates Number of times the action must be updated before changing the map of the given affine_bg_ptr.
maps List of maps to use by the given affine_bg_ptr.
Returns The requested affine_bg_cached_animate_action.

template<int MaxSize>
static affine_bg_cached_animate_action bn::affine_bg_cached_animate_action<MaxSize>::once(affine_bg_ptr&& affine_bg, int wait_updates, span<affine_bg_map_ptr> maps)

Generates an affine_bg_cached_animate_action which loops over the given affine_bg maps only once.

Parameters
affine_bg affine_bg_ptr to move.
wait_updates Number of times the action must be updated before changing the map of the given affine_bg_ptr.
maps List of maps to use by the given affine_bg_ptr.
Returns The requested affine_bg_cached_animate_action.

template<int MaxSize>
static affine_bg_cached_animate_action bn::affine_bg_cached_animate_action<MaxSize>::forever(const affine_bg_ptr& affine_bg, int wait_updates, const affine_bg_map_item& map_item, const span<const uint16_t>& map_indexes)

Generates an affine_bg_cached_animate_action which loops over the given affine_bg maps forever.

Parameters
affine_bg affine_bg_ptr to copy.
wait_updates Number of times the action must be updated before changing the map of the given affine_bg_ptr.
map_item It creates the new map to use by the given affine_bg_ptr.
map_indexes Indexes of the maps to reference in map_item.
Returns The requested affine_bg_cached_animate_action.

template<int MaxSize>
static affine_bg_cached_animate_action bn::affine_bg_cached_animate_action<MaxSize>::forever(affine_bg_ptr&& affine_bg, int wait_updates, const affine_bg_map_item& map_item, const span<const uint16_t>& map_indexes)

Generates an affine_bg_cached_animate_action which loops over the given affine_bg maps forever.

Parameters
affine_bg affine_bg_ptr to move.
wait_updates Number of times the action must be updated before changing the map of the given affine_bg_ptr.
map_item It creates the new map to use by the given affine_bg_ptr.
map_indexes Indexes of the maps to reference in the given affine_bg_map_item.
Returns The requested affine_bg_cached_animate_action.

template<int MaxSize>
static affine_bg_cached_animate_action bn::affine_bg_cached_animate_action<MaxSize>::forever(const affine_bg_ptr& affine_bg, int wait_updates, span<affine_bg_map_ptr> maps)

Generates an affine_bg_cached_animate_action which loops over the given affine_bg maps forever.

Parameters
affine_bg affine_bg_ptr to copy.
wait_updates Number of times the action must be updated before changing the map of the given affine_bg_ptr.
maps List of maps to use by the given affine_bg_ptr.
Returns The requested affine_bg_cached_animate_action.

template<int MaxSize>
static affine_bg_cached_animate_action bn::affine_bg_cached_animate_action<MaxSize>::forever(affine_bg_ptr&& affine_bg, int wait_updates, span<affine_bg_map_ptr> maps)

Generates an affine_bg_cached_animate_action which loops over the given affine_bg maps forever.

Parameters
affine_bg affine_bg_ptr to move.
wait_updates Number of times the action must be updated before changing the map of the given affine_bg_ptr.
maps List of maps to use by the given affine_bg_ptr.
Returns The requested affine_bg_cached_animate_action.

template<int MaxSize>
bn::affine_bg_cached_animate_action<MaxSize>::affine_bg_cached_animate_action(const affine_bg_cached_animate_action& other)

Copy constructor.

Parameters
other affine_bg_cached_animate_action to copy.

template<int MaxSize>
bn::affine_bg_cached_animate_action<MaxSize>::affine_bg_cached_animate_action(affine_bg_cached_animate_action&& other) noexcept

Move constructor.

Parameters
other affine_bg_cached_animate_action to move.

template<int MaxSize>
bn::affine_bg_cached_animate_action<MaxSize>::affine_bg_cached_animate_action(const iaffine_bg_cached_animate_action& other)

Copy constructor.

Parameters
other iaffine_bg_cached_animate_action to copy.

template<int MaxSize>
affine_bg_cached_animate_action& bn::affine_bg_cached_animate_action<MaxSize>::operator=(const affine_bg_cached_animate_action& other)

Copy assignment operator.

Parameters
other affine_bg_cached_animate_action to copy.
Returns Reference to this.

template<int MaxSize>
affine_bg_cached_animate_action& bn::affine_bg_cached_animate_action<MaxSize>::operator=(affine_bg_cached_animate_action&& other) noexcept

Move assignment operator.

Parameters
other affine_bg_cached_animate_action to move.
Returns Reference to this.

template<int MaxSize>
affine_bg_cached_animate_action& bn::affine_bg_cached_animate_action<MaxSize>::operator=(const iaffine_bg_cached_animate_action& other)

Copy assignment operator.

Parameters
other iaffine_bg_cached_animate_action to copy.
Returns Reference to this.

template<int MaxSize>
affine_bg_cached_animate_action& bn::affine_bg_cached_animate_action<MaxSize>::operator=(iaffine_bg_cached_animate_action&& other) noexcept

Move assignment operator.

Parameters
other ivector to move.
Returns Reference to this.