FaceGen 3 SDKs Reference
Loading...
Searching...
No Matches
Classes | Typedefs | Enumerations | Enumerator | Functions | Variables
Main SDK API

Classes

struct  Fg::Sam3Controls
 
struct  Fg::Sam3Coord
 FaceGen face space coordinate. More...
 
struct  Fg::Face3
 
struct  Fg::Scm3Mode
 

Typedefs

typedef Svec< Face3Fg::Face3s
 

Enumerations

enum  Fg::FanRaceE {
  FANRACE_ALL = 0 , FANRACE_AFRO , FANRACE_EASIA , FANRACE_SASIA ,
  FANRACE_EURO , FANRACE_SIZE
}
 
enum  Fg::FanTypeE { Fg::FANTYPE_GEO = 0 , Fg::FANTYPE_TEX , FANTYPE_SIZE }
 Enumerate the statistical model types. More...
 
enum  Fg::FanSymmE { Fg::FANSYMM_SYMM = 0 , Fg::FANSYMM_ASYM , FANSYMM_SIZE }
 Enumerate symmetry types. More...
 

Functions

 Fg::Sam3Coord::Sam3Coord (Floats const &coord)
 Will accept 'coord' sizes of 50, 80 or 130:
 
 Fg::Sam3Coord::Sam3Coord (Doubles const &coord)
 
 Fg::Sam3Coord::Sam3Coord (Mat< Floats, 2, 2 > const &m)
 
bool Fg::Sam3Coord::valid () const
 
Floats const & Fg::Sam3Coord::ts (uint type, uint symm) const
 
Floats & Fg::Sam3Coord::ts (uint type, uint symm)
 
Sam3Coord Fg::Sam3Coord::operator* (float f) const
 
Sam3Coord Fg::Sam3Coord::operator+ (const Sam3Coord &rhs) const
 
Sam3Coord Fg::Sam3Coord::operator- (const Sam3Coord &rhs) const
 
size_t Fg::Sam3Coord::getVectorDim () const
 Get the combined dimensionality of the face coordinate:
 
Floats Fg::Sam3Coord::getVector () const
 Get the face coordinate as a single vector:
 
void Fg::Sam3Coord::setVector (Floats const &coord)
 Set the face coordinate. Will accept sizes of 50, 80 or 130:
 
bool Fg::Sam3Coord::operator== (const Sam3Coord &rhs) const
 
std::ostream & Fg::operator<< (std::ostream &, Sam3Coord const &)
 
double Fg::cMagD (Sam3Coord const &sc)
 
Sam3Coord Fg::interpolate (Sam3Coord const &coord0, Sam3Coord const &coord1, float param)
 
 Fg::Face3::Face3 (Sam3Coord const &c)
 
 Fg::Face3::Face3 (Sam3Coord const &c, Bytes const &d)
 
 Fg::Face3::Face3 (String8 const &filename_fg)
 
void Fg::Face3::load (String8 const &filename_fg)
 Load face from .FG file:
 
void Fg::Face3::save (String8 const &filename_fg) const
 Save face to .FG file:
 
void Fg::Face3::getDetail (ImgRgba8 &img) const
 Decode the JPEG detail texture into FG image format:
 
bool Fg::Face3::operator== (const Face3 &rhs) const
 
std::ostream & Fg::operator<< (std::ostream &, Face3 const &)
 
Face3 Fg::loadFg (String8 const &filename)
 
void Fg::saveFg (Face3 const &face, String8 const &fname)
 
void Fg::fg3Interactive (Sam3Coord &coord, FanSymmE symmetry, const Ssm3 &ssm, uint vertexIndex, Vec3F vertexDelta)
 

Variables

Strings Fg::fg3ModeTypeStrs
 
Strings Fg::fg3ModeSymmStrs
 
Mat< Floats, 2, 2 > Fg::Sam3Coord::crd {Floats(50,0),Floats(30,0),Floats(50,0),Floats(),}
 Column vectors for position in face space. column: symm/asym, row: shape/color.
 
static Mat22UI Fg::Sam3Coord::dims
 
Sam3Coord Fg::Face3::coord
 Coordinate of this face in 'face space'.
 
Bytes Fg::Face3::detail
 JPEG-encoded detail modulation in internal UV layout.
 
uint32 Fg::loadEgm_ (String8 const &fname, Vec3Fss &symm, Vec3Fss &asym)
 Load statistical shape modes from .EGM file into last two arguments. Returns number of vertices.
 

Detailed Description

The Main API is a set of full-source C++ classes providing all functionality seen in FaceGen Modeller except for the photofit and the GUI.

Typedef Documentation

◆ Face3s

typedef Svec<Face3> Fg::Face3s

Definition at line 110 of file Fg3Face.hpp.

Enumeration Type Documentation

◆ FanRaceE

Holds the data for all the face editing controls and random face distributions. This data is stored in the 'si.ctl' file. You cannot apply any controls without loading this file.

