11#include "FanControls.hpp"
75 float asymmetry)
const;
153 {
return genCtrls.getRace(from,to,coord,type); }
166 {
genCtrls.setRace_(from,to,tween,coord,type); }
182 FanGender gender=FANGENDER_SIZE,
186 bool caricatureLock=
false,
188 bool asymmetryLock=
false)
const;
235 FanGender gender)
const;
FanTypeE
Enumerate the statistical model types.
FanSymmE
Enumerate symmetry types.
float getAsymmetry(Sam3Coord const &coord) const
float getCaricature(Sam3Coord const &coord, FanRaceE race, FanTypeE type) const
void setSliderVal_(Sam3Coord &coord, FanTypeE type, FanSymmE symm, size_t id, float val) const
size_t getSliderNum(FanTypeE type, FanSymmE symm) const
Sam3Coord setRace(Sam3Coord const &coord, FanRaceE from, FanRaceE to, float tween)
Functional version:
float getRace(Sam3Coord const &coord, FanRaceE from, FanRaceE to, FanTypeE type=FANTYPE_SIZE) const
float getGender(Sam3Coord const &coord) const
void setGender_(Sam3Coord &coord, FanTypeE type, float val) const
void setRace_(Sam3Coord &coord, FanRaceE from, FanRaceE to, float tween, FanTypeE type=FANTYPE_SIZE) const
float getGender(Sam3Coord const &coord, FanTypeE type) const
void setToAverage_(Sam3Coord &coord, FanRaceE race, FanGender gender) const
Sam3Coord setCaricature(Sam3Coord const &coord, FanRaceE race, FanTypeE type, float val) const
Functional version.
std::string getSliderName(FanTypeE type, FanSymmE symm, size_t id) const
void setAge_(Sam3Coord &coord, float age) const
Svec< std::string > getRaceLabels() const
Sam3Coord setGender(Sam3Coord const &coord, float val)
Functional version.
Sam3Coord setAge(Sam3Coord const &coord, float age) const
Functional version.
void setRandom_(Sam3Coord &coord, FanRaceE race, FanGender gender=FANGENDER_SIZE, bool ageLock=false, bool caricatureLock=false, bool asymmetryLock=false) const
Sam3NLCtrls genCtrls
Non-linear controls include demographics, caricature and asymmetry:
float getAge(Sam3Coord const &coord, FanTypeE type) const
uint basisSize[FANTYPE_SIZE][FANSYMM_SIZE]
Number of modes of each type. Almost always [[50 30] [50 0]].
void setAsymmetry_(Sam3Coord &coord, float asymmetry) const
void setCaricature_(Sam3Coord &coord, FanRaceE race, FanTypeE type, float val) const
float getSliderVal(Sam3Coord const &coord, FanTypeE type, FanSymmE symm, size_t id) const
void setAge_(Sam3Coord &coord, FanTypeE type, float age) const
void setGender_(Sam3Coord &coord, float val) const
float getAge(Sam3Coord const &coord) const
FaceGen face space coordinate.
Non-linear controls include demographics, caricature and asymmetry: