A lot of structs in Blender use a 4x4 matrix:
$ ./target/release/blend_info --dna blend/factory_v300.blend | grep "\[4\]\[4\]"
float scale[4][4];
float drw_focusmat[4][4];
float drw_normalmat[4][4];
float mat[4][4];
float parentinv[4][4];
float bindmat[4][4];
float mat[4][4];
float obmat[4][4];
float parentinv[4][4];
float constinv[4][4];
float imat[4][4];
float parentinv[4][4];
float mat[4][4];
float winmat[4][4];
float viewmat[4][4];
float viewinv[4][4];
float persmat[4][4];
float persinv[4][4];
float viewmatob[4][4];
float persmatob[4][4];
float twmat[4][4];
float stabmat[4][4];
float unistabmat[4][4];
float imat[4][4];
float arm_mat[4][4];
float chan_mat[4][4];
float pose_mat[4][4];
float disp_mat[4][4];
float disp_tail_mat[4][4];
float constinv[4][4];
float matrix[4][4];
float invmat[4][4];
float invmat[4][4];
float imat[4][4];
float inverse[4][4];
float layer_mat[4][4];
float layer_invmat[4][4];
float parentinv[4][4];
float imat[4][4];
float obmat[4][4];
float fluidmat[4][4];
float fluidmat_wt[4][4];
float mat[4][4];
float attenuationmat[4][4];
float parallaxmat[4][4];
float mat[4][4];
One matrix we need in particular is Object.obmat
:
$ ./target/release/blend_info -n Object blend/factory_v300.blend | grep obmat
float obmat[4][4]; // 64
Let use a call like this:
$ ./target/release/blend_info -n Object.obmat blend/factory_v279.blend
That should allow to ask for the 16 values of any struct which has a member entry like this:
float somename[4][4];
Jan Walter referenced this ticket in commit b27acf3.
Jan Walter referenced this ticket in commit b27acf3.
Jan Walter referenced this ticket in commit b27acf3.
Jan Walter referenced this ticket in commit b27acf3.
Jan Walter referenced this ticket in commit b27acf3.
Jan Walter referenced this ticket in commit b27acf3.
Jan Walter referenced this ticket in commit b27acf3.
Jan Walter referenced this ticket in commit b27acf3.