[Bf-blender-cvs] [4c8746a9655] functions: Merge branch 'master' into functions

Jacques Lucke noreply at git.blender.org
Wed Jul 31 18:45:29 CEST 2019


Commit: 4c8746a9655987c03d5cfc0b9cad9f78d88ff5d7
Author: Jacques Lucke
Date:   Wed Jul 31 18:41:50 2019 +0200
Branches: functions
https://developer.blender.org/rB4c8746a9655987c03d5cfc0b9cad9f78d88ff5d7

Merge branch 'master' into functions

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



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

diff --cc source/blender/blenkernel/intern/fcurve.c
index c240ff57213,9878bdf8a8a..fe67a0db671
--- a/source/blender/blenkernel/intern/fcurve.c
+++ b/source/blender/blenkernel/intern/fcurve.c
@@@ -1744,44 -1742,9 +1744,44 @@@ static float dvar_eval_transChan(Channe
    }
  }
  
 +/* evaluate 'function' driver variable */
 +static float dvar_eval_function(ChannelDriver *UNUSED(driver), DriverVar *dvar)
 +{
 +  FnFunction fn = (FnFunction)get_driver_variable_function(dvar);
 +  if (fn == NULL) {
 +    return 0.0f;
 +  }
 +
 +  FnTupleCallBody body = FN_tuple_call_get(fn);
 +
 +  FnTuple fn_in = FN_tuple_for_input(body);
 +  FnTuple fn_out = FN_tuple_for_output(body);
 +  FN_tuple_set_int32(fn_in, 0, (int64_t)dvar);
 +
 +  FN_tuple_call_invoke(body, fn_in, fn_out, __func__);
 +  float result = FN_tuple_get_float(fn_out, 0);
 +
 +  FN_tuple_free(fn_in);
 +  FN_tuple_free(fn_out);
 +
 +  return result;
 +}
 +
 +struct bNodeTree;
 +void *get_driver_variable_function(DriverVar *dvar)
 +{
 +  FnType float_ty = FN_type_borrow_float();
 +  FnType int32_ty = FN_type_borrow_int32();
 +  FnType inputs[] = {int32_ty, NULL};
 +  FnType outputs[] = {float_ty, NULL};
 +
 +  struct bNodeTree *tree = (struct bNodeTree *)dvar->targets[0].id;
 +  return FN_function_get_with_signature(tree, inputs, outputs);
 +}
 +
  /* ......... */
  
- /* Table of Driver Varaiable Type Info Data */
+ /* Table of Driver Variable Type Info Data */
  static DriverVarTypeInfo dvar_types[MAX_DVAR_TYPES] = {
      BEGIN_DVAR_TYPEDEF(DVAR_TYPE_SINGLE_PROP) dvar_eval_singleProp, /* eval callback */
      1,                                                              /* number of targets used */



More information about the Bf-blender-cvs mailing list