[Bf-blender-cvs] [9ff1ebe] soc-2014-fluid: Merge remote-tracking branch 'origin/master' into soc-2014-fluid

Daniel Genrich noreply at git.blender.org
Thu Oct 23 15:12:46 CEST 2014


Commit: 9ff1ebed52e0f858a395eeea4caf89304e068b2d
Author: Daniel Genrich
Date:   Thu Oct 23 15:12:28 2014 +0200
Branches: soc-2014-fluid
https://developer.blender.org/rB9ff1ebed52e0f858a395eeea4caf89304e068b2d

Merge remote-tracking branch 'origin/master' into soc-2014-fluid

Conflicts:
	.gitignore
	intern/cycles/CMakeLists.txt
	source/blender/blenkernel/intern/smoke.c
	source/blender/python/intern/bpy_interface.c
	source/creator/CMakeLists.txt

===================================================================



===================================================================

diff --cc .gitignore
index f5b00f4,b172c44..78ac65a
--- a/.gitignore
+++ b/.gitignore
@@@ -26,11 -26,9 +26,14 @@@ Desktop.in
  # local patches
  /*.patch
  /*.diff
--
- .gitignore
+ # in-source doc-gen
+ /doc/doxygen/html/
+ /doc/python_api/sphinx-in-tmp/
+ /doc/python_api/sphinx-in/
 -/doc/python_api/sphinx-out/
++/doc/python_api/sphinx-out/.gitignore
 +Roman_Pogribnyi/
 +Roman_Pogribnyi.tar.gz
 +Archive.zip
 +Roman_Pogribnyi 2/
 +make_diffs.txt
- series
++series
diff --cc CMakeLists.txt
index 05a8c99,497abb3..c412057
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@@ -2189,11 -2434,15 +2463,15 @@@ if(CMAKE_COMPILER_IS_GNUCC
  
  elseif(CMAKE_C_COMPILER_ID MATCHES "Clang")
  
+ 	if(APPLE AND WITH_OPENMP) # we need the Intel omp lib linked here to not fail all tests due presence of -fopenmp !
+ 		set(CMAKE_REQUIRED_FLAGS "-L${LIBDIR}/openmp/lib -liomp5") # these are only used for the checks
+ 	endif()
+ 
  	# strange, clang complains these are not supported, but then yses them.
  	ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_ALL -Wall)
 -	ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_ERROR_DECLARATION_AFTER_STATEMENT -Werror=declaration-after-statement)
 -	ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_ERROR_IMPLICIT_FUNCTION_DECLARATION -Werror=implicit-function-declaration)
 -	ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_ERROR_RETURN_TYPE  -Werror=return-type)
 +#	ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_ERROR_DECLARATION_AFTER_STATEMENT -Werror=declaration-after-statement)
 +#	ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_ERROR_IMPLICIT_FUNCTION_DECLARATION -Werror=implicit-function-declaration)
 +#	ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_ERROR_RETURN_TYPE  -Werror=return-type)
  	ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_NO_AUTOLOGICAL_COMPARE -Wno-tautological-compare)
  	ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_NO_UNKNOWN_PRAGMAS -Wno-unknown-pragmas)
  	ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_NO_CHAR_SUBSCRIPTS -Wno-char-subscripts)
diff --cc intern/smoke/CMakeLists.txt
index 1ca8701,8cda0fd..be0c621
--- a/intern/smoke/CMakeLists.txt
+++ b/intern/smoke/CMakeLists.txt
@@@ -30,11 -30,9 +30,11 @@@ set(IN
  
  set(INC_SYS
  	${BULLET_INCLUDE_DIRS}
- 	${PNG_INCLUDE_DIR}
+ 	${PNG_INCLUDE_DIRS}
  	${ZLIB_INCLUDE_DIRS}
 +	${PYTHON_INCLUDE_DIRS}
  )
 +add_definitions(-DWITH_PYTHON)
  
  set(SRC
  	intern/EIGENVALUE_HELPER.cpp
diff --cc source/blender/blenkernel/intern/smoke.c
index c0cc2cd,90ac712..50e0054
--- a/source/blender/blenkernel/intern/smoke.c
+++ b/source/blender/blenkernel/intern/smoke.c
@@@ -211,10 -205,8 +211,10 @@@ void smoke_reallocate_highres_fluid(Smo
  	/* smoke_turbulence_init uses non-threadsafe functions from fftw3 lib (like fftw_plan & co). */
  	BLI_lock_thread(LOCK_FFTW);
  
