Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2017-06-22 11:29:45 +0300
committerCampbell Barton <ideasman42@gmail.com>2017-06-22 11:39:28 +0300
commitf1824507e2b73859ede1c2e850d05795f10da6bb (patch)
tree343d8c02b161506775d2825c83955737436b38b0 /source/blender/editors/mesh
parent87adeb8dd91db5bfada04f6df749c28cc4b79251 (diff)
Manipulator: target property definitions
Changes from custom-manipulator branch. - use property type definitions. - add property free callback. - move properties into the wmManipulator struct (over alloc). - use array length from property types instead of arg passing.
Diffstat (limited to 'source/blender/editors/mesh')
-rw-r--r--source/blender/editors/mesh/editmesh_bisect.c48
-rw-r--r--source/blender/editors/mesh/editmesh_extrude.c62
2 files changed, 60 insertions, 50 deletions
diff --git a/source/blender/editors/mesh/editmesh_bisect.c b/source/blender/editors/mesh/editmesh_bisect.c
index 4d301c009ee..8f1ba716b83 100644
--- a/source/blender/editors/mesh/editmesh_bisect.c
+++ b/source/blender/editors/mesh/editmesh_bisect.c
@@ -456,14 +456,14 @@ static void manipulator_mesh_bisect_update_from_op(ManipulatorGroup *man)
/* depth callbacks */
static void manipulator_bisect_prop_depth_get(
- const wmManipulator *mpr, wmManipulatorProperty *UNUSED(mpr_prop), void *UNUSED(user_data),
- float *value, uint value_len)
+ const wmManipulator *mpr, wmManipulatorProperty *mpr_prop,
+ float *value)
{
ManipulatorGroup *man = mpr->parent_mgroup->customdata;
wmOperator *op = man->data.op;
- BLI_assert(value_len == 1);
- UNUSED_VARS_NDEBUG(value_len);
+ BLI_assert(mpr_prop->type->array_length == 1);
+ UNUSED_VARS_NDEBUG(mpr_prop);
float plane_co[3], plane_no[3];
RNA_property_float_get_array(op->ptr, man->data.prop_plane_co, plane_co);
@@ -473,14 +473,14 @@ static void manipulator_bisect_prop_depth_get(
}
static void manipulator_bisect_prop_depth_set(
- const wmManipulator *mpr, wmManipulatorProperty *UNUSED(mpr_prop), void *UNUSED(user_data),
- const float *value, uint value_len)
+ const wmManipulator *mpr, wmManipulatorProperty *mpr_prop,
+ const float *value)
{
ManipulatorGroup *man = mpr->parent_mgroup->customdata;
wmOperator *op = man->data.op;
- BLI_assert(value_len == 1);
- UNUSED_VARS_NDEBUG(value_len);
+ BLI_assert(mpr_prop->type->array_length == 1);
+ UNUSED_VARS_NDEBUG(mpr_prop);
float plane_co[3], plane[4];
RNA_property_float_get_array(op->ptr, man->data.prop_plane_co, plane_co);
@@ -499,24 +499,28 @@ static void manipulator_bisect_prop_depth_set(
/* translate callbacks */
static void manipulator_bisect_prop_translate_get(
- const wmManipulator *mpr, wmManipulatorProperty *UNUSED(mpr_prop), void *UNUSED(user_data),
- float *value, uint value_len)
+ const wmManipulator *mpr, wmManipulatorProperty *mpr_prop,
+ float *value)
{
ManipulatorGroup *man = mpr->parent_mgroup->customdata;
wmOperator *op = man->data.op;
- BLI_assert(value_len == 3);
+ BLI_assert(mpr_prop->type->array_length == 3);
+ UNUSED_VARS_NDEBUG(mpr_prop);
+
RNA_property_float_get_array(op->ptr, man->data.prop_plane_co, value);
}
static void manipulator_bisect_prop_translate_set(
- const wmManipulator *mpr, wmManipulatorProperty *UNUSED(mpr_prop), void *UNUSED(user_data),
- const float *value, uint value_len)
+ const wmManipulator *mpr, wmManipulatorProperty *mpr_prop,
+ const float *value)
{
ManipulatorGroup *man = mpr->parent_mgroup->customdata;
wmOperator *op = man->data.op;
- BLI_assert(value_len == 3);
+ BLI_assert(mpr_prop->type->array_length == 3);
+ UNUSED_VARS_NDEBUG(mpr_prop);
+
RNA_property_float_set_array(op->ptr, man->data.prop_plane_co, value);
manipulator_bisect_exec(man);
@@ -524,14 +528,14 @@ static void manipulator_bisect_prop_translate_set(
/* angle callbacks */
static void manipulator_bisect_prop_angle_get(
- const wmManipulator *mpr, wmManipulatorProperty *UNUSED(mpr_prop), void *UNUSED(user_data),
- float *value, uint value_len)
+ const wmManipulator *mpr, wmManipulatorProperty *mpr_prop,
+ float *value)
{
ManipulatorGroup *man = mpr->parent_mgroup->customdata;
wmOperator *op = man->data.op;
- BLI_assert(value_len == 1);
- UNUSED_VARS_NDEBUG(value_len);
+ BLI_assert(mpr_prop->type->array_length == 1);
+ UNUSED_VARS_NDEBUG(mpr_prop);
float plane_no[4];
RNA_property_float_get_array(op->ptr, man->data.prop_plane_no, plane_no);
@@ -550,14 +554,14 @@ static void manipulator_bisect_prop_angle_get(
}
static void manipulator_bisect_prop_angle_set(
- const wmManipulator *mpr, wmManipulatorProperty *UNUSED(mpr_prop), void *UNUSED(user_data),
- const float *value, uint value_len)
+ const wmManipulator *mpr, wmManipulatorProperty *mpr_prop,
+ const float *value)
{
ManipulatorGroup *man = mpr->parent_mgroup->customdata;
wmOperator *op = man->data.op;
- BLI_assert(value_len == 1);
- UNUSED_VARS_NDEBUG(value_len);
+ BLI_assert(mpr_prop->type->array_length == 1);
+ UNUSED_VARS_NDEBUG(mpr_prop);
float plane_no[4];
RNA_property_float_get_array(op->ptr, man->data.prop_plane_no, plane_no);
diff --git a/source/blender/editors/mesh/editmesh_extrude.c b/source/blender/editors/mesh/editmesh_extrude.c
index 32f5dcd5526..224ce5cfeb8 100644
--- a/source/blender/editors/mesh/editmesh_extrude.c
+++ b/source/blender/editors/mesh/editmesh_extrude.c
@@ -890,14 +890,14 @@ static void manipulator_mesh_spin_update_from_op(ManipulatorSpinGroup *man)
/* depth callbacks */
static void manipulator_spin_prop_depth_get(
- const wmManipulator *mpr, wmManipulatorProperty *UNUSED(mpr_prop), void *UNUSED(user_data),
- float *value, uint value_len)
+ const wmManipulator *mpr, wmManipulatorProperty *mpr_prop,
+ float *value)
{
ManipulatorSpinGroup *man = mpr->parent_mgroup->customdata;
wmOperator *op = man->data.op;
- BLI_assert(value_len == 1);
- UNUSED_VARS_NDEBUG(value_len);
+ BLI_assert(mpr_prop->type->array_length == 1);
+ UNUSED_VARS_NDEBUG(mpr_prop);
float plane_co[3], plane_no[3];
RNA_property_float_get_array(op->ptr, man->data.prop_axis_co, plane_co);
@@ -907,14 +907,14 @@ static void manipulator_spin_prop_depth_get(
}
static void manipulator_spin_prop_depth_set(
- const wmManipulator *mpr, wmManipulatorProperty *UNUSED(mpr_prop), void *UNUSED(user_data),
- const float *value, uint value_len)
+ const wmManipulator *mpr, wmManipulatorProperty *mpr_prop,
+ const float *value)
{
ManipulatorSpinGroup *man = mpr->parent_mgroup->customdata;
wmOperator *op = man->data.op;
- BLI_assert(value_len == 1);
- UNUSED_VARS_NDEBUG(value_len);
+ BLI_assert(mpr_prop->type->array_length == 1);
+ UNUSED_VARS_NDEBUG(mpr_prop);
float plane_co[3], plane[4];
RNA_property_float_get_array(op->ptr, man->data.prop_axis_co, plane_co);
@@ -933,24 +933,28 @@ static void manipulator_spin_prop_depth_set(
/* translate callbacks */
static void manipulator_spin_prop_translate_get(
- const wmManipulator *mpr, wmManipulatorProperty *UNUSED(mpr_prop), void *UNUSED(user_data),
- float *value, uint value_len)
+ const wmManipulator *mpr, wmManipulatorProperty *mpr_prop,
+ float *value)
{
ManipulatorSpinGroup *man = mpr->parent_mgroup->customdata;
wmOperator *op = man->data.op;
- BLI_assert(value_len == 3);
+ BLI_assert(mpr_prop->type->array_length == 3);
+ UNUSED_VARS_NDEBUG(mpr_prop);
+
RNA_property_float_get_array(op->ptr, man->data.prop_axis_co, value);
}
static void manipulator_spin_prop_translate_set(
- const wmManipulator *mpr, wmManipulatorProperty *UNUSED(mpr_prop), void *UNUSED(user_data),
- const float *value, uint value_len)
+ const wmManipulator *mpr, wmManipulatorProperty *mpr_prop,
+ const float *value)
{
ManipulatorSpinGroup *man = mpr->parent_mgroup->customdata;
wmOperator *op = man->data.op;
- BLI_assert(value_len == 3);
+ BLI_assert(mpr_prop->type->array_length == 3);
+ UNUSED_VARS_NDEBUG(mpr_prop);
+
RNA_property_float_set_array(op->ptr, man->data.prop_axis_co, value);
manipulator_spin_exec(man);
@@ -958,14 +962,14 @@ static void manipulator_spin_prop_translate_set(
/* angle callbacks */
static void manipulator_spin_prop_axis_angle_get(
- const wmManipulator *mpr, wmManipulatorProperty *UNUSED(mpr_prop), void *UNUSED(user_data),
- float *value, uint value_len)
+ const wmManipulator *mpr, wmManipulatorProperty *mpr_prop,
+ float *value)
{
ManipulatorSpinGroup *man = mpr->parent_mgroup->customdata;
wmOperator *op = man->data.op;
- BLI_assert(value_len == 1);
- UNUSED_VARS_NDEBUG(value_len);
+ BLI_assert(mpr_prop->type->array_length == 1);
+ UNUSED_VARS_NDEBUG(mpr_prop);
float plane_no[4];
RNA_property_float_get_array(op->ptr, man->data.prop_axis_no, plane_no);
@@ -984,14 +988,14 @@ static void manipulator_spin_prop_axis_angle_get(
}
static void manipulator_spin_prop_axis_angle_set(
- const wmManipulator *mpr, wmManipulatorProperty *UNUSED(mpr_prop), void *UNUSED(user_data),
- const float *value, uint value_len)
+ const wmManipulator *mpr, wmManipulatorProperty *mpr_prop,
+ const float *value)
{
ManipulatorSpinGroup *man = mpr->parent_mgroup->customdata;
wmOperator *op = man->data.op;
- BLI_assert(value_len == 1);
- UNUSED_VARS_NDEBUG(value_len);
+ BLI_assert(mpr_prop->type->array_length == 1);
+ UNUSED_VARS_NDEBUG(mpr_prop);
float plane_no[4];
RNA_property_float_get_array(op->ptr, man->data.prop_axis_no, plane_no);
@@ -1018,22 +1022,24 @@ static void manipulator_spin_prop_axis_angle_set(
/* angle callbacks */
static void manipulator_spin_prop_angle_get(
- const wmManipulator *mpr, wmManipulatorProperty *UNUSED(mpr_prop), void *UNUSED(user_data),
- float *value, uint value_len)
+ const wmManipulator *mpr, wmManipulatorProperty *mpr_prop,
+ float *value)
{
ManipulatorSpinGroup *man = mpr->parent_mgroup->customdata;
wmOperator *op = man->data.op;
- BLI_assert(value_len == 1);
+ BLI_assert(mpr_prop->type->array_length == 1);
+ UNUSED_VARS_NDEBUG(mpr_prop);
value[0] = RNA_property_float_get(op->ptr, man->data.prop_angle);
}
static void manipulator_spin_prop_angle_set(
- const wmManipulator *mpr, wmManipulatorProperty *UNUSED(mpr_prop), void *UNUSED(user_data),
- const float *value, uint value_len)
+ const wmManipulator *mpr, wmManipulatorProperty *mpr_prop,
+ const float *value)
{
ManipulatorSpinGroup *man = mpr->parent_mgroup->customdata;
wmOperator *op = man->data.op;
- BLI_assert(value_len == 1);
+ BLI_assert(mpr_prop->type->array_length == 1);
+ UNUSED_VARS_NDEBUG(mpr_prop);
RNA_property_float_set(op->ptr, man->data.prop_angle, value[0]);
manipulator_spin_exec(man);