Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/transform/transform_convert_object.c
| Show First 20 Lines • Show All 474 Lines • ▼ Show 20 Lines | for (base = view_layer->object_bases.first; base; base = base->next) { | ||||
| } | } | ||||
| base->flag_legacy &= ~(BA_WAS_SEL | BA_SNAP_FIX_DEPS_FIASCO | BA_TEMP_TAG | | base->flag_legacy &= ~(BA_WAS_SEL | BA_SNAP_FIX_DEPS_FIASCO | BA_TEMP_TAG | | ||||
| BA_TRANSFORM_CHILD | BA_TRANSFORM_PARENT | | BA_TRANSFORM_CHILD | BA_TRANSFORM_PARENT | | ||||
| BA_TRANSFORM_LOCKED_IN_PLACE); | BA_TRANSFORM_LOCKED_IN_PLACE); | ||||
| } | } | ||||
| } | } | ||||
| void createTransObject(bContext *C, TransInfo *t) | static void createTransObject(bContext *C, TransInfo *t) | ||||
| { | { | ||||
| Main *bmain = CTX_data_main(C); | Main *bmain = CTX_data_main(C); | ||||
| TransData *td = NULL; | TransData *td = NULL; | ||||
| TransDataExtension *tx; | TransDataExtension *tx; | ||||
| const bool is_prop_edit = (t->flag & T_PROP_EDIT) != 0; | const bool is_prop_edit = (t->flag & T_PROP_EDIT) != 0; | ||||
| set_trans_object_base_flags(t); | set_trans_object_base_flags(t); | ||||
| ▲ Show 20 Lines • Show All 363 Lines • ▼ Show 20 Lines | |||||
| } | } | ||||
| /** \} */ | /** \} */ | ||||
| /* -------------------------------------------------------------------- */ | /* -------------------------------------------------------------------- */ | ||||
| /** \name Recalc Data object | /** \name Recalc Data object | ||||
| * \{ */ | * \{ */ | ||||
| void recalcData_objects(TransInfo *t) | static void recalcData_objects(TransInfo *t) | ||||
| { | { | ||||
| bool motionpath_update = false; | bool motionpath_update = false; | ||||
| if (t->state != TRANS_CANCEL) { | if (t->state != TRANS_CANCEL) { | ||||
| applySnappingIndividual(t); | applySnappingIndividual(t); | ||||
| } | } | ||||
| FOREACH_TRANS_DATA_CONTAINER (t, tc) { | FOREACH_TRANS_DATA_CONTAINER (t, tc) { | ||||
| ▲ Show 20 Lines • Show All 41 Lines • ▼ Show 20 Lines | |||||
| } | } | ||||
| /** \} */ | /** \} */ | ||||
| /* -------------------------------------------------------------------- */ | /* -------------------------------------------------------------------- */ | ||||
| /** \name Special After Transform Object | /** \name Special After Transform Object | ||||
| * \{ */ | * \{ */ | ||||
| void special_aftertrans_update__object(bContext *C, TransInfo *t) | static void special_aftertrans_update__object(bContext *C, TransInfo *t) | ||||
| { | { | ||||
| BLI_assert(t->options & CTX_OBJECT); | BLI_assert(t->options & CTX_OBJECT); | ||||
| Object *ob; | Object *ob; | ||||
| const bool canceled = (t->state == TRANS_CANCEL); | const bool canceled = (t->state == TRANS_CANCEL); | ||||
| TransDataContainer *tc = TRANS_DATA_CONTAINER_FIRST_SINGLE(t); | TransDataContainer *tc = TRANS_DATA_CONTAINER_FIRST_SINGLE(t); | ||||
| bool motionpath_update = false; | bool motionpath_update = false; | ||||
| ▲ Show 20 Lines • Show All 56 Lines • ▼ Show 20 Lines | const eObjectPathCalcRange range = canceled ? OBJECT_PATH_CALC_RANGE_CURRENT_FRAME : | ||||
| OBJECT_PATH_CALC_RANGE_CHANGED; | OBJECT_PATH_CALC_RANGE_CHANGED; | ||||
| ED_objects_recalculate_paths_selected(C, t->scene, range); | ED_objects_recalculate_paths_selected(C, t->scene, range); | ||||
| } | } | ||||
| clear_trans_object_base_flags(t); | clear_trans_object_base_flags(t); | ||||
| } | } | ||||
| /** \} */ | /** \} */ | ||||
| TransConvertTypeInfo TransConvertType_Object = { | |||||
| /* flags */ 0, | |||||
| /* createTransData */ createTransObject, | |||||
| /* recalcData */ recalcData_objects, | |||||
| /* special_aftertrans_update */ special_aftertrans_update__object, | |||||
| }; | |||||