[Bf-blender-cvs] [6fc81d6bca6] xr-controller-support: Merge branch 'master' into xr-controller-support

2021-10-02 Thread Peter Kim
Commit: 6fc81d6bca6424a1e44305df7cdc3598e03b00ba
Author: Peter Kim
Date:   Sun Oct 3 12:22:05 2021 +0900
Branches: xr-controller-support
https://developer.blender.org/rB6fc81d6bca6424a1e44305df7cdc3598e03b00ba

Merge branch 'master' into xr-controller-support

===



===

diff --cc release/scripts/addons
index a85360cbdfb,f86f25e6221..c64726810ba
--- a/release/scripts/addons
+++ b/release/scripts/addons
@@@ -1,1 -1,1 +1,1 @@@
- Subproject commit a85360cbdfbbee2bb46bcb93900f597a989bd33b
 -Subproject commit f86f25e62217264495d05f116ccb09d575fe9841
++Subproject commit c64726810ba781d980921947ba819b1364689e53
diff --cc source/blender/editors/transform/transform_convert_object.c
index ad22b0fc444,1acd8787f51..09aa4314b32
--- a/source/blender/editors/transform/transform_convert_object.c
+++ b/source/blender/editors/transform/transform_convert_object.c
@@@ -963,20 -963,20 +963,20 @@@ void special_aftertrans_update__object(
DEG_id_tag_update(&ob->id, ID_RECALC_GEOMETRY);
  }
  
- /* Needed for proper updating of "quick cached" dynamics. */
- /* Creates troubles for moving animated objects without */
- /* autokey though, probably needed is an anim sys override? */
- /* Please remove if some other solution is found. -jahka */
+ /* Needed for proper updating of "quick cached" dynamics.
+  * Creates troubles for moving animated objects without
+  * auto-key though, probably needed is an animation-system override?
+  * NOTE(@jahka): Please remove if some other solution is found. */
  DEG_id_tag_update(&ob->id, ID_RECALC_TRANSFORM);
  
- /* Set autokey if necessary */
+ /* Set auto-key if necessary. */
  if (!canceled) {
 -  autokeyframe_object(C, t->scene, t->view_layer, ob, t->mode);
 +  ED_transform_autokeyframe_object(C, t->scene, t->view_layer, ob, 
t->mode);
  }
  
 -motionpath_update |= motionpath_need_update_object(t->scene, ob);
 +motionpath_update |= ED_transform_motionpath_need_update_object(t->scene, 
ob);
  
- /* restore rigid body transform */
+ /* Restore rigid body transform. */
  if (ob->rigidbody_object && canceled) {
float ctime = BKE_scene_ctime_get(t->scene);
if (BKE_rigidbody_check_sim_running(t->scene->rigidbody_world, ctime)) {

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
List details, subscription details or unsubscribe:
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [c4f65fa5da4] xr-controller-support: Cleanup

2021-10-02 Thread Peter Kim
Commit: c4f65fa5da4c1f3498316da3eac7c0b43b218fd6
Author: Peter Kim
Date:   Sun Oct 3 12:11:10 2021 +0900
Branches: xr-controller-support
https://developer.blender.org/rBc4f65fa5da4c1f3498316da3eac7c0b43b218fd6

Cleanup

- Use doxygen style comments
- Improve comment for XR region type
- Improve RNA descriptions for XR nav location/rotation/scale
- Split controller draw callback into separate model and aim functions

===

M   intern/ghost/intern/GHOST_XrControllerModel.cpp
M   source/blender/makesdna/DNA_screen_types.h
M   source/blender/makesrna/intern/rna_xr.c
M   source/blender/windowmanager/xr/intern/wm_xr_draw.c

===

diff --git a/intern/ghost/intern/GHOST_XrControllerModel.cpp 
b/intern/ghost/intern/GHOST_XrControllerModel.cpp
index 99a58199a0a..659bf8555f3 100644
--- a/intern/ghost/intern/GHOST_XrControllerModel.cpp
+++ b/intern/ghost/intern/GHOST_XrControllerModel.cpp
@@ -53,8 +53,10 @@ struct GHOST_XrPrimitive {
   std::vector indices;
 };
 
-/* Validate that an accessor does not go out of bounds of the buffer view that 
it references and
-   that the buffer view does not exceed the bounds of the buffer that it 
references. */
+/**
+ * Validate that an accessor does not go out of bounds of the buffer view that 
it references and
+ * that the buffer view does not exceed the bounds of the buffer that it 
references
+ */
 static void validate_accessor(const tinygltf::Accessor &accessor,
   const tinygltf::BufferView &buffer_view,
   const tinygltf::Buffer &buffer,
@@ -135,9 +137,10 @@ static void load_attribute_accessor(const tinygltf::Model 
&gltf_model,
   }
 }
 
-/* Reads index data from a glTF primitive into a GHOST_XrPrimitive. glTF 
indices may be 8bit,
-   16bit or 32bit integers. This will coalesce indices from the source type(s) 
into a 32bit
-   integer. */
+/**
+ * Reads index data from a glTF primitive into a GHOST_XrPrimitive. glTF 
indices may be 8bit, 16bit
+ * or 32bit integers. This will coalesce indices from the source type(s) into 
a 32bit integer.
+ */
 template
 static void read_indices(const tinygltf::Accessor &accessor,
  const tinygltf::BufferView &buffer_view,
@@ -173,7 +176,9 @@ static void read_indices(const tinygltf::Accessor &accessor,
   }
 }
 
-/* Reads index data from a glTF primitive into a GHOST_XrPrimitive. */
+/**
+ * Reads index data from a glTF primitive into a GHOST_XrPrimitive.
+ */
 static void load_index_accessor(const tinygltf::Model &gltf_model,
 const tinygltf::Accessor &accessor,
 GHOST_XrPrimitive &primitive)
@@ -227,7 +232,9 @@ static GHOST_XrPrimitive read_primitive(const 
tinygltf::Model &gltf_model,
   return primitive;
 }
 
-/* Calculate node local and world transforms. */
+/**
+ * Calculate node local and world transforms.
+ */
 static void calc_node_transforms(const tinygltf::Node &gltf_node,
  const float parent_transform[4][4],
  float r_local_transform[4][4],
diff --git a/source/blender/makesdna/DNA_screen_types.h 
b/source/blender/makesdna/DNA_screen_types.h
index ce5b93088b6..42dd6d2181b 100644
--- a/source/blender/makesdna/DNA_screen_types.h
+++ b/source/blender/makesdna/DNA_screen_types.h
@@ -666,7 +666,8 @@ typedef enum eRegionType {
   RGN_TYPE_EXECUTE = 10,
   RGN_TYPE_FOOTER = 11,
   RGN_TYPE_TOOL_HEADER = 12,
-  /* Region representing an XR headset's display (internally, corresponds to 
an XR surface). */
+  /* Region type used exclusively by internal code and add-ons to register 
draw callbacks to the XR
+ context (surface, mirror view). Does not represent any real region. */
   RGN_TYPE_XR = 13,
 
 #define RGN_TYPE_LEN (RGN_TYPE_XR + 1)
diff --git a/source/blender/makesrna/intern/rna_xr.c 
b/source/blender/makesrna/intern/rna_xr.c
index d1ff031f1e6..f64b6c5daca 100644
--- a/source/blender/makesrna/intern/rna_xr.c
+++ b/source/blender/makesrna/intern/rna_xr.c
@@ -2261,18 +2261,26 @@ static void rna_def_xr_session_state(BlenderRNA *brna)
   RNA_def_property_array(prop, 3);
   RNA_def_property_float_funcs(
   prop, "rna_XrSessionState_nav_location_get", 
"rna_XrSessionState_nav_location_set", NULL);
-  RNA_def_property_ui_text(prop, "Navigation Location", "VR navigation 
location in world space");
+  RNA_def_property_ui_text(
+  prop,
+  "Navigation Location",
+  "Location offset to apply to base pose when determining viewer 
location");
 
   prop = RNA_def_property(srna, "navigation_rotation", PROP_FLOAT, 
PROP_QUATERNION);
   RNA_def_property_array(prop, 4);
   RNA_def_property_float_funcs(
   prop, "rna_XrSessionState_nav_rotation_get", 
"rna_XrSessionState_nav_rotation_set", NULL);
-  RNA_def_property_ui_text(prop, "Navigation Rotation", "VR navigation 
rotation in

[Bf-blender-cvs] [85e1f28fcaa] xr-controller-support: Fix controller model loading for no stb image

2021-10-02 Thread Peter Kim
Commit: 85e1f28fcaafd137a546bf192777b00f96851e80
Author: Peter Kim
Date:   Sun Oct 3 12:16:07 2021 +0900
Branches: xr-controller-support
https://developer.blender.org/rB85e1f28fcaafd137a546bf192777b00f96851e80

Fix controller model loading for no stb image

===

M   intern/ghost/intern/GHOST_XrControllerModel.cpp

===

diff --git a/intern/ghost/intern/GHOST_XrControllerModel.cpp 
b/intern/ghost/intern/GHOST_XrControllerModel.cpp
index 659bf8555f3..ae15bf11aa0 100644
--- a/intern/ghost/intern/GHOST_XrControllerModel.cpp
+++ b/intern/ghost/intern/GHOST_XrControllerModel.cpp
@@ -484,6 +484,31 @@ void 
GHOST_XrControllerModel::loadControllerModel(XrSession session)
   tinygltf::TinyGLTF gltf_loader;
   tinygltf::Model gltf_model;
   std::string err_msg;
+  {
+/* Workaround for TINYGLTF_NO_STB_IMAGE define. Set custom image loader to 
prevent failure when
+ * parsing image data. */
+auto load_img_func = [](tinygltf::Image *img,
+const int p0,
+std::string *p1,
+std::string *p2,
+int p3,
+int p4,
+const unsigned char *p5,
+int p6,
+void *user_pointer) -> bool {
+  (void)img;
+  (void)p0;
+  (void)p1;
+  (void)p2;
+  (void)p3;
+  (void)p4;
+  (void)p5;
+  (void)p6;
+  (void)user_pointer;
+  return true;
+};
+gltf_loader.SetImageLoader(load_img_func, nullptr);
+  }
 
   if (!gltf_loader.LoadBinaryFromMemory(&gltf_model, &err_msg, nullptr, 
buf.data(), buf_size)) {
 throw GHOST_XrException(("Failed to load glTF controller model: " + 
err_msg).c_str());

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
List details, subscription details or unsubscribe:
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [d3afe0c1265] master: Geometry Nodes: Resample Curve Fields Update

2021-10-02 Thread Johnny Matthews (guitargeek)
Commit: d3afe0c1265c9ebb53053de68f176b30f0132281
Author: Johnny Matthews (guitargeek)
Date:   Sat Oct 2 21:45:51 2021 -0500
Branches: master
https://developer.blender.org/rBd3afe0c1265c9ebb53053de68f176b30f0132281

Geometry Nodes: Resample Curve Fields Update

This update of the Resample Curve node allows a field to populate the
count or length input of the node depending on the current mode. The
field is evaluated on the spline domain.

Differential Revision: https://developer.blender.org/D12735

===

M   source/blender/nodes/geometry/nodes/node_geo_curve_resample.cc

===

diff --git a/source/blender/nodes/geometry/nodes/node_geo_curve_resample.cc 
b/source/blender/nodes/geometry/nodes/node_geo_curve_resample.cc
index b8f62460069..e5be9b7a6f4 100644
--- a/source/blender/nodes/geometry/nodes/node_geo_curve_resample.cc
+++ b/source/blender/nodes/geometry/nodes/node_geo_curve_resample.cc
@@ -35,8 +35,9 @@ namespace blender::nodes {
 static void geo_node_curve_resample_declare(NodeDeclarationBuilder &b)
 {
   b.add_input("Geometry");
-  b.add_input("Count").default_value(10).min(1).max(10);
-  
b.add_input("Length").default_value(0.1f).min(0.001f).subtype(PROP_DISTANCE);
+  
b.add_input("Count").default_value(10).min(1).max(10).supports_field();
+  
b.add_input("Length").default_value(0.1f).min(0.001f).supports_field().subtype(
+  PROP_DISTANCE);
   b.add_output("Geometry");
 }
 
@@ -68,8 +69,8 @@ static void geo_node_curve_resample_update(bNodeTree 
*UNUSED(ntree), bNode *node
 
 struct SampleModeParam {
   GeometryNodeCurveResampleMode mode;
-  std::optional length;
-  std::optional count;
+  std::optional> length;
+  std::optional> count;
 };
 
 static SplinePtr resample_spline(const Spline &src, const int count)
@@ -163,28 +164,44 @@ static SplinePtr resample_spline_evaluated(const Spline 
&src)
   return dst;
 }
 
-static std::unique_ptr resample_curve(const CurveEval &input_curve,
+static std::unique_ptr resample_curve(const CurveComponent 
*component,
  const SampleModeParam 
&mode_param)
 {
-  Span input_splines = input_curve.splines();
+  const CurveEval *input_curve = component->get_for_read();
+  GeometryComponentFieldContext field_context{*component, ATTR_DOMAIN_CURVE};
+  const int domain_size = component->attribute_domain_size(ATTR_DOMAIN_CURVE);
+
+  fn::FieldEvaluator evaluator{field_context, domain_size};
+
+  Span input_splines = input_curve->splines();
 
   std::unique_ptr output_curve = std::make_unique();
   output_curve->resize(input_splines.size());
   MutableSpan output_splines = output_curve->splines();
 
   if (mode_param.mode == GEO_NODE_CURVE_RESAMPLE_COUNT) {
+evaluator.add(*mode_param.count);
+evaluator.evaluate();
+const VArray &cuts = evaluator.get_evaluated(0);
+
 threading::parallel_for(input_splines.index_range(), 128, [&](IndexRange 
range) {
   for (const int i : range) {
 BLI_assert(mode_param.count);
-output_splines[i] = resample_spline(*input_splines[i], 
*mode_param.count);
+output_splines[i] = resample_spline(*input_splines[i], 
std::max(cuts[i], 1));
   }
 });
   }
   else if (mode_param.mode == GEO_NODE_CURVE_RESAMPLE_LENGTH) {
+evaluator.add(*mode_param.length);
+evaluator.evaluate();
+const VArray &lengths = evaluator.get_evaluated(0);
+
 threading::parallel_for(input_splines.index_range(), 128, [&](IndexRange 
range) {
   for (const int i : range) {
-const float length = input_splines[i]->length();
-const int count = std::max(int(length / *mode_param.length) + 1, 1);
+/* Don't allow asymptotic count increase for low resolution values. */
+const float divide_length = std::max(lengths[i], 0.0001f);
+const float spline_length = input_splines[i]->length();
+const int count = std::max(int(spline_length / divide_length) + 1, 1);
 output_splines[i] = resample_spline(*input_splines[i], count);
   }
 });
@@ -197,7 +214,7 @@ static std::unique_ptr resample_curve(const 
CurveEval &input_curve,
 });
   }
 
-  output_curve->attributes = input_curve.attributes;
+  output_curve->attributes = input_curve->attributes;
 
   return output_curve;
 }
@@ -209,8 +226,8 @@ static void geometry_set_curve_resample(GeometrySet 
&geometry_set,
 return;
   }
 
-  const CurveEval &input_curve = *geometry_set.get_curve_for_read();
-  std::unique_ptr output_curve = resample_curve(input_curve, 
mode_param);
+  std::unique_ptr output_curve = resample_curve(
+  geometry_set.get_component_for_read(), mode_param);
 
   geometry_set.replace_curve(output_curve.release());
 }
@@ -225,7 +242,7 @@ static void geo_node_resample_exec(GeoNodeExecParams params)
   SampleModeParam mode_param;
   mode_param.mode = mode;
   if (mode == GEO_NODE_CURVE_RESAMPLE_COUNT) {
-cons

[Bf-blender-cvs] [e863e056977] master: Data Transfer: Remove unnecessary noisy error message

2021-10-02 Thread Hans Goudey
Commit: e863e056977d042fb3aa290e3d0537db225bda84
Author: Hans Goudey
Date:   Sat Oct 2 20:33:15 2021 -0500
Branches: master
https://developer.blender.org/rBe863e056977d042fb3aa290e3d0537db225bda84

Data Transfer: Remove unnecessary noisy error message

I've seen requests to remove this or complaints about this error message
quite frequently. In lots of production files it's just always going off.
It's not an actionable warning, and since "slow" is relative, it isn't
always even correct.

Differential Revision: https://developer.blender.org/D12694

===

M   source/blender/modifiers/intern/MOD_datatransfer.c

===

diff --git a/source/blender/modifiers/intern/MOD_datatransfer.c 
b/source/blender/modifiers/intern/MOD_datatransfer.c
index e2b2cc58d48..34bb93cbbbc 100644
--- a/source/blender/modifiers/intern/MOD_datatransfer.c
+++ b/source/blender/modifiers/intern/MOD_datatransfer.c
@@ -163,7 +163,6 @@ static bool isDisabled(const struct Scene *UNUSED(scene),
   return !dtmd->ob_source || dtmd->ob_source->type != OB_MESH;
 }
 
-#define HIGH_POLY_WARNING 1
 #define DT_TYPES_AFFECT_MESH \
   (DT_TYPE_BWEIGHT_VERT | DT_TYPE_BWEIGHT_EDGE | DT_TYPE_CREASE | 
DT_TYPE_SHARP_EDGE | \
DT_TYPE_LNOR | DT_TYPE_SHARP_FACE)
@@ -239,13 +238,6 @@ static Mesh *modifyMesh(ModifierData *md, const 
ModifierEvalContext *ctx, Mesh *
 BKE_modifier_set_error(
 ctx->object, (ModifierData *)dtmd, "Enable 'Auto Smooth' in Object 
Data Properties");
   }
-  else if (result->totvert > HIGH_POLY_WARNING ||
-   ((Mesh *)(ob_source->data))->totvert > HIGH_POLY_WARNING) {
-BKE_modifier_set_error(
-ctx->object,
-md,
-"Source or destination object has a high polygon count, computation 
might be slow");
-  }
 
   return result;
 }
@@ -473,7 +465,6 @@ static void panelRegister(ARegionType *region_type)
   region_type, "advanced", "Topology Mapping", NULL, advanced_panel_draw, 
panel_type);
 }
 
-#undef HIGH_POLY_WARNING
 #undef DT_TYPES_AFFECT_MESH
 
 ModifierTypeInfo modifierType_DataTransfer = {

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
List details, subscription details or unsubscribe:
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [74f45ed9c55] master: Cleanup: spelling in comments

2021-10-02 Thread Campbell Barton
Commit: 74f45ed9c55aaecf6fd90a8076f486ad4302515d
Author: Campbell Barton
Date:   Sun Oct 3 12:06:06 2021 +1100
Branches: master
https://developer.blender.org/rB74f45ed9c55aaecf6fd90a8076f486ad4302515d

Cleanup: spelling in comments

===

M   intern/cycles/blender/blender_display_driver.cpp
M   intern/cycles/device/hip/kernel.cpp
M   intern/cycles/device/optix/device_impl.cpp
M   intern/cycles/kernel/kernel_shader.h
M   intern/ghost/intern/GHOST_DisplayManagerSDL.cpp
M   intern/ghost/intern/GHOST_SystemX11.cpp
M   intern/ghost/intern/GHOST_WindowX11.cpp
M   intern/guardedalloc/intern/mallocn_guarded_impl.c
M   source/blender/blenkernel/BKE_asset_catalog_path.hh
M   source/blender/blenkernel/BKE_asset_library.h
M   source/blender/blenkernel/BKE_mesh.h
M   source/blender/blenkernel/BKE_node.h
M   source/blender/blenkernel/intern/asset_catalog_path.cc
M   source/blender/blenkernel/intern/key.c
M   source/blender/blenkernel/intern/particle.c
M   source/blender/blenkernel/intern/softbody.c
M   source/blender/blenlib/intern/fileops.c
M   source/blender/blenlib/intern/kdtree_impl.h
M   source/blender/blenlib/intern/list_sort_impl.h
M   source/blender/blenlib/intern/scanfill.c
M   source/blender/blenloader/BLO_readfile.h
M   source/blender/blenloader/intern/versioning_300.c
M   source/blender/bmesh/intern/bmesh_structure.c
M   source/blender/bmesh/intern/bmesh_walkers.c
M   source/blender/bmesh/tools/bmesh_bevel.c
M   source/blender/draw/engines/gpencil/gpencil_engine.h
M   source/blender/editors/animation/anim_ipo_utils.c
M   source/blender/editors/animation/drivers.c
M   source/blender/editors/armature/pose_transform.c
M   source/blender/editors/space_info/info_ops.c
M   source/blender/editors/transform/transform_convert_armature.c
M   source/blender/editors/transform/transform_convert_object.c
M   source/blender/gpu/intern/gpu_select.c
M   source/blender/gpu/intern/gpu_select_sample_query.cc
M   source/blender/ikplugin/intern/itasc_plugin.cpp
M   source/blender/makesrna/intern/rna_nla.c
M   source/blender/modifiers/intern/MOD_solidify_extrude.c
M   source/blender/nodes/composite/node_composite_tree.cc
M   source/blender/nodes/geometry/node_geometry_tree.cc
M   source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_cone.cc
M   source/blender/nodes/intern/node_socket.cc
M   source/blender/nodes/shader/node_shader_tree.c
M   source/blender/nodes/texture/node_texture_tree.c
M   source/blender/nodes/texture/nodes/node_texture_curves.c
M   source/blender/windowmanager/WM_types.h

===

diff --git a/intern/cycles/blender/blender_display_driver.cpp 
b/intern/cycles/blender/blender_display_driver.cpp
index 5267f41eef7..f55a8ce8c4e 100644
--- a/intern/cycles/blender/blender_display_driver.cpp
+++ b/intern/cycles/blender/blender_display_driver.cpp
@@ -460,7 +460,7 @@ void BlenderDisplayDriver::draw(const Params ¶ms)
 /* Texture is requested to be cleared and was not yet cleared.
  *
  * Do early return which should be equivalent of drawing all-zero texture.
- * Watchout for the lock though so that the clear happening during update 
is properly
+ * Watch out for the lock though so that the clear happening during update 
is properly
  * synchronized here. */
 gl_context_mutex_.unlock();
 return;
diff --git a/intern/cycles/device/hip/kernel.cpp 
b/intern/cycles/device/hip/kernel.cpp
index e0acd6f17c6..9ede8507a0c 100644
--- a/intern/cycles/device/hip/kernel.cpp
+++ b/intern/cycles/device/hip/kernel.cpp
@@ -28,7 +28,7 @@ void HIPDeviceKernels::load(HIPDevice *device)
   for (int i = 0; i < (int)DEVICE_KERNEL_NUM; i++) {
 HIPDeviceKernel &kernel = kernels_[i];
 
-/* No megakernel used for GPU. */
+/* No mega-kernel used for GPU. */
 if (i == DEVICE_KERNEL_INTEGRATOR_MEGAKERNEL) {
   continue;
 }
diff --git a/intern/cycles/device/optix/device_impl.cpp 
b/intern/cycles/device/optix/device_impl.cpp
index 5f5eff53063..49d4e22143f 100644
--- a/intern/cycles/device/optix/device_impl.cpp
+++ b/intern/cycles/device/optix/device_impl.cpp
@@ -1419,7 +1419,7 @@ void OptiXDevice::build_bvh(BVH *bvh, Progress &progress, 
bool refit)
   }
   else {
 /* Can disable __anyhit__kernel_optix_visibility_test by default 
(except for thick curves,
- * since it needs to filter out endcaps there).
+ * since it needs to filter out end-caps there).
  * It is enabled where necessary (visibility mask exceeds 8 bits or 
the other any-hit
  * programs like __anyhit__kernel_optix_shadow_all_hit) via 
OPTIX_RAY_FLAG_ENFORCE_ANYHIT.
  */
diff --git a/intern/cycles/kernel/kernel_shader.h 
b/intern/cycles/kernel/kernel_shader.h
index 8bad9c34d74.

[Bf-blender-cvs] [f49dff97d48] master: Cleanup: spelling in strings

2021-10-02 Thread Campbell Barton
Commit: f49dff97d487f715175e95d7d6ca38d43c37e94a
Author: Campbell Barton
Date:   Sun Oct 3 12:06:09 2021 +1100
Branches: master
https://developer.blender.org/rBf49dff97d487f715175e95d7d6ca38d43c37e94a

Cleanup: spelling in strings

===

M   release/scripts/modules/bl_i18n_utils/utils.py
M   source/blender/depsgraph/intern/node/deg_node.cc
M   source/blender/editors/interface/interface_widgets.c
M   source/blender/editors/object/object_edit.c
M   source/blender/editors/space_clip/tracking_ops.c
M   source/blender/editors/space_file/fsmenu.c
M   
source/blender/freestyle/intern/python/StrokeShader/BPy_SmoothingShader.cpp
M   source/blender/imbuf/intern/readimage.c
M   source/blender/imbuf/intern/rotate.c
M   source/blender/python/bmesh/bmesh_py_types.c
M   source/blender/python/intern/bpy_props.c

===

diff --git a/release/scripts/modules/bl_i18n_utils/utils.py 
b/release/scripts/modules/bl_i18n_utils/utils.py
index 95184853f73..13fb87d386a 100644
--- a/release/scripts/modules/bl_i18n_utils/utils.py
+++ b/release/scripts/modules/bl_i18n_utils/utils.py
@@ -219,7 +219,7 @@ def enable_addons(addons=None, support=None, disable=False, 
check_only=False):
 try:
 import bpy
 except ModuleNotFoundError:
-print("Could not import bpy, enable_addons must be run from whithin 
Blender.")
+print("Could not import bpy, enable_addons must be run from within 
Blender.")
 return
 
 if addons is None:
diff --git a/source/blender/depsgraph/intern/node/deg_node.cc 
b/source/blender/depsgraph/intern/node/deg_node.cc
index fee5342df59..16089ba27dd 100644
--- a/source/blender/depsgraph/intern/node/deg_node.cc
+++ b/source/blender/depsgraph/intern/node/deg_node.cc
@@ -177,7 +177,7 @@ eDepsSceneComponentType nodeTypeToSceneComponent(NodeType 
type)
 case NodeType::SIMULATION:
   return DEG_SCENE_COMP_PARAMETERS;
   }
-  BLI_assert_msg(0, "Unhandled node type, not suppsed to happen.");
+  BLI_assert_msg(0, "Unhandled node type, not supposed to happen.");
   return DEG_SCENE_COMP_PARAMETERS;
 }
 
diff --git a/source/blender/editors/interface/interface_widgets.c 
b/source/blender/editors/interface/interface_widgets.c
index 375206cab44..466deedf3bb 100644
--- a/source/blender/editors/interface/interface_widgets.c
+++ b/source/blender/editors/interface/interface_widgets.c
@@ -5371,7 +5371,7 @@ void ui_draw_menu_item(const uiFontStyle *fstyle,
 }
   }
   else {
-BLI_assert_msg(0, "Unknwon menu item separator type");
+BLI_assert_msg(0, "Unknown menu item separator type");
   }
 }
   }
diff --git a/source/blender/editors/object/object_edit.c 
b/source/blender/editors/object/object_edit.c
index 5697c2c973d..2bd0ae5f121 100644
--- a/source/blender/editors/object/object_edit.c
+++ b/source/blender/editors/object/object_edit.c
@@ -1739,7 +1739,7 @@ void OBJECT_OT_mode_set_with_submode(wmOperatorType *ot)
   OBJECT_OT_mode_set(ot);
 
   /* identifiers */
-  ot->name = "Set Object Mode with Submode";
+  ot->name = "Set Object Mode with Sub-mode";
   ot->idname = "OBJECT_OT_mode_set_with_submode";
 
   /* properties */
diff --git a/source/blender/editors/space_clip/tracking_ops.c 
b/source/blender/editors/space_clip/tracking_ops.c
index ff62bcf0cfa..4965099642b 100644
--- a/source/blender/editors/space_clip/tracking_ops.c
+++ b/source/blender/editors/space_clip/tracking_ops.c
@@ -417,7 +417,7 @@ static SlideMarkerData *create_slide_marker_data(SpaceClip 
*sc,
   data->pos = marker->pos;
   data->offset = track->offset;
   data->old_markers = MEM_callocN(sizeof(*data->old_markers) * 
track->markersnr,
-  "slide marekrs");
+  "slide markers");
   for (int a = 0; a < track->markersnr; a++) {
 copy_v2_v2(data->old_markers[a], track->markers[a].pos);
   }
diff --git a/source/blender/editors/space_file/fsmenu.c 
b/source/blender/editors/space_file/fsmenu.c
index 776bb0b3bb7..091c2d5f434 100644
--- a/source/blender/editors/space_file/fsmenu.c
+++ b/source/blender/editors/space_file/fsmenu.c
@@ -958,7 +958,7 @@ void fsmenu_read_system(struct FSMenu *fsmenu, int 
read_bookmarks)
   found = 1;
 }
 if (endmntent(fp) == 0) {
-  fprintf(stderr, "could not close the list of mounted filesystems\n");
+  fprintf(stderr, "could not close the list of mounted 
file-systems\n");
 }
   }
   /* Check gvfs shares. */
diff --git 
a/source/blender/freestyle/intern/python/StrokeShader/BPy_SmoothingShader.cpp 
b/source/blender/freestyle/intern/python/StrokeShader/BPy_SmoothingShader.cpp
index ab39b9ad883..bcb7af0e5a7 100644
--- 
a/source/blender/freestyle/intern/python/StrokeShader/BPy_SmoothingShader.cpp
+++ 
b/source/blender/freestyle/intern/python/StrokeShader/

[Bf-blender-cvs] [b57b4dfab13] master: Cleanup: clang-format

2021-10-02 Thread Campbell Barton
Commit: b57b4dfab135f7f10c1d3fb4af1c7e7745de5914
Author: Campbell Barton
Date:   Sun Oct 3 12:07:28 2021 +1100
Branches: master
https://developer.blender.org/rBb57b4dfab135f7f10c1d3fb4af1c7e7745de5914

Cleanup: clang-format

===

M   source/blender/editors/object/object_modifier.c
M   source/blender/nodes/composite/nodes/node_composite_premulkey.cc
M   source/blender/nodes/composite/nodes/node_composite_sepcombHSVA.cc
M   source/blender/nodes/composite/nodes/node_composite_sepcombRGBA.cc
M   source/blender/nodes/composite/nodes/node_composite_setalpha.cc
M   source/blender/nodes/geometry/nodes/node_geo_curve_to_mesh.cc

===

diff --git a/source/blender/editors/object/object_modifier.c 
b/source/blender/editors/object/object_modifier.c
index 125cd65631a..efe19785f31 100644
--- a/source/blender/editors/object/object_modifier.c
+++ b/source/blender/editors/object/object_modifier.c
@@ -1927,8 +1927,8 @@ static int multires_subdivide_exec(bContext *C, 
wmOperator *op)
 return OPERATOR_CANCELLED;
   }
 
-  const eMultiresSubdivideModeType subdivide_mode = 
(eMultiresSubdivideModeType)(
-  RNA_enum_get(op->ptr, "mode"));
+  const eMultiresSubdivideModeType subdivide_mode = 
(eMultiresSubdivideModeType)(RNA_enum_get(
+  op->ptr, "mode"));
   multiresModifier_subdivide(object, mmd, subdivide_mode);
 
   ED_object_iter_other(
diff --git a/source/blender/nodes/composite/nodes/node_composite_premulkey.cc 
b/source/blender/nodes/composite/nodes/node_composite_premulkey.cc
index 0abd7110aff..e557854c611 100644
--- a/source/blender/nodes/composite/nodes/node_composite_premulkey.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_premulkey.cc
@@ -41,6 +41,6 @@ void register_node_type_cmp_premulkey(void)
 
   cmp_node_type_base(&ntype, CMP_NODE_PREMULKEY, "Alpha Convert", 
NODE_CLASS_CONVERTER, 0);
   ntype.declare = blender::nodes::cmp_node_premulkey_declare;
-  
+
   nodeRegisterType(&ntype);
 }
diff --git a/source/blender/nodes/composite/nodes/node_composite_sepcombHSVA.cc 
b/source/blender/nodes/composite/nodes/node_composite_sepcombHSVA.cc
index 06952d3b6d9..aa719a99b36 100644
--- a/source/blender/nodes/composite/nodes/node_composite_sepcombHSVA.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_sepcombHSVA.cc
@@ -34,7 +34,6 @@ static void cmp_node_sephsva_declare(NodeDeclarationBuilder 
&b)
   b.add_output("S");
   b.add_output("V");
   b.add_output("A");
-
 }
 
 }  // namespace blender::nodes
diff --git a/source/blender/nodes/composite/nodes/node_composite_sepcombRGBA.cc 
b/source/blender/nodes/composite/nodes/node_composite_sepcombRGBA.cc
index d119b637595..b29af1359f5 100644
--- a/source/blender/nodes/composite/nodes/node_composite_sepcombRGBA.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_sepcombRGBA.cc
@@ -33,7 +33,6 @@ static void cmp_node_seprgba_declare(NodeDeclarationBuilder 
&b)
   b.add_output("G");
   b.add_output("B");
   b.add_output("A");
-
 }
 
 }  // namespace blender::nodes
diff --git a/source/blender/nodes/composite/nodes/node_composite_setalpha.cc 
b/source/blender/nodes/composite/nodes/node_composite_setalpha.cc
index 5d2490b0c81..07a7ffcb426 100644
--- a/source/blender/nodes/composite/nodes/node_composite_setalpha.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_setalpha.cc
@@ -30,7 +30,7 @@ namespace blender::nodes {
 static void cmp_node_setalpha_declare(NodeDeclarationBuilder &b)
 {
   b.add_input("Image").default_value({1.0f, 1.0f, 1.0f, 1.0f});
-  b.add_input("Alpha").default_value(1.0f).min(0.0f).max(1.0f);  
+  b.add_input("Alpha").default_value(1.0f).min(0.0f).max(1.0f);
   b.add_output("Image");
 }
 
diff --git a/source/blender/nodes/geometry/nodes/node_geo_curve_to_mesh.cc 
b/source/blender/nodes/geometry/nodes/node_geo_curve_to_mesh.cc
index 9b4b6cdcd0c..00451946af9 100644
--- a/source/blender/nodes/geometry/nodes/node_geo_curve_to_mesh.cc
+++ b/source/blender/nodes/geometry/nodes/node_geo_curve_to_mesh.cc
@@ -32,8 +32,7 @@ static void 
geo_node_curve_to_mesh_declare(NodeDeclarationBuilder &b)
   b.add_output("Mesh");
 }
 
-static void geometry_set_curve_to_mesh(GeometrySet &geometry_set,
-   const GeometrySet &profile_set)
+static void geometry_set_curve_to_mesh(GeometrySet &geometry_set, const 
GeometrySet &profile_set)
 {
   const CurveEval *profile_curve = profile_set.get_curve_for_read();

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
List details, subscription details or unsubscribe:
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [c5c94e3eae7] master: Geometry Nodes: Add Rotate Euler Node

2021-10-02 Thread Jarrett Johnson
Commit: c5c94e3eae74a7023c84cf0906cfa814c39f84dd
Author: Jarrett Johnson
Date:   Sat Oct 2 20:04:45 2021 -0500
Branches: master
https://developer.blender.org/rBc5c94e3eae74a7023c84cf0906cfa814c39f84dd

Geometry Nodes: Add Rotate Euler Node

This commit introduces the Rotate Euler function node which modifies
an input euler rotation. The node replaces the "Point Rotate" node.

Addresses T91375.

Differential Revision: https://developer.blender.org/D12531

===

M   release/scripts/startup/nodeitems_builtins.py
M   source/blender/blenkernel/BKE_node.h
M   source/blender/blenkernel/intern/node.cc
M   source/blender/makesdna/DNA_node_types.h
M   source/blender/makesrna/intern/rna_nodetree.c
M   source/blender/nodes/CMakeLists.txt
M   source/blender/nodes/NOD_function.h
M   source/blender/nodes/NOD_static_types.h
A   source/blender/nodes/function/nodes/node_fn_rotate_euler.cc

===

diff --git a/release/scripts/startup/nodeitems_builtins.py 
b/release/scripts/startup/nodeitems_builtins.py
index ab810b54a69..37d5c5997ad 100644
--- a/release/scripts/startup/nodeitems_builtins.py
+++ b/release/scripts/startup/nodeitems_builtins.py
@@ -624,6 +624,7 @@ geometry_node_categories = [
 NodeItem("ShaderNodeClamp"),
 NodeItem("ShaderNodeMath"),
 NodeItem("FunctionNodeBooleanMath"),
+NodeItem("FunctionNodeRotateEuler"),
 NodeItem("FunctionNodeFloatCompare"),
 NodeItem("FunctionNodeFloatToInt"),
 NodeItem("GeometryNodeSwitch"),
diff --git a/source/blender/blenkernel/BKE_node.h 
b/source/blender/blenkernel/BKE_node.h
index 0ad92f8d190..c4c3733f3a9 100644
--- a/source/blender/blenkernel/BKE_node.h
+++ b/source/blender/blenkernel/BKE_node.h
@@ -1529,6 +1529,7 @@ int ntreeTexExecTree(struct bNodeTree *ntree,
 #define FN_NODE_STRING_SUBSTRING 1212
 #define FN_NODE_INPUT_SPECIAL_CHARACTERS 1213
 #define FN_NODE_RANDOM_VALUE 1214
+#define FN_NODE_ROTATE_EULER 1215
 
 /** \} */
 
diff --git a/source/blender/blenkernel/intern/node.cc 
b/source/blender/blenkernel/intern/node.cc
index aeb43b4a017..73060caa2f8 100644
--- a/source/blender/blenkernel/intern/node.cc
+++ b/source/blender/blenkernel/intern/node.cc
@@ -5824,6 +5824,7 @@ static void registerFunctionNodes()
   register_node_type_fn_input_string();
   register_node_type_fn_input_vector();
   register_node_type_fn_random_value();
+  register_node_type_fn_rotate_euler();
   register_node_type_fn_string_length();
   register_node_type_fn_string_substring();
   register_node_type_fn_value_to_string();
diff --git a/source/blender/makesdna/DNA_node_types.h 
b/source/blender/makesdna/DNA_node_types.h
index 35be6a4b48e..ea87cef1118 100644
--- a/source/blender/makesdna/DNA_node_types.h
+++ b/source/blender/makesdna/DNA_node_types.h
@@ -2032,6 +2032,11 @@ typedef enum GeometryNodeRotatePointsType {
   GEO_NODE_POINT_ROTATE_TYPE_AXIS_ANGLE = 1,
 } GeometryNodeRotatePointsType;
 
+typedef enum FunctionNodeRotatePointsType {
+  FN_NODE_ROTATE_EULER_TYPE_EULER = 0,
+  FN_NODE_ROTATE_EULER_TYPE_AXIS_ANGLE = 1,
+} FunctionNodeRotatePointsType;
+
 typedef enum GeometryNodeAttributeVectorRotateMode {
   GEO_NODE_VECTOR_ROTATE_TYPE_AXIS = 0,
   GEO_NODE_VECTOR_ROTATE_TYPE_AXIS_X = 1,
@@ -2052,6 +2057,11 @@ typedef enum GeometryNodeRotatePointsSpace {
   GEO_NODE_POINT_ROTATE_SPACE_POINT = 1,
 } GeometryNodeRotatePointsSpace;
 
+typedef enum FunctionNodeRotateEulerSpace {
+  FN_NODE_ROTATE_EULER_SPACE_OBJECT = 0,
+  FN_NODE_ROTATE_EULER_SPACE_POINT = 1,
+} FunctionNodeRotateEulerSpace;
+
 typedef enum GeometryNodeAlignRotationToVectorAxis {
   GEO_NODE_ALIGN_ROTATION_TO_VECTOR_AXIS_X = 0,
   GEO_NODE_ALIGN_ROTATION_TO_VECTOR_AXIS_Y = 1,
diff --git a/source/blender/makesrna/intern/rna_nodetree.c 
b/source/blender/makesrna/intern/rna_nodetree.c
index 20fcff58990..df1be412bc4 100644
--- a/source/blender/makesrna/intern/rna_nodetree.c
+++ b/source/blender/makesrna/intern/rna_nodetree.c
@@ -9818,6 +9818,51 @@ static void def_geo_point_rotate(StructRNA *srna)
   RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_Node_socket_update");
 }
 
+static void def_fn_rotate_euler(StructRNA *srna)
+{
+  static const EnumPropertyItem type_items[] = {
+  {FN_NODE_ROTATE_EULER_TYPE_AXIS_ANGLE,
+   "AXIS_ANGLE",
+   ICON_NONE,
+   "Axis Angle",
+   "Rotate around an axis by an angle"},
+  {FN_NODE_ROTATE_EULER_TYPE_EULER,
+   "EULER",
+   ICON_NONE,
+   "Euler",
+   "Rotate around the X, Y, and Z axes"},
+  {0, NULL, 0, NULL, NULL},
+  };
+
+  static const EnumPropertyItem space_items[] = {
+  {FN_NODE_ROTATE_EULER_SPACE_OBJECT,
+   "OBJECT",
+   ICON_NONE,
+   "Object",
+   "Rotate the input rotation in the local space of the object"},
+  {FN_NODE_ROTATE_EULER_SPACE_POINT,
+   "POINT",
+   ICON_NONE,
+   "Point",
+

[Bf-blender-cvs] [34cf33eb120] master: Geometry Nodes: Switch Node Fields Update

2021-10-02 Thread guitargeek
Commit: 34cf33eb12099d3a1940de070d7dc7e88e3bebc7
Author: guitargeek
Date:   Sat Oct 2 17:33:25 2021 -0500
Branches: master
https://developer.blender.org/rB34cf33eb12099d3a1940de070d7dc7e88e3bebc7

Geometry Nodes: Switch Node Fields Update

This update of the Switch node allows for field compatible types
to be switched through the node. This includes the following:

Float, Int, Bool, String, Vector, and Color

The remaining types are processed with the orginal code:

Geometry, Object, Collection, Texture, and Material

Because the old types require a diffent "switch" socket than the
field types, versioning for old files is included to move links
of those types to a new switch socket. Once fields of other types
are supported, this node can be updated to support them as well.

Differential Revision: https://developer.blender.org/D12642

===

M   source/blender/blenkernel/BKE_blender_version.h
M   source/blender/blenloader/intern/versioning_300.c
M   source/blender/nodes/geometry/nodes/node_geo_switch.cc

===

diff --git a/source/blender/blenkernel/BKE_blender_version.h 
b/source/blender/blenkernel/BKE_blender_version.h
index b04bbdfb187..31ce1b124e9 100644
--- a/source/blender/blenkernel/BKE_blender_version.h
+++ b/source/blender/blenkernel/BKE_blender_version.h
@@ -39,7 +39,7 @@ extern "C" {
 
 /* Blender file format version. */
 #define BLENDER_FILE_VERSION BLENDER_VERSION
-#define BLENDER_FILE_SUBVERSION 31
+#define BLENDER_FILE_SUBVERSION 32
 
 /* Minimum Blender version that supports reading file written with the current
  * version. Older Blender versions will test this and show a warning if the 
file
diff --git a/source/blender/blenloader/intern/versioning_300.c 
b/source/blender/blenloader/intern/versioning_300.c
index 11b6ad9b8ea..5b436d59213 100644
--- a/source/blender/blenloader/intern/versioning_300.c
+++ b/source/blender/blenloader/intern/versioning_300.c
@@ -617,6 +617,32 @@ void do_versions_after_linking_300(Main *bmain, ReportList 
*UNUSED(reports))
 do_versions_idproperty_ui_data(bmain);
   }
 
+  if (!MAIN_VERSION_ATLEAST(bmain, 300, 32)) {
+/* Update Switch Node Non-Fields switch input to Switch_001. */
+LISTBASE_FOREACH (bNodeTree *, ntree, &bmain->nodetrees) {
+  if (ntree->type != NTREE_GEOMETRY) {
+continue;
+  }
+
+  LISTBASE_FOREACH (bNodeLink *, link, &ntree->links) {
+if (link->tonode->type == GEO_NODE_SWITCH) {
+  if (STREQ(link->tosock->identifier, "Switch")) {
+bNode *to_node = link->tonode;
+
+uint8_t mode = ((NodeSwitch *)to_node->storage)->input_type;
+if (ELEM(mode,
+ SOCK_GEOMETRY,
+ SOCK_OBJECT,
+ SOCK_COLLECTION,
+ SOCK_TEXTURE,
+ SOCK_MATERIAL)) {
+  link->tosock = link->tosock->next;
+}
+  }
+}
+  }
+}
+  }
   /**
* Versioning code until next subversion bump goes here.
*
diff --git a/source/blender/nodes/geometry/nodes/node_geo_switch.cc 
b/source/blender/nodes/geometry/nodes/node_geo_switch.cc
index ca857c4d2e3..05df927fb39 100644
--- a/source/blender/nodes/geometry/nodes/node_geo_switch.cc
+++ b/source/blender/nodes/geometry/nodes/node_geo_switch.cc
@@ -19,24 +19,37 @@
 #include "UI_interface.h"
 #include "UI_resources.h"
 
+#include "DNA_mesh_types.h"
+#include "DNA_meshdata_types.h"
+
+#include "BKE_material.h"
+
+#include "FN_multi_function_signature.hh"
+
 namespace blender::nodes {
 
 static void geo_node_switch_declare(NodeDeclarationBuilder &b)
 {
-  b.add_input("Switch");
-
-  b.add_input("False");
-  b.add_input("True");
-  b.add_input("False", "False_001").min(-10).max(10);
-  b.add_input("True", "True_001").min(-10).max(10);
-  b.add_input("False", "False_002");
-  b.add_input("True", "True_002");
-  b.add_input("False", "False_003");
-  b.add_input("True", "True_003");
-  b.add_input("False", "False_004").default_value({0.8f, 0.8f, 
0.8f, 1.0f});
-  b.add_input("True", "True_004").default_value({0.8f, 0.8f, 
0.8f, 1.0f});
-  b.add_input("False", "False_005");
-  b.add_input("True", "True_005");
+  b.add_input("Switch").default_value(false).supports_field();
+  b.add_input("Switch", "Switch_001").default_value(false);
+
+  b.add_input("False").supports_field();
+  b.add_input("True").supports_field();
+  b.add_input("False", 
"False_001").min(-10).max(10).supports_field();
+  b.add_input("True", 
"True_001").min(-10).max(10).supports_field();
+  b.add_input("False", 
"False_002").default_value(false).hide_value().supports_field();
+  b.add_input("True", 
"True_002").default_value(true).hide_value().supports_field();
+  b.add_input("False", "False_003").supports_field();
+  b.add_input("True", "True_003").supports_field();
+  b.add_input("False", "False_0

[Bf-blender-cvs] [54927caf4fc] master: Geometry Nodes: Add side and fill segments to Cone/Cylinder nodes

2021-10-02 Thread Leon Leno
Commit: 54927caf4fcf214428e2fcb05d378d96fde54025
Author: Leon Leno
Date:   Sat Oct 2 17:29:25 2021 -0500
Branches: master
https://developer.blender.org/rB54927caf4fcf214428e2fcb05d378d96fde54025

Geometry Nodes: Add side and fill segments to Cone/Cylinder nodes

This commit extends the 'Cone' and 'Cylinder' mesh primitive nodes,
with two inputs to control the segments along the side and in the fill.
This makes the nodes more flexible and brings them more in line with
the improved cube node.

Differential Revision: https://developer.blender.org/D12463

===

M   source/blender/makesrna/intern/rna_nodetree.c
M   source/blender/nodes/geometry/node_geometry_util.hh
M   source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_cone.cc
M   source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_cylinder.cc

===

diff --git a/source/blender/makesrna/intern/rna_nodetree.c 
b/source/blender/makesrna/intern/rna_nodetree.c
index f7ba32cf639..20fcff58990 100644
--- a/source/blender/makesrna/intern/rna_nodetree.c
+++ b/source/blender/makesrna/intern/rna_nodetree.c
@@ -10152,7 +10152,7 @@ static void def_geo_mesh_cylinder(StructRNA *srna)
   prop = RNA_def_property(srna, "fill_type", PROP_ENUM, PROP_NONE);
   RNA_def_property_enum_items(prop, 
rna_node_geometry_mesh_circle_fill_type_items);
   RNA_def_property_ui_text(prop, "Fill Type", "");
-  RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_Node_update");
+  RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_Node_socket_update");
 }
 
 static void def_geo_mesh_cone(StructRNA *srna)
@@ -10164,7 +10164,7 @@ static void def_geo_mesh_cone(StructRNA *srna)
   prop = RNA_def_property(srna, "fill_type", PROP_ENUM, PROP_NONE);
   RNA_def_property_enum_items(prop, 
rna_node_geometry_mesh_circle_fill_type_items);
   RNA_def_property_ui_text(prop, "Fill Type", "");
-  RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_Node_update");
+  RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_Node_socket_update");
 }
 
 static void def_geo_mesh_line(StructRNA *srna)
diff --git a/source/blender/nodes/geometry/node_geometry_util.hh 
b/source/blender/nodes/geometry/node_geometry_util.hh
index 015ac0de002..5896b5bd6cc 100644
--- a/source/blender/nodes/geometry/node_geometry_util.hh
+++ b/source/blender/nodes/geometry/node_geometry_util.hh
@@ -65,7 +65,9 @@ Mesh *create_grid_mesh(const int verts_x,
 Mesh *create_cylinder_or_cone_mesh(const float radius_top,
const float radius_bottom,
const float depth,
-   const int verts_num,
+   const int circle_segments,
+   const int side_segments,
+   const int fill_segments,
const GeometryNodeMeshCircleFillType 
fill_type);
 
 Mesh *create_cuboid_mesh(float3 size, int verts_x, int verts_y, int verts_z);
diff --git 
a/source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_cone.cc 
b/source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_cone.cc
index 0d58476fc58..a710f9d6190 100644
--- a/source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_cone.cc
+++ b/source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_cone.cc
@@ -29,13 +29,38 @@ namespace blender::nodes {
 
 static void geo_node_mesh_primitive_cone_declare(NodeDeclarationBuilder &b)
 {
-  b.add_input("Vertices").default_value(32).min(3);
+  b.add_input("Vertices").default_value(32).min(3).max(512);
+  b.add_input("Side Segments").default_value(1).min(1).max(512);
+  b.add_input("Fill Segments").default_value(1).min(1).max(512);
   b.add_input("Radius Top").min(0.0f).subtype(PROP_DISTANCE);
   b.add_input("Radius 
Bottom").default_value(1.0f).min(0.0f).subtype(PROP_DISTANCE);
   
b.add_input("Depth").default_value(2.0f).min(0.0f).subtype(PROP_DISTANCE);
   b.add_output("Geometry");
 }
 
+static void geo_node_mesh_primitive_cone_init(bNodeTree *UNUSED(ntree), bNode 
*node)
+{
+  NodeGeometryMeshCone *node_storage = (NodeGeometryMeshCone *)MEM_callocN(
+  sizeof(NodeGeometryMeshCone), __func__);
+
+  node_storage->fill_type = GEO_NODE_MESH_CIRCLE_FILL_NGON;
+
+  node->storage = node_storage;
+}
+
+static void geo_node_mesh_primitive_cone_update(bNodeTree *UNUSED(ntree), 
bNode *node)
+{
+  bNodeSocket *vertices_socket = (bNodeSocket *)node->inputs.first;
+  bNodeSocket *rings_socket = vertices_socket->next;
+  bNodeSocket *fill_subdiv_socket = rings_socket->next;
+
+  const NodeGeometryMeshCone &storage = *(const NodeGeometryMeshCone 
*)node->storage;
+  const GeometryNodeMeshCircleFillType fill_type =
+  static_cast(storage.fill_type);
+  const bool has_fill = fill_type != GEO_NODE_MESH_CIRCLE_FILL_NONE;
+  nodeSetSocketAvailability(fill_subdiv_socket, has_fill);
+}
+
 

[Bf-blender-cvs] [7327e15630d] sculpt-dev: Merge branch 'master' into sculpt-dev

2021-10-02 Thread Joseph Eagar
Commit: 7327e15630d0703a8cee1a27197c70d6ee1a2bc4
Author: Joseph Eagar
Date:   Sat Oct 2 03:22:22 2021 -0700
Branches: sculpt-dev
https://developer.blender.org/rB7327e15630d0703a8cee1a27197c70d6ee1a2bc4

Merge branch 'master' into sculpt-dev

===



===

diff --cc release/scripts/presets/keyconfig/keymap_data/blender_default.py
index 1e74f5b705d,35eb6490265..534cb8fb209
--- a/release/scripts/presets/keyconfig/keymap_data/blender_default.py
+++ b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
@@@ -19,10 -19,10 +19,8 @@@
  
  # 
--
  # Configurable Parameters
--
  class Params:
--__slots__ = (
--"apple",
++__slots__ = ("apple",
  "legacy",
  "select_mouse",
  "select_mouse_value",
@@@ -54,15 -56,40 +54,45 @@@
  "use_v3d_mmb_pan",
  # Alt click to access tools.
  "use_alt_click_leader",
 -# Transform keys G/S/R activate tools instead of immediately 
transforming.
++# Transform keys G/S/R activate tools instead of immediately
++# transforming.
+ "use_key_activate_tools",
+ # Optionally use a modifier to access tools.
+ "tool_modifier",
  # Experimental option.
  "use_pie_click_drag",
  "v3d_tilde_action",
  # Alt-MMB axis switching 'RELATIVE' or 'ABSOLUTE' axis switching.
  "v3d_alt_mmb_drag_action",
- )
  
- def __init__(
- self,
+ "use_file_single_click",
+ # Convenience variables:
+ # (derived from other settings).
+ #
+ # This case needs to be checked often,
 -# Shorthand for: `(params.use_fallback_tool if params.select_mouse == 
'RIGHT' else False)`.
++# Shorthand for: `(params.use_fallback_tool if params.select_mouse ==
++# 'RIGHT' else False)`.
+ "use_fallback_tool_rmb",
 -# Shorthand for: `('CLICK' if params.use_fallback_tool_rmb else 
params.select_mouse_value)`.
++# Shorthand for: `('CLICK' if params.use_fallback_tool_rmb else
++# params.select_mouse_value)`.
+ "select_mouse_value_fallback",
 -# Shorthand for: `('CLICK_DRAG' if params.use_pie_click_drag else 
'PRESS')`
++# Shorthand for: `('CLICK_DRAG' if params.use_pie_click_drag else
++# 'PRESS')`
+ "pie_value",
+ # Shorthand for: `{"type": params.tool_tweak, "value": 'ANY'}`.
+ "tool_tweak_event",
 -# Shorthand for: `{"type": params.tool_maybe_tweak, "value": 
params.tool_maybe_tweak_value}`.
++# Shorthand for: `{"type": params.tool_maybe_tweak, "value":
++# params.tool_maybe_tweak_value}`.
+ #
 -# NOTE: This is typically used for active tool key-map items however 
it should never
 -# be used for selection tools (the default box-select tool for 
example).
++# NOTE: This is typically used for active tool key-map items however 
it
++# should never
++# be used for selection tools (the default box-select tool for
++# example).
+ # Since this means with RMB select enabled in edit-mode for e.g.
+ # `Ctrl-LMB` would be caught by box-select instead of add/extrude.
 -"tool_maybe_tweak_event",
 -)
++"tool_maybe_tweak_event",)
+ 
 -def __init__(
 -self,
++def __init__(self,
  *,
  legacy=False,
  select_mouse='RIGHT',
@@@ -75,11 -104,13 +107,12 @@@
  use_v3d_tab_menu=False,
  use_v3d_shade_ex_pie=False,
  use_v3d_mmb_pan=False,
+ use_alt_tool_or_cursor=False,
  use_alt_click_leader=False,
  use_pie_click_drag=False,
+ use_file_single_click=False,
  v3d_tilde_action='VIEW',
--v3d_alt_mmb_drag_action='RELATIVE',
--):
++v3d_alt_mmb_drag_action='RELATIVE',):
  from sys import platform
  self.apple = (platform == 'darwin')
  self.legacy = legacy
@@@ -93,12 -127,27 +129,29 @@@
  self.action_tweak = 'EVT_TWEAK_L'
  self.tool_mouse = 'LEFTMOUSE'
  self.tool_tweak = 'EVT_TWEAK_L'
+ if use_alt_tool_or_cursor:
+ self.tool_maybe_tweak = 'LEFTMOUSE'
+ self.tool_maybe_tweak_value = 'PRESS'
+ else:
+ self.tool_maybe_tweak = 'EVT_TWEAK_L'
+ self.tool_maybe_tweak_value = 'ANY'
+ 
  self.context_menu_event = {"type": 'W', "value": 'PRESS'}
- self.cursor_set_event = {"type": 'LEFTMOUSE', "value": 'CLICK'}
+ 
+ # Use the "cursor" functionality for RMB select.
+ if use_alt_tool_or_cursor:
+ self.cursor_set_event = {"type": 'LEFTMOUSE', "value": 

[Bf-blender-cvs] [e01dd8140e6] sculpt-dev: Sculpt: experimental brush palette ui

2021-10-02 Thread Joseph Eagar
Commit: e01dd8140e64b0ac915151526ec954ec577c3038
Author: Joseph Eagar
Date:   Sat Oct 2 00:15:48 2021 -0700
Branches: sculpt-dev
https://developer.blender.org/rBe01dd8140e64b0ac915151526ec954ec577c3038

Sculpt: experimental brush palette ui

Pure python, experimental.

===

M   release/scripts/startup/bl_ui/__init__.py
M   release/scripts/startup/bl_ui/properties_paint_common.py
A   release/scripts/startup/bl_ui/sculpt_ui.py
M   release/scripts/startup/bl_ui/space_view3d.py
M   source/blender/blenkernel/intern/brush_channel_define.h
M   source/blender/blenkernel/intern/brush_engine_presets.c
M   source/blender/editors/sculpt_paint/sculpt.c

===

diff --git a/release/scripts/startup/bl_ui/__init__.py 
b/release/scripts/startup/bl_ui/__init__.py
index 842750969b7..3f6685ee339 100644
--- a/release/scripts/startup/bl_ui/__init__.py
+++ b/release/scripts/startup/bl_ui/__init__.py
@@ -69,6 +69,8 @@ _modules = [
 "properties_world",
 "properties_collection",
 
+"sculpt_ui",
+
 # Generic Space Modules
 #
 # Depends on DNA_WORKSPACE_TOOL (C define).
@@ -125,6 +127,9 @@ def register():
 WindowManager,
 )
 
+from . import sculpt_ui
+sculpt_ui.post_register()
+
 # space_userprefs.py
 def addon_filter_items(_self, _context):
 import addon_utils
diff --git a/release/scripts/startup/bl_ui/properties_paint_common.py 
b/release/scripts/startup/bl_ui/properties_paint_common.py
index c0b9aa8b274..d6bc474256d 100644
--- a/release/scripts/startup/bl_ui/properties_paint_common.py
+++ b/release/scripts/startup/bl_ui/properties_paint_common.py
@@ -337,6 +337,9 @@ class UnifiedPaintPanel:
 """ Generalized way of adding brush options to the UI,
 along with their pen pressure setting and global toggle"""
 
+if slider is None:
+slider = False
+
 if ui_editing is None:
 ui_editing = True
 ui_editing = ui_editing and not header
@@ -1243,7 +1246,6 @@ def brush_settings(layout, context, brush, popover=False):
 brush,
 "dyntopo_disabled",
 #text="Weight By Face Area",
-slider=True,
 header=True
 )
 #layout.prop(brush.dyntopo, "disabled", text="Disable Dyntopo")
@@ -1257,7 +1259,16 @@ def brush_settings(layout, context, brush, 
popover=False):
 text = "Pinch"
 if sculpt_tool in {'BLOB', 'SNAKE_HOOK'}:
 text = "Magnify"
-layout.prop(brush, "crease_pinch_factor", slider=True, text=text)
+
+UnifiedPaintPanel.channel_unified(
+layout,
+context,
+brush,
+"crease_pinch_factor",
+#text="Weight By Face Area",
+slider=True,
+text = text
+)
 
 # rake_factor
 if capabilities.has_rake_factor:
@@ -1310,7 +1321,7 @@ def brush_settings(layout, context, brush, popover=False):
 layout.prop(brush, "height", slider=True, text="Height")
 
 # use_persistent, set_persistent_base
-if capabilities.has_persistence:
+if 0: #capabilities.has_persistence:
 layout.separator()
 layout.prop(brush, "use_persistent")
 layout.operator("sculpt.set_persistent_base")
@@ -1335,89 +1346,211 @@ def brush_settings(layout, context, brush, 
popover=False):
 
 # Per sculpt tool options.
 
+def doprop(col, prop, slider=None):
+UnifiedPaintPanel.channel_unified(
+col,
+context,
+brush,
+prop,
+slider=slider
+)
+
 if sculpt_tool == "VCOL_BOUNDARY":
 row = layout.row()
-row.prop(brush, "vcol_boundary_exponent")
+UnifiedPaintPanel.channel_unified(
+row,
+context,
+brush,
+"vcol_boundary_exponent",
+slider=True
+)
 
 if sculpt_tool == 'CLAY_STRIPS':
 row = layout.row()
-row.prop(brush, "tip_roundness")
+UnifiedPaintPanel.channel_unified(
+row,
+context,
+brush,
+"tip_roundness",
+slider=True
+)
 
 elif sculpt_tool == 'ELASTIC_DEFORM':
 layout.separator()
-layout.prop(brush, "elastic_deform_type")
-layout.prop(brush, "elastic_deform_volume_preservation", 
slider=True)
-layout.prop(brush, "use_surface_falloff")
+UnifiedPaintPanel.channel_unified(
+layout,
+context,
+brush,
+"elastic_deform_type",
+)
+U

[Bf-blender-cvs] [52822b218df] soc-2021-uv-edge-select-support: Merge branch 'master' into soc-2021-uv-edge-select-support

2021-10-02 Thread Siddhartha Jejurkar
Commit: 52822b218dfdfe867f4da068655386673ba91236
Author: Siddhartha Jejurkar
Date:   Sat Oct 2 12:40:33 2021 +0530
Branches: soc-2021-uv-edge-select-support
https://developer.blender.org/rB52822b218dfdfe867f4da068655386673ba91236

Merge branch 'master' into soc-2021-uv-edge-select-support

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
List details, subscription details or unsubscribe:
https://lists.blender.org/mailman/listinfo/bf-blender-cvs