Merge from COLLADA branch into trunk of -c 24572 (cmake and scons for OpenCollada @ 675, Linux) and 25001 (bone animation import). See corresponding log entries for more detail.
This commit is contained in:
@@ -216,8 +216,8 @@ IF(UNIX AND NOT APPLE)
|
|||||||
|
|
||||||
IF (WITH_OPENCOLLADA)
|
IF (WITH_OPENCOLLADA)
|
||||||
SET(OPENCOLLADA /usr/local/opencollada CACHE FILEPATH "OpenCollada Directory")
|
SET(OPENCOLLADA /usr/local/opencollada CACHE FILEPATH "OpenCollada Directory")
|
||||||
SET(OPENCOLLADA_LIBPATH ${OPENCOLLADA})
|
SET(OPENCOLLADA_LIBPATH ${OPENCOLLADA}/lib)
|
||||||
SET(OPENCOLLADA_LIB OpenCollada)
|
SET(OPENCOLLADA_LIB OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser UTF MathMLSolver pcre ftoa Buffer)
|
||||||
SET(OPENCOLLADA_INC ${OPENCOLLADA})
|
SET(OPENCOLLADA_INC ${OPENCOLLADA})
|
||||||
SET(PCRE /usr CACHE FILEPATH "PCRE Directory")
|
SET(PCRE /usr CACHE FILEPATH "PCRE Directory")
|
||||||
SET(PCRE_LIBPATH ${PCRE}/lib)
|
SET(PCRE_LIBPATH ${PCRE}/lib)
|
||||||
|
@@ -155,9 +155,9 @@ WITH_BF_COLLADA = False
|
|||||||
BF_COLLADA = '#source/blender/collada'
|
BF_COLLADA = '#source/blender/collada'
|
||||||
BF_COLLADA_INC = '${BF_COLLADA}'
|
BF_COLLADA_INC = '${BF_COLLADA}'
|
||||||
BF_COLLADA_LIB = 'bf_collada'
|
BF_COLLADA_LIB = 'bf_collada'
|
||||||
BF_OPENCOLLADA = ''
|
BF_OPENCOLLADA = '/usr'
|
||||||
BF_OPENCOLLADA_LIB = 'OpenCollada'
|
BF_OPENCOLLADA_LIB = 'OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser UTF MathMLSolver pcre Buffer ftoa'
|
||||||
BF_OPENCOLLADA_LIBPATH = '/usr/lib'
|
BF_OPENCOLLADA_LIBPATH = '${BF_OPENCOLLADA}/lib'
|
||||||
BF_PCRE = ''
|
BF_PCRE = ''
|
||||||
BF_PCRE_LIB = 'pcre'
|
BF_PCRE_LIB = 'pcre'
|
||||||
BF_PCRE_LIBPATH = '/usr/lib'
|
BF_PCRE_LIBPATH = '/usr/lib'
|
||||||
|
@@ -62,7 +62,7 @@ int do_colorband(struct ColorBand *coba, float in, float out[4]);
|
|||||||
void colorband_table_RGBA(struct ColorBand *coba, float **array, int *size);
|
void colorband_table_RGBA(struct ColorBand *coba, float **array, int *size);
|
||||||
|
|
||||||
void default_tex(struct Tex *tex);
|
void default_tex(struct Tex *tex);
|
||||||
struct Tex *add_texture(char *name);
|
struct Tex *add_texture(const char *name);
|
||||||
void default_mtex(struct MTex *mtex);
|
void default_mtex(struct MTex *mtex);
|
||||||
struct MTex *add_mtex(void);
|
struct MTex *add_mtex(void);
|
||||||
struct Tex *copy_texture(struct Tex *tex);
|
struct Tex *copy_texture(struct Tex *tex);
|
||||||
|
@@ -518,7 +518,7 @@ void default_tex(Tex *tex)
|
|||||||
|
|
||||||
/* ------------------------------------------------------------------------- */
|
/* ------------------------------------------------------------------------- */
|
||||||
|
|
||||||
Tex *add_texture(char *name)
|
Tex *add_texture(const char *name)
|
||||||
{
|
{
|
||||||
Tex *tex;
|
Tex *tex;
|
||||||
|
|
||||||
|
@@ -61,7 +61,7 @@ void BLI_split_dirfile_basic(const char *string, char *dir, char *file);
|
|||||||
void BLI_join_dirfile(char *string, const char *dir, const char *file);
|
void BLI_join_dirfile(char *string, const char *dir, const char *file);
|
||||||
void BLI_getlastdir(const char* dir, char *last, int maxlen);
|
void BLI_getlastdir(const char* dir, char *last, int maxlen);
|
||||||
int BLI_testextensie(const char *str, const char *ext);
|
int BLI_testextensie(const char *str, const char *ext);
|
||||||
void BLI_uniquename(struct ListBase *list, void *vlink, char defname[], char delim, short name_offs, short len);
|
void BLI_uniquename(struct ListBase *list, void *vlink, const char defname[], char delim, short name_offs, short len);
|
||||||
void BLI_newname(char * name, int add);
|
void BLI_newname(char * name, int add);
|
||||||
int BLI_stringdec(char *string, char *kop, char *start, unsigned short *numlen);
|
int BLI_stringdec(char *string, char *kop, char *start, unsigned short *numlen);
|
||||||
void BLI_stringenc(char *string, char *kop, char *start, unsigned short numlen, int pic);
|
void BLI_stringenc(char *string, char *kop, char *start, unsigned short numlen, int pic);
|
||||||
|
@@ -223,7 +223,7 @@ void BLI_newname(char *name, int add)
|
|||||||
* defname: the name that should be used by default if none is specified already
|
* defname: the name that should be used by default if none is specified already
|
||||||
* delim: the character which acts as a delimeter between parts of the name
|
* delim: the character which acts as a delimeter between parts of the name
|
||||||
*/
|
*/
|
||||||
void BLI_uniquename(ListBase *list, void *vlink, char defname[], char delim, short name_offs, short len)
|
void BLI_uniquename(ListBase *list, void *vlink, const char defname[], char delim, short name_offs, short len)
|
||||||
{
|
{
|
||||||
Link *link;
|
Link *link;
|
||||||
char tempname[128];
|
char tempname[128];
|
||||||
|
@@ -673,7 +673,7 @@ protected:
|
|||||||
copy_m4_m4(local, mat);
|
copy_m4_m4(local, mat);
|
||||||
}
|
}
|
||||||
|
|
||||||
TransformBase::decompose(local, loc, rot, size);
|
TransformBase::decompose(local, loc, rot, NULL, size);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
// this code used to create a single <rotate> representing object rotation
|
// this code used to create a single <rotate> representing object rotation
|
||||||
|
File diff suppressed because it is too large
Load Diff
@@ -26,7 +26,7 @@ public:
|
|||||||
|
|
||||||
// TODO need also for angle conversion, time conversion...
|
// TODO need also for angle conversion, time conversion...
|
||||||
|
|
||||||
void mat4_from_dae(float out[][4], const COLLADABU::Math::Matrix4& in)
|
void dae_matrix_to_mat4(float out[][4], const COLLADABU::Math::Matrix4& in)
|
||||||
{
|
{
|
||||||
// in DAE, matrices use columns vectors, (see comments in COLLADABUMathMatrix4.h)
|
// in DAE, matrices use columns vectors, (see comments in COLLADABUMathMatrix4.h)
|
||||||
// so here, to make a blender matrix, we swap columns and rows
|
// so here, to make a blender matrix, we swap columns and rows
|
||||||
@@ -58,10 +58,13 @@ public:
|
|||||||
class TransformBase
|
class TransformBase
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
void decompose(float mat[][4], float *loc, float *rot, float *size)
|
void decompose(float mat[][4], float *loc, float eul[3], float quat[4], float *size)
|
||||||
{
|
{
|
||||||
mat4_to_size( size,mat);
|
mat4_to_size(size, mat);
|
||||||
mat4_to_eul( rot,mat);
|
if (eul)
|
||||||
|
mat4_to_eul(eul, mat);
|
||||||
|
if (quat)
|
||||||
|
mat4_to_quat(quat, mat);
|
||||||
copy_v3_v3(loc, mat[3]);
|
copy_v3_v3(loc, mat[3]);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user