Definition at line 25 of file FanControls.hpp.

◆ FanSymmE

Enumerate symmetry types.

Enumerator
FANSYMM_SYMM 

Symmetric.

FANSYMM_ASYM 

Asymmetric.

Definition at line 36 of file Fg3Face.hpp.

◆ FanTypeE

Enumerate the statistical model types.

Enumerator
FANTYPE_GEO 

Geometry (shape)

FANTYPE_TEX 

Texture (color)

Definition at line 24 of file Fg3Face.hpp.

Function Documentation

◆ cMagD()

double Fg::cMagD ( Sam3Coord const &  sc)
inline

Definition at line 79 of file Fg3Face.hpp.

◆ Face3() [1/3]

Fg::Face3::Face3 ( )
inline

Definition at line 95 of file Fg3Face.hpp.

◆ Face3() [2/3]

Fg::Face3::Face3 ( Sam3Coord const &  c)
inlineexplicit

Definition at line 96 of file Fg3Face.hpp.

◆ Face3() [3/3]

Fg::Face3::Face3 ( Sam3Coord const &  c,
Bytes const &  d 
)
inline

Definition at line 97 of file Fg3Face.hpp.

◆ fg3Interactive()

void Fg::fg3Interactive ( Sam3Coord coord,
FanSymmE  symmetry,
const Ssm3 ssm,
uint  vertexIndex,
Vec3F  vertexDelta 
)

Apply interactive deformation of a mesh to a face coordinate.

Parameters
coordMODIFIED: The face coordinate.
symmetrySymmetric or asymmetric deformation ?
ssmShape statistics data for the mesh.
vertexIndexThe index number of the vertex controlling the deformation.
vertexDeltaThe position delta of that vertex (due to user mouse movement)

◆ getVector()

Floats Fg::Sam3Coord::getVector ( ) const
inline

Get the face coordinate as a single vector:

Definition at line 72 of file Fg3Face.hpp.

◆ getVectorDim()

size_t Fg::Sam3Coord::getVectorDim ( ) const
inline

Get the combined dimensionality of the face coordinate:

Definition at line 70 of file Fg3Face.hpp.

◆ loadFg()

Face3 Fg::loadFg ( String8 const &  filename)
inline

Definition at line 114 of file Fg3Face.hpp.

◆ operator*()

Sam3Coord Fg::Sam3Coord::operator* ( float  f) const
inline

Definition at line 66 of file Fg3Face.hpp.

◆ operator+()

Sam3Coord Fg::Sam3Coord::operator+ ( const Sam3Coord rhs) const
inline

Definition at line 67 of file Fg3Face.hpp.

◆ operator-()

Sam3Coord Fg::Sam3Coord::operator- ( const Sam3Coord rhs) const
inline

Definition at line 68 of file Fg3Face.hpp.

◆ operator==() [1/2]

bool Fg::Face3::operator== ( const Face3 rhs) const
inline

Definition at line 106 of file Fg3Face.hpp.

◆ operator==() [2/2]

bool Fg::Sam3Coord::operator== ( const Sam3Coord rhs) const
inline

Definition at line 75 of file Fg3Face.hpp.

◆ Sam3Coord() [1/2]

Fg::Sam3Coord::Sam3Coord ( )
inline

Definition at line 54 of file Fg3Face.hpp.

◆ Sam3Coord() [2/2]

Fg::Sam3Coord::Sam3Coord ( Mat< Floats, 2, 2 > const &  m)
inlineexplicit

Definition at line 59 of file Fg3Face.hpp.

◆ saveFg()

void Fg::saveFg ( Face3 const &  face,
String8 const &  fname 
)
inline

Definition at line 121 of file Fg3Face.hpp.

◆ ts() [1/2]

Floats & Fg::Sam3Coord::ts ( uint  type,
uint  symm 
)
inline

Definition at line 65 of file Fg3Face.hpp.

◆ ts() [2/2]

Floats const & Fg::Sam3Coord::ts ( uint  type,
uint  symm 
) const
inline

Definition at line 64 of file Fg3Face.hpp.

Variable Documentation

◆ coord

Sam3Coord Fg::Face3::coord

Coordinate of this face in 'face space'.

Definition at line 90 of file Fg3Face.hpp.

◆ crd

Mat<Floats,2,2> Fg::Sam3Coord::crd {Floats(50,0),Floats(30,0),Floats(50,0),Floats(),}

Column vectors for position in face space. column: symm/asym, row: shape/color.

Definition at line 51 of file Fg3Face.hpp.

◆ detail

Bytes Fg::Face3::detail

JPEG-encoded detail modulation in internal UV layout.

Definition at line 92 of file Fg3Face.hpp.

◆ dims

Mat22UI Fg::Sam3Coord::dims
static

Definition at line 61 of file Fg3Face.hpp.