/* Last edited on 2011-09-12 23:55:27 by stolfilocal */ /* _*_ latin-1 _*_ */ /* Bezier model of human body */ /* Coordinate axes are X = forwards, Y = right, Z = up. */ #ifndef bzb_foot_H #define bzb_foot_H #include #include typedef struct bzb_foot_parms_t { double ax; /* Rotation angle around {x}-axis (radians). */ double ay; /* Rotation angle around {y}-axis (radians). */ double az; /* Rotation angle around {z}-axis (radians). */ double r; /* Nominal radius of ankle (mm). */ double s; /* Nominal length of foot from mid-ankle to base of toe fork (mm). */ double fh; /* Nominal height of foot from sole to top of ankle (mm). */ double ah; /* Nominal height of ankle (mm). */ double d; /* Nominal shear-back at little toe (mm). */ bzb_toe_parms_t *bt; /* Paramters of big toe. */ bzb_toe_parms_t *st; /* Paramters of small toes. */ } bzb_foot_parms_t; typedef struct bzb_toe_parms_t { double a; /* Upwards rotation angle (radians). */ double s; /* Nominal length of toe (mm). */ double bw; /* Nominal width of toe at base (mm). */ double bh; /* Nominal height of toe at base (mm). */ double tw; /* Nominal width of toe at tip (mm). */ double th; /* Nominal height of toe at tip (mm). */ } bzb_toe_parms_t; /* Shape and pose parameters of a toe (bit toe or joined small toes), relative to resting foot. */ bzb_limb_t *bzb_foot_build(bzb_foot_parms_t *f); #endif