Contains morph weights for a morph.
More...
#include <kanzi/core.ui/graphics3d/morph_runtime.hpp>
|
bool | insertSelectedWeight (unsigned int index, unsigned int numMorphs, unsigned int maxMorphs, float currentWeight, unsigned int currentMorph) |
| Insert a weight coupled with morph index into a correct location in selected weights and morphs arrays. More...
|
|
| MorphRuntime ()=default |
| Constructor. More...
|
|
| MorphRuntime (const Morph &morph) |
| Constructor. More...
|
|
bool | tryInsertSelectedWeight (unsigned int numMorphs, unsigned int maxMorphs, float currentWeight, unsigned int currentMorph) |
| Tries to insert a weight coupled with morph index into the selected arrays of weights and morphs. More...
|
|
Contains morph weights for a morph.
◆ MorphRuntime() [1/2]
kanzi::MorphRuntime::MorphRuntime |
( |
| ) |
|
|
explicitprotecteddefault |
◆ MorphRuntime() [2/2]
kanzi::MorphRuntime::MorphRuntime |
( |
const Morph & |
morph | ) |
|
|
explicitprotected |
Constructor.
- Parameters
-
morph | Source morph to copy. |
◆ getMaxSimultaneousMorphs()
static unsigned int kanzi::MorphRuntime::getMaxSimultaneousMorphs |
( |
| ) |
|
|
inlinestatic |
Gets the maximum number of simultaneous morphs.
- Returns
- Maximum number of simultaneous morphs.
- Since
- Kanzi 3.9.6
◆ create() [1/2]
Creates a morph runtime.
- Returns
- Uninitialized morph runtime.
- Since
- Kanzi 3.9.6 return type changed to MorphRuntimePtr.
◆ create() [2/2]
Creates a morph runtime.
- Parameters
-
morph | The morph from which to acquire information when preparing the morph runtime. |
- Returns
- Initialized morph runtime.
- Since
- Kanzi 3.9.6 return type changed to MorphRuntimePtr.
◆ initialize()
void kanzi::MorphRuntime::initialize |
( |
const Morph & |
morph | ) |
|
Initializes the morph runtime from a morph.
- Parameters
-
morph | The morph from which to acquire information when preparing the morph runtime. |
◆ updateSelectedMorphs()
unsigned int kanzi::MorphRuntime::updateSelectedMorphs |
( |
unsigned int |
maxMorphFromShader | ) |
|
Updates the selected weights with the most weighted morph targets.
This reorders the selected morph array based on the heaviest morph weights. If the weights have not been modified, this function is NOP.
- Parameters
-
maxMorphFromShader | Maximum number of morphs the shader can use. |
- Returns
- Number of selected morphs.
- Since
- Kanzi 3.9.6
◆ getChannelCount()
unsigned int kanzi::MorphRuntime::getChannelCount |
( |
| ) |
const |
|
inline |
Gets the size of the morph runtime.
- Returns
- Number of possible morph channels.
- Since
- Kanzi 3.9.6
◆ getSelectedWeightData()
const float* kanzi::MorphRuntime::getSelectedWeightData |
( |
| ) |
const |
|
inline |
Gets a float data array of morph weights.
Call updateSelected() before you access the weight data.
- Returns
- Floating-point array of morph weights.
- Since
- Kanzi 3.9.6
◆ isDirty()
bool kanzi::MorphRuntime::isDirty |
( |
| ) |
const |
|
inline |
Indicates whether the morph weight selection is dirty.
- Returns
- If the morph weights are dirty, true, otherwise false.
- Since
- Kanzi 3.9.6
◆ getSelectedWeight()
float kanzi::MorphRuntime::getSelectedWeight |
( |
unsigned int |
selectedMorphIndex | ) |
const |
|
inline |
Gets the selected morph weight at a given index.
Call updateSelected() before you access the selected morphs.
- Parameters
-
selectedMorphIndex | Index to fetch. |
- Returns
- Weight at given selection index.
- Since
- Kanzi 3.9.6
◆ getSelectedMorph()
unsigned int kanzi::MorphRuntime::getSelectedMorph |
( |
unsigned int |
selectedMorphIndex | ) |
const |
|
inline |
Gets the selected morph at a given index.
Call updateSelected() before you access the selected morphs.
- Parameters
-
selectedMorphIndex | The index of the morph that you want get. |
- Returns
- Index to the morph referred to at a given selection index.
- Since
- Kanzi 3.9.6
◆ getWeight()
float kanzi::MorphRuntime::getWeight |
( |
unsigned int |
index | ) |
const |
|
inline |
Gets morph weight at given index.
- Parameters
-
index | Index of the weight. |
- Returns
- Weight at index.
- Since
- Kanzi 3.9.6
◆ setWeight()
void kanzi::MorphRuntime::setWeight |
( |
unsigned int |
index, |
|
|
float |
weight |
|
) |
| |
|
inline |
Sets morph weight at given index.
- Parameters
-
index | Index to set. |
weight | Weight to set. |
- Since
- Kanzi 3.9.6
◆ resize()
void kanzi::MorphRuntime::resize |
( |
size_t |
channelCount | ) |
|
|
inline |
Resizes the data array for morph weights.
- Parameters
-
channelCount | The new number of weights. |
◆ tryInsertSelectedWeight()
bool kanzi::MorphRuntime::tryInsertSelectedWeight |
( |
unsigned int |
numMorphs, |
|
|
unsigned int |
maxMorphs, |
|
|
float |
currentWeight, |
|
|
unsigned int |
currentMorph |
|
) |
| |
|
protected |
Tries to insert a weight coupled with morph index into the selected arrays of weights and morphs.
- Parameters
-
numMorphs | Current number of morphs. |
maxMorphs | Maximum number of morphs. |
currentWeight | Weight to check. |
currentMorph | Morph index associated with the weight. |
- Returns
- If inserting the weight succeeds and the number of weights increases, true, otherwise false.
- Since
- Kanzi 3.9.6
◆ insertSelectedWeight()
bool kanzi::MorphRuntime::insertSelectedWeight |
( |
unsigned int |
index, |
|
|
unsigned int |
numMorphs, |
|
|
unsigned int |
maxMorphs, |
|
|
float |
currentWeight, |
|
|
unsigned int |
currentMorph |
|
) |
| |
|
protected |
Insert a weight coupled with morph index into a correct location in selected weights and morphs arrays.
Called by tryInsertSelectedWeight() for an insertion location.
- Parameters
-
index | Index at which to insert the weight. |
numMorphs | Current number of morphs. |
maxMorphs | Maximum number of morphs. |
currentWeight | Weight to insert. |
currentMorph | Morph index associated with the weight. |
- Returns
- If the number of weights increases, true, otherwise false.
- Since
- Kanzi 3.9.6
◆ MaxSimultaneousMorphs
const unsigned int kanzi::MorphRuntime::MaxSimultaneousMorphs |
|
staticprotected |
Maximum number of simultaneous morphs.
◆ m_weights
vector<float> kanzi::MorphRuntime::m_weights |
|
protected |
◆ m_selectedWeights
Selected largest morph weights.
◆ m_selectedMorphs
Selected indices for morph weights.
◆ m_dirty
bool kanzi::MorphRuntime::m_dirty |
|
protected |
Dirty flag for selected weights arrays.
The documentation for this class was generated from the following file: