Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/transform/transform_convert.c
| Show First 20 Lines • Show All 1,060 Lines • ▼ Show 20 Lines | else if (ELEM(convert_type, TC_MESH_VERTS, TC_MESH_SKIN)) { | ||||
| } | } | ||||
| else { | else { | ||||
| set_prop_dist(t, false); | set_prop_dist(t, false); | ||||
| } | } | ||||
| } | } | ||||
| else if (convert_type == TC_MESH_UV && t->flag & T_PROP_CONNECTED) { | else if (convert_type == TC_MESH_UV && t->flag & T_PROP_CONNECTED) { | ||||
| /* Already calculated by uv_set_connectivity_distance. */ | /* Already calculated by uv_set_connectivity_distance. */ | ||||
| } | } | ||||
| else if (convert_type == TC_CURVE_VERTS && t->obedit_type == OB_CURVE) { | else if (convert_type == TC_CURVE_VERTS) { | ||||
| BLI_assert(t->obedit_type == OB_CURVE); | |||||
| set_prop_dist(t, false); | set_prop_dist(t, false); | ||||
| } | } | ||||
| else { | else { | ||||
| set_prop_dist(t, true); | set_prop_dist(t, true); | ||||
| } | } | ||||
| sort_trans_data_dist(t); | sort_trans_data_dist(t); | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 283 Lines • ▼ Show 20 Lines | void createTransData(bContext *C, TransInfo *t) | ||||
| else { | else { | ||||
| ViewLayer *view_layer = t->view_layer; | ViewLayer *view_layer = t->view_layer; | ||||
| Object *ob = OBACT(view_layer); | Object *ob = OBACT(view_layer); | ||||
| init_TransDataContainers(t, ob, NULL, 0); | init_TransDataContainers(t, ob, NULL, 0); | ||||
| } | } | ||||
| switch (t->data_type) { | switch (t->data_type) { | ||||
| case TC_ACTION_DATA: | case TC_ACTION_DATA: | ||||
| t->obedit_type = -1; | |||||
| createTransActionData(C, t); | createTransActionData(C, t); | ||||
| break; | break; | ||||
| case TC_POSE: | case TC_POSE: | ||||
| t->options |= CTX_POSE_BONE; | t->options |= CTX_POSE_BONE; | ||||
| /* XXX active-layer checking isn't done | /* XXX active-layer checking isn't done | ||||
| * as that should probably be checked through context instead. */ | * as that should probably be checked through context instead. */ | ||||
| createTransPose(t); | createTransPose(t); | ||||
| break; | break; | ||||
| case TC_ARMATURE_VERTS: | case TC_ARMATURE_VERTS: | ||||
| createTransArmatureVerts(t); | createTransArmatureVerts(t); | ||||
| break; | break; | ||||
| case TC_CURSOR_IMAGE: | case TC_CURSOR_IMAGE: | ||||
| createTransCursor_image(t); | createTransCursor_image(t); | ||||
| break; | break; | ||||
| case TC_CURSOR_VIEW3D: | case TC_CURSOR_VIEW3D: | ||||
| createTransCursor_view3d(t); | createTransCursor_view3d(t); | ||||
| break; | break; | ||||
| case TC_CURVE_VERTS: | case TC_CURVE_VERTS: | ||||
| createTransCurveVerts(t); | createTransCurveVerts(t); | ||||
| break; | break; | ||||
| case TC_GRAPH_EDIT_DATA: | case TC_GRAPH_EDIT_DATA: | ||||
| t->obedit_type = -1; | |||||
| createTransGraphEditData(C, t); | createTransGraphEditData(C, t); | ||||
| break; | break; | ||||
| case TC_GPENCIL: | case TC_GPENCIL: | ||||
| createTransGPencil(C, t); | createTransGPencil(C, t); | ||||
| break; | break; | ||||
| case TC_LATTICE_VERTS: | case TC_LATTICE_VERTS: | ||||
| createTransLatticeVerts(t); | createTransLatticeVerts(t); | ||||
| break; | break; | ||||
| case TC_MASKING_DATA: | case TC_MASKING_DATA: | ||||
| if (t->spacetype == SPACE_CLIP) { | |||||
| t->obedit_type = -1; | |||||
| } | |||||
| createTransMaskingData(C, t); | createTransMaskingData(C, t); | ||||
| break; | break; | ||||
| case TC_MBALL_VERTS: | case TC_MBALL_VERTS: | ||||
| createTransMBallVerts(t); | createTransMBallVerts(t); | ||||
| break; | break; | ||||
| case TC_MESH_VERTS: | case TC_MESH_VERTS: | ||||
| createTransEditVerts(t); | createTransEditVerts(t); | ||||
| break; | break; | ||||
| case TC_MESH_EDGES: | case TC_MESH_EDGES: | ||||
| createTransEdge(t); | createTransEdge(t); | ||||
| break; | break; | ||||
| case TC_MESH_SKIN: | case TC_MESH_SKIN: | ||||
| createTransMeshSkin(t); | createTransMeshSkin(t); | ||||
| break; | break; | ||||
| case TC_MESH_UV: | case TC_MESH_UV: | ||||
| createTransUVs(C, t); | createTransUVs(C, t); | ||||
| break; | break; | ||||
| case TC_NLA_DATA: | case TC_NLA_DATA: | ||||
| t->obedit_type = -1; | |||||
| createTransNlaData(C, t); | createTransNlaData(C, t); | ||||
| break; | break; | ||||
| case TC_NODE_DATA: | case TC_NODE_DATA: | ||||
| t->obedit_type = -1; | |||||
| createTransNodeData(t); | createTransNodeData(t); | ||||
| break; | break; | ||||
| case TC_OBJECT: | case TC_OBJECT: | ||||
| t->options |= CTX_OBJECT; | t->options |= CTX_OBJECT; | ||||
| /* Needed for correct Object.obmat after duplication, see: T62135. */ | /* Needed for correct Object.obmat after duplication, see: T62135. */ | ||||
| BKE_scene_graph_evaluated_ensure(t->depsgraph, CTX_data_main(t->context)); | BKE_scene_graph_evaluated_ensure(t->depsgraph, CTX_data_main(t->context)); | ||||
| Show All 27 Lines | case TC_PAINT_CURVE_VERTS: | ||||
| break; | break; | ||||
| case TC_PARTICLE_VERTS: | case TC_PARTICLE_VERTS: | ||||
| createTransParticleVerts(t); | createTransParticleVerts(t); | ||||
| break; | break; | ||||
| case TC_SCULPT: | case TC_SCULPT: | ||||
| createTransSculpt(C, t); | createTransSculpt(C, t); | ||||
| break; | break; | ||||
| case TC_SEQ_DATA: | case TC_SEQ_DATA: | ||||
| t->obedit_type = -1; | |||||
| t->num.flag |= NUM_NO_FRACTION; /* sequencer has no use for floating point transform. */ | t->num.flag |= NUM_NO_FRACTION; /* sequencer has no use for floating point transform. */ | ||||
| createTransSeqData(t); | createTransSeqData(t); | ||||
| break; | break; | ||||
| case TC_TRACKING_DATA: | case TC_TRACKING_DATA: | ||||
| t->obedit_type = -1; | |||||
| createTransTrackingData(C, t); | createTransTrackingData(C, t); | ||||
| break; | break; | ||||
| case TC_NONE: | case TC_NONE: | ||||
| default: | default: | ||||
| printf("edit type not implemented!\n"); | printf("edit type not implemented!\n"); | ||||
| BLI_assert(t->data_len_all == -1); | BLI_assert(t->data_len_all == -1); | ||||
| t->data_len_all = 0; | t->data_len_all = 0; | ||||
| return; | return; | ||||
| } | } | ||||
| countAndCleanTransDataContainer(t); | countAndCleanTransDataContainer(t); | ||||
| init_proportional_edit(t); | init_proportional_edit(t); | ||||
| BLI_assert((!(t->flag & T_EDIT)) == (!(t->obedit_type != -1))); | |||||
| } | } | ||||
| /** \} */ | /** \} */ | ||||
| /* -------------------------------------------------------------------- */ | /* -------------------------------------------------------------------- */ | ||||
| /** \name Transform Data Recalc/Flush | /** \name Transform Data Recalc/Flush | ||||
| * \{ */ | * \{ */ | ||||
| ▲ Show 20 Lines • Show All 285 Lines • Show Last 20 Lines | |||||