- 	sds->wt = smoke_turbulence_init(res, sds->amplify + 1, sds->noise, BLI_temporary_dir(), use_fire, use_colors);
+ 	sds->wt = smoke_turbulence_init(res, sds->amplify + 1, sds->noise, BLI_temp_dir_session(), use_fire, use_colors);
 -
 +	if (sds->flags & MOD_SMOKE_USE_MANTA){
 +		smoke_mantaflow_write_scene_file(sds->smd);
 +	}
  	BLI_unlock_thread(LOCK_FFTW);
  
  	sds->res_wt[0] = res[0] * (sds->amplify + 1);
@@@ -1578,9 -1552,7 +1578,8 @@@ static void sample_derivedmesh
  
  static void emit_from_derivedmesh(Object *flow_ob, SmokeDomainSettings *sds, SmokeFlowSettings *sfs, EmissionMap *em, float dt)
  {
 +	clock_t start = clock();
- 	if (!sfs->dm) return;
- 	{
+ 	if (sfs->dm) {
  		DerivedMesh *dm;
  		int defgrp_index = sfs->vgroup_density - 1;
  		MDeformVert *dvert = NULL;
@@@ -1711,15 -1683,17 +1710,21 @@@
  		free_bvhtree_from_mesh(&treeData);
  		/* restore original mverts */
  		CustomData_set_layer(&dm->vertData, CD_MVERT, mvert_orig);
- 		if (mvert)
+ 
+ 		if (mvert) {
  			MEM_freeN(mvert);
+ 		}
+ 		if (vert_vel) {
+ 			MEM_freeN(vert_vel);
+ 		}
  
- 		if (vert_vel) MEM_freeN(vert_vel);
+ 		dm->needsFree = 1;
+ 		dm->release(dm);
  	}
 +	clock_t end = clock();
 +	float seconds = (float)(end - start) / CLOCKS_PER_SEC;
 +	printf("TIME FOR RECONSTRUCTING SDF: %f \n", seconds);
 +	int kkk = 9;
  }
  
  /**********************************************************
diff --cc source/blender/editors/physics/physics_fluid.c
index 7c49319,b53891f..fb224da
--- a/source/blender/editors/physics/physics_fluid.c
+++ b/source/blender/editors/physics/physics_fluid.c
@@@ -1133,130 -1129,3 +1133,130 @@@ void FLUID_OT_bake(wmOperatorType *ot
  	ot->poll = ED_operator_object_active_editable;
  }
  
 +
 +
 +static int manta_make_file_invoke(bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
 +{
 +	Scene *scene= CTX_data_scene(C);
 +	SmokeModifierData *smd;
 +	Object * smokeDomain = CTX_data_active_object(C);
 +	smd = (SmokeModifierData *)modifiers_findByType(smokeDomain, eModifierType_Smoke);
 +	smoke_mantaflow_write_scene_file(smd);
 +	/*	return OPERATOR_CANCELLED;*/
 +	
 +	return OPERATOR_FINISHED;
 +}
 +
 +static int manta_make_file_exec(bContext *C, wmOperator *op)
 +{
 +	Scene *scene= CTX_data_scene(C);
 +	SmokeModifierData *smd;
 +	Object * smokeDomain = CTX_data_active_object(C);
 +	smd = (SmokeModifierData *)modifiers_findByType(smokeDomain, eModifierType_Smoke);
 +	
 +	if (smd->domain->fluid == NULL)
 +	{
 +		smoke_reallocate_fluid(smd->domain, smd->domain->dx, smd->domain->res, 1);
 +		if (smd->domain->flags & MOD_SMOKE_HIGHRES) {
 +			smoke_reallocate_highres_fluid(smd->domain, smd->domain->dx, smd->domain->res, 1);
 +		}
 +		//		smd->domain->fluid = smoke_init(smd->domain->res, 0.1f, 0.1f, 0,0,0);
 +	}
 +	smoke_mantaflow_write_scene_file(smd);
 +
 +	/*	return OPERATOR_CANCELLED;*/
 +	
 +	return OPERATOR_FINISHED;
 +}
 +
 +
 +void MANTA_OT_make_file(wmOperatorType *ot)
 +{
 +	/* identifiers */
 +	ot->name = "Create Mantaflow File";
 +	ot->description = "Create Python Script for Simulation";
 +	ot->idname = "MANTA_OT_make_file";
 +	
 +	/* api callbacks */
 +	ot->invoke = manta_make_file_invoke;
 +	ot->exec = manta_make_file_exec;
 +	ot->poll = ED_operator_object_active_editable;
 +}
 +
 +static int manta_sim_step_invoke(bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
 +{
 +	Scene *scene= CTX_data_scene(C);
 +	SmokeModifierData *smd;
 +	Object * smokeDomain = CTX_data_active_object(C);
 +	smd = (SmokeModifierData *)modifiers_findByType(smokeDomain, eModifierType_Smoke);
 +	smoke_mantaflow_sim_step(scene,smd);
 +	/*	return OPERATOR_CANCELLED;*/
 +	
 +	return OPERATOR_FINISHED;
 +}
 +
 +static int manta_sim_step_exec(bContext *C, wmOperator *op)
 +{
 +	Scene *scene= CTX_data_scene(C);
 +	SmokeModifierData *smd;
 +	Object * smokeDomain = CTX_data_active_object(C);
 +	smd = (SmokeModifierData *)modifiers_findByType(smokeDomain, eModifierType_Smoke);
 +	smoke_mantaflow_sim_step(scene,smd);
 +	
 +	/*	return OPERATOR_CANCELLED;*/
 +	
 +	return OPERATOR_FINISHED;
 +}
 +
 +
 +void MANTA_OT_sim_step(wmOperatorType *ot)
 +{
 +	/* identifiers */
 +	ot->name = "Run Mantaflow Step";
 +	ot->description = "Run One Step of Mantaflow Simulation";
 +	ot->idname = "MANTA_OT_sim_step";
 +	
 +	/* api callbacks */
 +	ot->invoke = manta_sim_step_invoke;
 +	ot->exec = manta_sim_step_exec;
 +	ot->poll = ED_operator_object_active_editable;
 +}
 +
 +static int manta_stop_sim_invoke(bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
 +{
 +//	Scene *scene= CTX_data_scene(C);
 +//	SmokeModifierData *smd;
 +//	Object * smokeDomain = CTX_data_active_object(C);
 +//	smd = (SmokeModifierData *)modifiers_findByType(smokeDomain, eModifierType_Smoke);
 +	smoke_mantaflow_stop_sim();
 +	/*	return OPERATOR_CANCELLED;*/
 +	
 +	return OPERATOR_FINISHED;
 +}
 +
 +static int manta_stop_sim_exec(bContext *C, wmOperator *op)
 +{
 +//	Scene *scene= CTX_data_scene(C);
 +//	SmokeModifierData *smd;
 +//	Object * smokeDomain = CTX_data_active_object(C);
 +//	smd = (SmokeModifierData *)modifiers_findByType(smokeDomain, eModifierType_Smoke);
 +	smoke_mantaflow_stop_sim();
 +	
 +	/*	return OPERATOR_CANCELLED;*/
 +	
 +	return OPERATOR_FINISHED;
 +}
 +
 +
 +void MANTA_OT_stop_sim(wmOperatorType *ot)
 +{
 +	/* identifiers */
 +	ot->name = "Stop Mantaflow Sim";
 +	ot->description = "Stop Mantaflow Sim";
 +	ot->idname = "MANTA_OT_stop_sim";
 +	
 +	/* api callbacks */
 +	ot->invoke = manta_stop_sim_invoke;
 +	ot->exec = manta_stop_sim_exec;
 +	ot->poll = ED_operator_object_active_editable;
- }
++}
diff --cc source/blender/python/SConscript
index a008678,9988e09..d7c47d1
--- a/source/blender/python/SConscript
+++ b/source/blender/python/SConscript
@@@ -77,15 -78,9 +78,15 @@@ defs = [
  sources = env.Glob('mathutils/*.c')
  env.BlenderLib( libname = 'bf_python_mathutils', sources = Split(sources), includes = Split(incs), defines = defs, libtype = ['core','player'], priority = [362,165])
  
 +# manta
 +defs = []
 +
 +sources = env.Glob('manta_pp/source/*')
 +env.BlenderLib( libname = 'bf_python_manta', sources = Split(sources), includes = Split(incs), defines = defs, libtype = ['core','player'])
 +
  
  # bpy
- defs = []
+ defs = env['BF_GL_DEFINITIONS']
  
  if is_debug:
      defs.append('_DEBUG')




More information about the Bf-blender-cvs mailing list