diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2018-02-27 14:17:23 +0300 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2018-02-27 14:17:23 +0300 |
commit | f9b2e4a16b1beb62afdcb6e910d7d4bc39950b20 (patch) | |
tree | 9b117c15199402a141d1eea61ff65662d2c4ecd5 /source/blender/makesrna/intern | |
parent | fdd7b788ace22d5bdf4fc48fcc6ea5b90fd2a615 (diff) | |
parent | 6aadd61bd892d3908ed815171553a3c52144ec6c (diff) |
Merge branch 'master' into soc-2017-normal-tools
Diffstat (limited to 'source/blender/makesrna/intern')
-rw-r--r-- | source/blender/makesrna/intern/rna_scene_api.c | 117 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_smoke.c | 52 |
2 files changed, 52 insertions, 117 deletions
diff --git a/source/blender/makesrna/intern/rna_scene_api.c b/source/blender/makesrna/intern/rna_scene_api.c index 0f22f8d3b0f..3043e636b31 100644 --- a/source/blender/makesrna/intern/rna_scene_api.c +++ b/source/blender/makesrna/intern/rna_scene_api.c @@ -262,63 +262,6 @@ static void rna_Scene_alembic_export( #endif -#ifdef WITH_COLLADA -/* don't remove this, as COLLADA exporting cannot be done through operators in render() callback. */ -#include "../../collada/collada.h" - -/* Note: This definition must match to the generated function call */ -static void rna_Scene_collada_export( - Scene *scene, - const char *filepath, - int apply_modifiers, - - int export_mesh_type, - int selected, - int include_children, - int include_armatures, - int include_shapekeys, - int deform_bones_only, - int active_uv_only, - int export_texture_type, - int use_texture_copies, - int triangulate, - int use_object_instantiation, - int use_blender_profile, - int sort_by_name, - int export_transformation_type, - int open_sim, - int limit_precision, - int keep_bind_info) -{ - collada_export(scene, - filepath, - - apply_modifiers, - export_mesh_type, - - selected, - include_children, - include_armatures, - include_shapekeys, - deform_bones_only, - - active_uv_only, - export_texture_type, - use_texture_copies, - - triangulate, - use_object_instantiation, - use_blender_profile, - sort_by_name, - - export_transformation_type, - open_sim, - limit_precision, - keep_bind_info); -} - -#endif - #else void RNA_api_scene(StructRNA *srna) @@ -374,66 +317,6 @@ void RNA_api_scene(StructRNA *srna) parm = RNA_def_float_matrix(func, "matrix", 4, 4, NULL, 0.0f, 0.0f, "", "Matrix", 0.0f, 0.0f); RNA_def_function_output(func, parm); -#ifdef WITH_COLLADA - /* don't remove this, as COLLADA exporting cannot be done through operators in render() callback. */ - func = RNA_def_function(srna, "collada_export", "rna_Scene_collada_export"); - parm = RNA_def_string(func, "filepath", NULL, FILE_MAX, "File Path", "File path to write Collada file"); - RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); - RNA_def_property_subtype(parm, PROP_FILEPATH); /* allow non utf8 */ - - RNA_def_boolean(func, "apply_modifiers", false, - "Apply Modifiers", "Apply modifiers to exported mesh (non destructive))"); - - RNA_def_int(func, "export_mesh_type", 0, INT_MIN, INT_MAX, - "Resolution", "Modifier resolution for export", INT_MIN, INT_MAX); - - RNA_def_boolean(func, "selected", false, "Selection Only", "Export only selected elements"); - - RNA_def_boolean(func, "include_children", false, - "Include Children", "Export all children of selected objects (even if not selected)"); - - RNA_def_boolean(func, "include_armatures", false, - "Include Armatures", "Export related armatures (even if not selected)"); - - RNA_def_boolean(func, "include_shapekeys", true, "Include Shape Keys", "Export all Shape Keys from Mesh Objects"); - - RNA_def_boolean(func, "deform_bones_only", false, - "Deform Bones only", "Only export deforming bones with armatures"); - - RNA_def_boolean(func, "active_uv_only", false, "Only Selected UV Map", "Export only the selected UV Map"); - - RNA_def_int(func, "export_texture_type", 0, INT_MIN, INT_MAX, - "Texture Type", "Type for exported Textures (UV or MAT)", INT_MIN, INT_MAX); - - RNA_def_boolean(func, "use_texture_copies", true, - "Copy", "Copy textures to same folder where the .dae file is exported"); - - RNA_def_boolean(func, "triangulate", true, "Triangulate", "Export Polygons (Quads & NGons) as Triangles"); - - RNA_def_boolean(func, "use_object_instantiation", true, - "Use Object Instances", "Instantiate multiple Objects from same Data"); - - RNA_def_boolean(func, "use_blender_profile", true, "Use Blender Profile", - "Export additional Blender specific information (for material, shaders, bones, etc.)"); - - RNA_def_boolean(func, "sort_by_name", false, "Sort by Object name", "Sort exported data by Object name"); - - RNA_def_int(func, "export_transformation_type", 0, INT_MIN, INT_MAX, - "Transform", "Transformation type for translation, scale and rotation", INT_MIN, INT_MAX); - - RNA_def_boolean(func, "open_sim", false, - "Export to SL/OpenSim", "Compatibility mode for SL, OpenSim and other compatible online worlds"); - - RNA_def_boolean(func, "limit_precision", false, - "Limit Precision", - "Reduce the precision of the exported data to 6 digits"); - - RNA_def_boolean(func, "keep_bind_info", false, - "Keep Bind Info", - "Store bind pose information in custom bone properties for later use during Collada export"); - -#endif - #ifdef WITH_ALEMBIC /* XXX Deprecated, will be removed in 2.8 in favour of calling the export operator. */ func = RNA_def_function(srna, "alembic_export", "rna_Scene_alembic_export"); diff --git a/source/blender/makesrna/intern/rna_smoke.c b/source/blender/makesrna/intern/rna_smoke.c index 08665f3007a..54daba706c7 100644 --- a/source/blender/makesrna/intern/rna_smoke.c +++ b/source/blender/makesrna/intern/rna_smoke.c @@ -362,6 +362,42 @@ static void rna_SmokeModifier_heat_grid_get(PointerRNA *ptr, float *values) #endif } +static void rna_SmokeModifier_temperature_grid_get(PointerRNA *ptr, float *values) +{ +#ifdef WITH_SMOKE + SmokeDomainSettings *sds = (SmokeDomainSettings *)ptr->data; + int length[RNA_MAX_ARRAY_DIMENSION]; + int size = rna_SmokeModifier_grid_get_length(ptr, length); + float *flame; + + BLI_rw_mutex_lock(sds->fluid_mutex, THREAD_LOCK_READ); + + if (sds->flags & MOD_SMOKE_HIGHRES && sds->wt) { + flame = smoke_turbulence_get_flame(sds->wt); + } + else { + flame = smoke_get_flame(sds->fluid); + } + + if (flame) { + /* Output is such that 0..1 maps to 0..1000K */ + float offset = sds->flame_ignition; + float scale = sds->flame_max_temp - sds->flame_ignition; + + for (int i = 0; i < size; i++) { + values[i] = (flame[i] > 0.01f) ? offset + flame[i] * scale : 0.0f; + } + } + else { + memset(values, 0, size * sizeof(float)); + } + + BLI_rw_mutex_unlock(sds->fluid_mutex); +#else + UNUSED_VARS(ptr, values); +#endif +} + static void rna_SmokeFlow_density_vgroup_get(PointerRNA *ptr, char *value) { SmokeFlowSettings *flow = (SmokeFlowSettings *)ptr->data; @@ -677,6 +713,14 @@ static void rna_def_smoke_domain_settings(BlenderRNA *brna) RNA_def_property_float_funcs(prop, "rna_SmokeModifier_heat_grid_get", NULL, NULL); RNA_def_property_ui_text(prop, "Heat Grid", "Smoke heat grid"); + prop = RNA_def_property(srna, "temperature_grid", PROP_FLOAT, PROP_NONE); + RNA_def_property_array(prop, 32); + RNA_def_property_flag(prop, PROP_DYNAMIC); + RNA_def_property_clear_flag(prop, PROP_EDITABLE); + RNA_def_property_dynamic_array_funcs(prop, "rna_SmokeModifier_grid_get_length"); + RNA_def_property_float_funcs(prop, "rna_SmokeModifier_temperature_grid_get", NULL, NULL); + RNA_def_property_ui_text(prop, "Temperature Grid", "Smoke temperature grid, range 0..1 represents 0..1000K"); + prop = RNA_def_property(srna, "cell_size", PROP_FLOAT, PROP_XYZ); /* can change each frame when using adaptive domain */ RNA_def_property_clear_flag(prop, PROP_EDITABLE); RNA_def_property_ui_text(prop, "cell_size", "Cell Size"); @@ -854,6 +898,14 @@ static void rna_def_smoke_domain_settings(BlenderRNA *brna) RNA_def_property_struct_type(prop, "ColorRamp"); RNA_def_property_ui_text(prop, "Color Ramp", ""); RNA_def_property_update(prop, NC_OBJECT | ND_DRAW, NULL); + + prop = RNA_def_property(srna, "clipping", PROP_FLOAT, PROP_NONE); + RNA_def_property_float_sdna(prop, NULL, "clipping"); + RNA_def_property_range(prop, 0.0, 1.0); + RNA_def_property_ui_range(prop, 0.0, 1.0, 0.1, 3); + RNA_def_property_ui_text(prop, "Clipping", + "Value under which voxels are considered empty space to optimize caching or rendering"); + RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, NULL); } static void rna_def_smoke_flow_settings(BlenderRNA *brna) |