forked from bartvdbraak/blender
Merge of the COLLADA GSoC branch into trunk.
COLLADA code is disabled by default (it has dependencies requiring manual install). SCons and CMake builds are supported on Windows and Linux, no Mac building yet. More on building COLLADA code: http://wiki.blender.org/index.php/User:Kazanbas/Building_Collada_Branch. The detailed command log of the merge (can be useful for educational purposes): branch=https://svn.blender.org/svnroot/bf-blender/branches/soc-2009-chingachgook # collada code svn copy $branch/source/blender/collada source/blender/collada # operator svn merge -c 20401,20955,21077,24077,24079 $branch/source/blender/windowmanager/intern/wm_operators.c source/blender/windowmanager/intern/wm_operators.c # menu svn merge -c 24079 $branch/release/scripts/ui/space_info.py release/scripts/ui/space_info.py # scons svn merge -c 20398 $branch/source/blender/SConscript source/blender/SConscript svn merge -c 20398,20691,20955,22726 $branch/tools/btools.py tools/btools.py svn merge -c 20691,20955,22726 $branch/tools/Blender.py tools/Blender.py svn merge -c 20398,20692,20955 $branch/config/linux2-config.py config/linux2-config.py svn merge -c 22726 $branch/config/win64-vc-config.py config/win64-vc-config.py svn merge -c 22726 $branch/config/win32-vc-config.py config/win32-vc-config.py svn merge -c 24077 $branch/source/blender/windowmanager/SConscript source/blender/windowmanager/SConscript # cmake svn merge -c 23319,23905,24077,24158 $branch/CMakeLists.txt CMakeLists.txt svn merge -c 23319 $branch/source/blender/CMakeLists.txt source/blender/CMakeLists.txt svn merge -c 23319 $branch/source/creator/CMakeLists.txt source/creator/CMakeLists.txt svn merge -c 23319 $branch/CMake/macros.cmake CMake/macros.cmake svn merge -c 24077 $branch/source/blender/windowmanager/CMakeLists.txt source/blender/windowmanager/CMakeLists.txt
This commit is contained in:
parent
84eb897caa
commit
31258507d0
@ -76,6 +76,11 @@ MACRO(SETUP_LIBDIRS)
|
||||
IF(WITH_FFTW3)
|
||||
LINK_DIRECTORIES(${FFTW3_LIBPATH})
|
||||
ENDIF(WITH_FFTW3)
|
||||
IF(WITH_OPENCOLLADA)
|
||||
LINK_DIRECTORIES(${OPENCOLLADA_LIBPATH})
|
||||
LINK_DIRECTORIES(${PCRE_LIBPATH})
|
||||
LINK_DIRECTORIES(${EXPAT_LIBPATH})
|
||||
ENDIF(WITH_OPENCOLLADA)
|
||||
|
||||
IF(WIN32)
|
||||
LINK_DIRECTORIES(${PTHREADS_LIBPATH})
|
||||
@ -135,6 +140,11 @@ MACRO(SETUP_LIBLINKS
|
||||
IF(WITH_FFMPEG)
|
||||
TARGET_LINK_LIBRARIES(${target} ${FFMPEG_LIB})
|
||||
ENDIF(WITH_FFMPEG)
|
||||
IF(WITH_OPENCOLLADA)
|
||||
TARGET_LINK_LIBRARIES(${target} ${OPENCOLLADA_LIB})
|
||||
TARGET_LINK_LIBRARIES(${target} ${PCRE_LIB})
|
||||
TARGET_LINK_LIBRARIES(${target} ${EXPAT_LIB})
|
||||
ENDIF(WITH_OPENCOLLADA)
|
||||
IF(WIN32)
|
||||
TARGET_LINK_LIBRARIES(${target} ${PTHREADS_LIB})
|
||||
ENDIF(WIN32)
|
||||
|
@ -80,6 +80,7 @@ OPTION(WITH_LZMA "Enable best LZMA compression, used for pointcache" ON
|
||||
OPTION(WITH_CXX_GUARDEDALLOC "Enable GuardedAlloc for C++ memory allocation" OFF)
|
||||
OPTION(WITH_BUILDINFO "Include extra build details" ON)
|
||||
OPTION(WITH_INSTALL "Install accompanying scripts and language files needed to run blender" ON)
|
||||
OPTION(WITH_OPENCOLLADA "Enable OpenCollada Support (http://www.opencollada.org/)" OFF)
|
||||
|
||||
IF (APPLE)
|
||||
OPTION(WITH_COCOA "Use Cocoa framework instead of deprecated Carbon" ON)
|
||||
@ -90,6 +91,19 @@ IF(NOT WITH_GAMEENGINE AND WITH_PLAYER)
|
||||
MESSAGE("WARNING: WITH_PLAYER needs WITH_GAMEENGINE")
|
||||
ENDIF(NOT WITH_GAMEENGINE AND WITH_PLAYER)
|
||||
|
||||
IF (WITH_OPENCOLLADA)
|
||||
SET(OPENCOLLADA /usr/local/opencollada CACHE FILEPATH "OpenCollada Directory")
|
||||
SET(OPENCOLLADA_LIBPATH ${OPENCOLLADA})
|
||||
SET(OPENCOLLADA_LIB OpenCollada)
|
||||
SET(PCRE /usr CACHE FILEPATH "PCRE Directory")
|
||||
SET(PCRE_LIBPATH ${PCRE}/lib)
|
||||
SET(PCRE_LIB pcre)
|
||||
SET(EXPAT /usr CACHE FILEPATH "Expat Directory")
|
||||
SET(EXPAT_LIBPATH ${EXPAT}/lib)
|
||||
SET(EXPAT_LIB expat)
|
||||
|
||||
ENDIF (WITH_OPENCOLLADA)
|
||||
|
||||
# For alternate Python locations the commandline can be used to override detected/default cache settings, e.g:
|
||||
# On Unix:
|
||||
# cmake -D PYTHON_LIB=/usr/local/lib/python2.3/config/libpython2.3.so -D PYTHON_INC=/usr/local/include/python2.3 -D PYTHON_BINARY=/usr/local/bin/python2.3 -G "Unix Makefiles" ../blender
|
||||
|
@ -151,6 +151,20 @@ BF_OPENGL_LIB = 'GL GLU X11 Xi'
|
||||
BF_OPENGL_LIBPATH = '/usr/X11R6/lib'
|
||||
BF_OPENGL_LIB_STATIC = '${BF_OPENGL_LIBPATH}/libGL.a ${BF_OPENGL_LIBPATH}/libGLU.a ${BF_OPENGL_LIBPATH}/libXxf86vm.a ${BF_OPENGL_LIBPATH}/libX11.a ${BF_OPENGL_LIBPATH}/libXi.a ${BF_OPENGL_LIBPATH}/libXext.a ${BF_OPENGL_LIBPATH}/libXxf86vm.a'
|
||||
|
||||
WITH_BF_COLLADA = False
|
||||
BF_COLLADA = '#source/blender/collada'
|
||||
BF_COLLADA_INC = '${BF_COLLADA}'
|
||||
BF_COLLADA_LIB = 'bf_collada'
|
||||
BF_OPENCOLLADA = ''
|
||||
BF_OPENCOLLADA_LIB = 'OpenCollada'
|
||||
BF_OPENCOLLADA_LIBPATH = '/usr/lib'
|
||||
BF_PCRE = ''
|
||||
BF_PCRE_LIB = 'pcre'
|
||||
BF_PCRE_LIBPATH = '/usr/lib'
|
||||
BF_EXPAT = '/usr'
|
||||
BF_EXPAT_LIB = 'expat'
|
||||
BF_EXPAT_LIBPATH = '/usr/lib'
|
||||
|
||||
##
|
||||
CC = 'gcc'
|
||||
CXX = 'g++'
|
||||
|
@ -138,6 +138,16 @@ BF_FFTW3_LIBPATH = '${BF_FFTW3}/lib'
|
||||
WITH_BF_REDCODE = False
|
||||
BF_REDCODE_INC = '#extern'
|
||||
|
||||
WITH_BF_COLLADA = False
|
||||
BF_COLLADA = '#source/blender/collada'
|
||||
BF_COLLADA_INC = '${BF_COLLADA}'
|
||||
BF_COLLADA_LIB = 'bf_collada'
|
||||
|
||||
BF_OPENCOLLADA = LIBDIR + '/opencollada'
|
||||
BF_OPENCOLLADA_INC = '${BF_OPENCOLLADA}/include'
|
||||
BF_OPENCOLLADA_LIB = 'opencollada'
|
||||
BF_OPENCOLLADA_LIBPATH = '${BF_OPENCOLLADA}/lib'
|
||||
|
||||
WITH_BF_STATICOPENGL = False
|
||||
BF_OPENGL_INC = '${BF_OPENGL}/include'
|
||||
BF_OPENGL_LIBINC = '${BF_OPENGL}/lib'
|
||||
|
@ -151,6 +151,16 @@ BF_FFTW3_LIBPATH = '${BF_FFTW3}/lib'
|
||||
WITH_BF_REDCODE = False
|
||||
BF_REDCODE_INC = '#extern'
|
||||
|
||||
WITH_BF_COLLADA = False
|
||||
BF_COLLADA = '#source/blender/collada'
|
||||
BF_COLLADA_INC = '${BF_COLLADA}'
|
||||
BF_COLLADA_LIB = 'bf_collada'
|
||||
|
||||
BF_OPENCOLLADA = LIBDIR + '/opencollada'
|
||||
BF_OPENCOLLADA_INC = '${BF_OPENCOLLADA}/include'
|
||||
BF_OPENCOLLADA_LIB = 'opencollada'
|
||||
BF_OPENCOLLADA_LIBPATH = '${BF_OPENCOLLADA}/lib'
|
||||
|
||||
WITH_BF_STATICOPENGL = False
|
||||
BF_OPENGL_INC = '${BF_OPENGL}/include'
|
||||
BF_OPENGL_LIBINC = '${BF_OPENGL}/lib'
|
||||
|
@ -99,13 +99,13 @@ class INFO_MT_file_import(dynamic_menu.DynMenu):
|
||||
__label__ = "Import"
|
||||
|
||||
def draw(self, context):
|
||||
pass # dynamic menu
|
||||
self.layout.itemO("WM_OT_collada_import", text="COLLADA (.dae)...")
|
||||
|
||||
class INFO_MT_file_export(dynamic_menu.DynMenu):
|
||||
__label__ = "Export"
|
||||
|
||||
def draw(self, context):
|
||||
pass # dynamic menu
|
||||
self.layout.itemO("WM_OT_collada_export", text="COLLADA (.dae)...")
|
||||
|
||||
class INFO_MT_file_external_data(bpy.types.Menu):
|
||||
__label__ = "External Data"
|
||||
|
@ -58,3 +58,7 @@ IF(WITH_PYTHON)
|
||||
ADD_SUBDIRECTORY(python)
|
||||
ENDIF(WITH_PYTHON)
|
||||
|
||||
IF(WITH_OPENCOLLADA)
|
||||
ADD_SUBDIRECTORY(collada)
|
||||
ENDIF(WITH_OPENCOLLADA)
|
||||
|
||||
|
@ -33,3 +33,6 @@ if env['WITH_BF_OPENEXR']:
|
||||
|
||||
if env['WITH_BF_QUICKTIME']:
|
||||
SConscript (['quicktime/SConscript'])
|
||||
|
||||
if env['WITH_BF_COLLADA']:
|
||||
SConscript (['collada/SConscript'])
|
||||
|
44
source/blender/collada/CMakeLists.txt
Normal file
44
source/blender/collada/CMakeLists.txt
Normal file
@ -0,0 +1,44 @@
|
||||
# $Id: CMakeLists.txt 21789 2009-07-22 05:35:12Z kazanbas $
|
||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
# as published by the Free Software Foundation; either version 2
|
||||
# of the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software Foundation,
|
||||
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
#
|
||||
# The Original Code is Copyright (C) 2006, Blender Foundation
|
||||
# All rights reserved.
|
||||
#
|
||||
# The Original Code is: all of this file.
|
||||
#
|
||||
# Contributor(s): Jacques Beaurain.
|
||||
#
|
||||
# ***** END GPL LICENSE BLOCK *****
|
||||
|
||||
FILE(GLOB SRC *.cpp)
|
||||
|
||||
SET(INC
|
||||
.
|
||||
../blenlib
|
||||
../blenkernel
|
||||
../windowmanager
|
||||
../makesdna
|
||||
../makesrna
|
||||
../editors/include
|
||||
../../../intern/guardedalloc
|
||||
${OPENCOLLADA}/COLLADAStreamWriter/include
|
||||
${OPENCOLLADA}/COLLADABaseUtils/include
|
||||
${OPENCOLLADA}/COLLADAFramework/include
|
||||
${OPENCOLLADA}/COLLADASaxFrameworkLoader/include
|
||||
)
|
||||
|
||||
BLENDERLIB(bf_collada "${SRC}" "${INC}")
|
2137
source/blender/collada/DocumentExporter.cpp
Normal file
2137
source/blender/collada/DocumentExporter.cpp
Normal file
File diff suppressed because it is too large
Load Diff
8
source/blender/collada/DocumentExporter.h
Normal file
8
source/blender/collada/DocumentExporter.h
Normal file
@ -0,0 +1,8 @@
|
||||
struct Scene;
|
||||
|
||||
class DocumentExporter
|
||||
{
|
||||
public:
|
||||
void exportCurrentScene(Scene *sce, const char* filename);
|
||||
void exportScenes(const char* filename);
|
||||
};
|
2847
source/blender/collada/DocumentImporter.cpp
Normal file
2847
source/blender/collada/DocumentImporter.cpp
Normal file
File diff suppressed because it is too large
Load Diff
8
source/blender/collada/DocumentImporter.h
Normal file
8
source/blender/collada/DocumentImporter.h
Normal file
@ -0,0 +1,8 @@
|
||||
struct Main;
|
||||
struct bContext;
|
||||
|
||||
class DocumentImporter
|
||||
{
|
||||
public:
|
||||
void import(bContext *C, const char *filename);
|
||||
};
|
10
source/blender/collada/SConscript
Normal file
10
source/blender/collada/SConscript
Normal file
@ -0,0 +1,10 @@
|
||||
#!/usr/bin/python
|
||||
Import ('env')
|
||||
|
||||
sources = env.Glob('*.cpp')
|
||||
|
||||
# relative paths to include dirs, space-separated, string
|
||||
incs = '../blenlib ../blenkernel ../windowmanager ../makesdna ../makesrna ../editors/include ../../../intern/guardedalloc [OPENCOLLADA]/COLLADAStreamWriter/include [OPENCOLLADA]/COLLADABaseUtils/include [OPENCOLLADA]/COLLADAFramework/include [OPENCOLLADA]/COLLADASaxFrameworkLoader/include '.replace('[OPENCOLLADA]', env['BF_OPENCOLLADA_INC'])
|
||||
|
||||
env.BlenderLib ('bf_collada', sources, Split(incs), [], libtype='core', priority=200 )
|
||||
|
26
source/blender/collada/collada.cpp
Normal file
26
source/blender/collada/collada.cpp
Normal file
@ -0,0 +1,26 @@
|
||||
#include "BKE_main.h"
|
||||
#include "BKE_scene.h"
|
||||
#include "BKE_context.h"
|
||||
|
||||
#include "DocumentExporter.h"
|
||||
#include "DocumentImporter.h"
|
||||
|
||||
extern "C"
|
||||
{
|
||||
int collada_import(bContext *C, const char *filepath)
|
||||
{
|
||||
DocumentImporter imp;
|
||||
imp.import(C, filepath);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int collada_export(Scene *sce, const char *filepath)
|
||||
{
|
||||
|
||||
DocumentExporter exp;
|
||||
exp.exportCurrentScene(sce, filepath);
|
||||
|
||||
return 1;
|
||||
}
|
||||
}
|
19
source/blender/collada/collada.h
Normal file
19
source/blender/collada/collada.h
Normal file
@ -0,0 +1,19 @@
|
||||
#ifndef BLENDER_COLLADA_H
|
||||
#define BLENDER_COLLADA_H
|
||||
|
||||
struct bContext;
|
||||
struct Scene;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
/*
|
||||
* both return 1 on success, 0 on error
|
||||
*/
|
||||
int collada_import(bContext *C, const char *filepath);
|
||||
int collada_export(Scene *sce, const char *filepath);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
69
source/blender/collada/collada_internal.h
Normal file
69
source/blender/collada/collada_internal.h
Normal file
@ -0,0 +1,69 @@
|
||||
#ifndef BLENDER_COLLADA_H
|
||||
#define BLENDER_COLLADA_H
|
||||
|
||||
#include "COLLADAFWFileInfo.h"
|
||||
#include "Math/COLLADABUMathMatrix4.h"
|
||||
|
||||
class UnitConverter
|
||||
{
|
||||
private:
|
||||
COLLADAFW::FileInfo::Unit unit;
|
||||
COLLADAFW::FileInfo::UpAxisType up_axis;
|
||||
|
||||
public:
|
||||
|
||||
UnitConverter() : unit(), up_axis(COLLADAFW::FileInfo::Z_UP) {}
|
||||
|
||||
void read_asset(const COLLADAFW::FileInfo* asset)
|
||||
{
|
||||
}
|
||||
|
||||
// TODO
|
||||
// convert vector vec from COLLADA format to Blender
|
||||
void convertVec3(float *vec)
|
||||
{
|
||||
}
|
||||
|
||||
// TODO need also for angle conversion, time conversion...
|
||||
|
||||
void mat4_from_dae(float out[][4], const COLLADABU::Math::Matrix4& in)
|
||||
{
|
||||
// in DAE, matrices use columns vectors, (see comments in COLLADABUMathMatrix4.h)
|
||||
// so here, to make a blender matrix, we swap columns and rows
|
||||
for (int i = 0; i < 4; i++) {
|
||||
for (int j = 0; j < 4; j++) {
|
||||
out[i][j] = in[j][i];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void mat4_to_dae(float out[][4], float in[][4])
|
||||
{
|
||||
Mat4CpyMat4(out, in);
|
||||
Mat4Transp(out);
|
||||
}
|
||||
|
||||
void mat4_to_dae_double(double out[][4], float in[][4])
|
||||
{
|
||||
float mat[4][4];
|
||||
|
||||
mat4_to_dae(mat, in);
|
||||
|
||||
for (int i = 0; i < 4; i++)
|
||||
for (int j = 0; j < 4; j++)
|
||||
out[i][j] = mat[i][j];
|
||||
}
|
||||
};
|
||||
|
||||
class TransformBase
|
||||
{
|
||||
public:
|
||||
void decompose(float mat[][4], float *loc, float *rot, float *size)
|
||||
{
|
||||
Mat4ToSize(mat, size);
|
||||
Mat4ToEul(mat, rot);
|
||||
VecCopyf(loc, mat[3]);
|
||||
}
|
||||
};
|
||||
|
||||
#endif
|
@ -50,6 +50,10 @@ IF(WITH_OPENEXR)
|
||||
ADD_DEFINITIONS(-DWITH_OPENEXR)
|
||||
ENDIF(WITH_OPENEXR)
|
||||
|
||||
IF(WITH_OPENCOLLADA)
|
||||
ADD_DEFINITIONS(-DWITH_COLLADA)
|
||||
ENDIF(WITH_OPENCOLLADA)
|
||||
|
||||
IF(WITH_QUICKTIME)
|
||||
SET(INC ${INC} ../quicktime ${QUICKTIME_INC})
|
||||
ADD_DEFINITIONS(-DWITH_QUICKTIME)
|
||||
|
@ -19,6 +19,9 @@ defs = []
|
||||
if not env['WITH_BF_PYTHON']:
|
||||
defs.append('DISABLE_PYTHON')
|
||||
|
||||
if env['WITH_BF_COLLADA']:
|
||||
defs.append('WITH_COLLADA')
|
||||
|
||||
if env['OURPLATFORM'] == 'linux2':
|
||||
cflags='-pthread'
|
||||
incs += ' ../../../extern/binreloc/include'
|
||||
|
@ -1345,6 +1345,105 @@ static void WM_OT_save_mainfile(wmOperatorType *ot)
|
||||
}
|
||||
|
||||
|
||||
/* XXX: move these collada operators to a more appropriate place */
|
||||
#ifdef WITH_COLLADA
|
||||
|
||||
#include "../../collada/collada.h"
|
||||
|
||||
static int wm_collada_export_invoke(bContext *C, wmOperator *op, wmEvent *event)
|
||||
{
|
||||
//char name[FILE_MAX];
|
||||
//BLI_strncpy(name, G.sce, FILE_MAX);
|
||||
//untitled(name);
|
||||
|
||||
/* RNA_string_set(op->ptr, "path", "/tmp/test.dae"); */
|
||||
|
||||
WM_event_add_fileselect(C, op);
|
||||
|
||||
return OPERATOR_RUNNING_MODAL;
|
||||
}
|
||||
|
||||
/* function used for WM_OT_save_mainfile too */
|
||||
static int wm_collada_export_exec(bContext *C, wmOperator *op)
|
||||
{
|
||||
char filename[FILE_MAX];
|
||||
|
||||
if(RNA_property_is_set(op->ptr, "path"))
|
||||
RNA_string_get(op->ptr, "path", filename);
|
||||
else {
|
||||
BLI_strncpy(filename, G.sce, FILE_MAX);
|
||||
untitled(filename);
|
||||
}
|
||||
|
||||
//WM_write_file(C, filename, op->reports);
|
||||
collada_export(CTX_data_scene(C), filename);
|
||||
|
||||
/* WM_event_add_notifier(C, NC_WM|ND_FILESAVE, NULL); */
|
||||
|
||||
return OPERATOR_FINISHED;
|
||||
}
|
||||
|
||||
static void WM_OT_collada_export(wmOperatorType *ot)
|
||||
{
|
||||
ot->name= "Export COLLADA";
|
||||
ot->idname= "WM_OT_collada_export";
|
||||
|
||||
ot->invoke= wm_collada_export_invoke;
|
||||
ot->exec= wm_collada_export_exec;
|
||||
ot->poll= WM_operator_winactive;
|
||||
|
||||
ot->flag= 0;
|
||||
|
||||
RNA_def_property(ot->srna, "path", PROP_STRING, PROP_FILEPATH);
|
||||
}
|
||||
|
||||
static int wm_collada_import_invoke(bContext *C, wmOperator *op, wmEvent *event)
|
||||
{
|
||||
/* RNA_string_set(op->ptr, "path", "/tmp/test.dae"); */
|
||||
|
||||
WM_event_add_fileselect(C, op);
|
||||
|
||||
return OPERATOR_RUNNING_MODAL;
|
||||
}
|
||||
|
||||
/* function used for WM_OT_save_mainfile too */
|
||||
static int wm_collada_import_exec(bContext *C, wmOperator *op)
|
||||
{
|
||||
char filename[FILE_MAX];
|
||||
|
||||
if(RNA_property_is_set(op->ptr, "path"))
|
||||
RNA_string_get(op->ptr, "path", filename);
|
||||
else {
|
||||
BLI_strncpy(filename, G.sce, FILE_MAX);
|
||||
untitled(filename);
|
||||
}
|
||||
|
||||
//WM_write_file(C, filename, op->reports);
|
||||
collada_import(C, filename);
|
||||
|
||||
/* WM_event_add_notifier(C, NC_WM|ND_FILESAVE, NULL); */
|
||||
|
||||
return OPERATOR_FINISHED;
|
||||
}
|
||||
|
||||
static void WM_OT_collada_import(wmOperatorType *ot)
|
||||
{
|
||||
ot->name= "Import COLLADA";
|
||||
ot->idname= "WM_OT_collada_import";
|
||||
|
||||
ot->invoke= wm_collada_import_invoke;
|
||||
ot->exec= wm_collada_import_exec;
|
||||
ot->poll= WM_operator_winactive;
|
||||
|
||||
ot->flag= 0;
|
||||
|
||||
RNA_def_property(ot->srna, "path", PROP_STRING, PROP_FILEPATH);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/* *********************** */
|
||||
|
||||
static void WM_OT_window_fullscreen_toggle(wmOperatorType *ot)
|
||||
@ -2248,6 +2347,13 @@ void wm_operatortype_init(void)
|
||||
WM_operatortype_append(WM_OT_debug_menu);
|
||||
WM_operatortype_append(WM_OT_search_menu);
|
||||
WM_operatortype_append(WM_OT_call_menu);
|
||||
|
||||
#ifdef WITH_COLLADA
|
||||
/* XXX: move these */
|
||||
WM_operatortype_append(WM_OT_collada_export);
|
||||
WM_operatortype_append(WM_OT_collada_import);
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
/* default keymap for windows and screens, only call once per WM */
|
||||
|
@ -379,6 +379,7 @@ IF(UNIX)
|
||||
bf_openexr
|
||||
bf_dds
|
||||
bf_readblenfile
|
||||
bf_collada
|
||||
blender_bop
|
||||
bf_kernel
|
||||
bf_decimation
|
||||
|
@ -161,6 +161,13 @@ def setup_staticlibs(lenv):
|
||||
if lenv['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc'):
|
||||
libincs += Split(lenv['BF_PTHREADS_LIBPATH'])
|
||||
|
||||
if lenv['WITH_BF_COLLADA']:
|
||||
libincs += Split(lenv['BF_OPENCOLLADA_LIBPATH'])
|
||||
if lenv['OURPLATFORM'] not in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc'):
|
||||
libincs += Split(lenv['BF_PCRE_LIBPATH'])
|
||||
libincs += Split(lenv['BF_EXPAT_LIBPATH'])
|
||||
|
||||
|
||||
return statlibs, libincs
|
||||
|
||||
def setup_syslibs(lenv):
|
||||
@ -211,6 +218,10 @@ def setup_syslibs(lenv):
|
||||
syslibs += Split(lenv['BF_PTHREADS_LIB'])
|
||||
if lenv['WITH_BF_LCMS']:
|
||||
syslibs.append(lenv['BF_LCMS_LIB'])
|
||||
if lenv['WITH_BF_COLLADA']:
|
||||
syslibs.append(lenv['BF_PCRE_LIB'])
|
||||
syslibs += Split(lenv['BF_OPENCOLLADA_LIB'])
|
||||
syslibs.append(lenv['BF_EXPAT_LIB'])
|
||||
|
||||
|
||||
syslibs += lenv['LLIBS']
|
||||
|
@ -53,6 +53,7 @@ def validate_arguments(args, bc):
|
||||
'WITH_BF_QUICKTIME', 'BF_QUICKTIME', 'BF_QUICKTIME_INC', 'BF_QUICKTIME_LIB', 'BF_QUICKTIME_LIBPATH',
|
||||
'WITH_BF_FFTW3', 'BF_FFTW3', 'BF_FFTW3_INC', 'BF_FFTW3_LIB', 'BF_FFTW3_LIBPATH',
|
||||
'WITH_BF_STATICOPENGL', 'BF_OPENGL', 'BF_OPENGL_INC', 'BF_OPENGL_LIB', 'BF_OPENGL_LIBPATH', 'BF_OPENGL_LIB_STATIC',
|
||||
'WITH_BF_COLLADA', 'BF_COLLADA', 'BF_COLLADA_INC', 'BF_COLLADA_LIB', 'BF_OPENCOLLADA', 'BF_OPENCOLLADA_INC', 'BF_OPENCOLLADA_LIB', 'BF_OPENCOLLADA_LIBPATH', 'BF_PCRE', 'BF_PCRE_LIB', 'BF_PCRE_LIBPATH', 'BF_EXPAT', 'BF_EXPAT_LIB', 'BF_EXPAT_LIBPATH',
|
||||
'WITH_BF_PLAYER',
|
||||
'WITH_BF_NOBLENDER',
|
||||
'WITH_BF_BINRELOC',
|
||||
@ -334,6 +335,21 @@ def read_opts(cfg, args):
|
||||
('BF_OPENGL_LIB_STATIC', 'OpenGL static libraries', ''),
|
||||
('BF_OPENGL_LINKFLAGS', 'OpenGL link flags', ''),
|
||||
|
||||
(BoolVariable('WITH_BF_COLLADA', 'Build COLLADA import/export module if true', True)),
|
||||
('BF_COLLADA', 'COLLADA base path', ''),
|
||||
('BF_COLLADA_INC', 'COLLADA include path', ''),
|
||||
('BF_COLLADA_LIB', 'COLLADA library', ''),
|
||||
('BF_OPENCOLLADA', 'OpenCollada base path', ''),
|
||||
('BF_OPENCOLLADA_INC', 'OpenCollada base include path', ''),
|
||||
('BF_OPENCOLLADA_LIB', 'OpenCollada library', ''),
|
||||
('BF_OPENCOLLADA_LIBPATH', 'OpenCollada library path', ''),
|
||||
('BF_PCRE', 'PCRE base path', ''),
|
||||
('BF_PCRE_LIB', 'PCRE library', ''),
|
||||
('BF_PCRE_LIBPATH', 'PCRE library path', ''),
|
||||
('BF_EXPAT', 'Expat base path', ''),
|
||||
('BF_EXPAT_LIB', 'Expat library', ''),
|
||||
('BF_EXPAT_LIBPATH', 'Expat library path', ''),
|
||||
|
||||
(BoolVariable('WITH_BF_PLAYER', 'Build blenderplayer if true', False)),
|
||||
(BoolVariable('WITH_BF_NOBLENDER', 'Do not build blender if true', False)),
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user