Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/transform/transform_convert.h
| Show All 15 Lines | |||||
| struct FCurve; | struct FCurve; | ||||
| struct ListBase; | struct ListBase; | ||||
| struct Object; | struct Object; | ||||
| struct TransData; | struct TransData; | ||||
| struct TransDataCurveHandleFlags; | struct TransDataCurveHandleFlags; | ||||
| struct TransInfo; | struct TransInfo; | ||||
| struct bContext; | struct bContext; | ||||
| typedef struct TransConvertTypeInfo { | |||||
| int flags; /* eTFlag */ | |||||
| /** | |||||
| * Allocate and initialize `t->data`. | |||||
| */ | |||||
| void (*createTransData)(bContext *C, TransInfo *t); | |||||
| /** | |||||
| * Force recalculation of data during transformation. | |||||
| */ | |||||
| void (*recalcData)(TransInfo *t); | |||||
| /** | |||||
| * Called when the operation is finished. | |||||
| */ | |||||
| void (*special_aftertrans_update)(bContext *C, TransInfo *t); | |||||
| } TransConvertTypeInfo; | |||||
| /* transform_convert.c */ | /* transform_convert.c */ | ||||
| /** | /** | ||||
| * Change the chain-length of auto-IK. | * Change the chain-length of auto-IK. | ||||
| */ | */ | ||||
| void transform_autoik_update(TransInfo *t, short mode); | void transform_autoik_update(TransInfo *t, short mode); | ||||
| int special_transform_moving(TransInfo *t); | int special_transform_moving(TransInfo *t); | ||||
| /** | /** | ||||
| ▲ Show 20 Lines • Show All 61 Lines • ▼ Show 20 Lines | |||||
| void transform_convert_clip_mirror_modifier_apply(TransDataContainer *tc); | void transform_convert_clip_mirror_modifier_apply(TransDataContainer *tc); | ||||
| /** | /** | ||||
| * For the realtime animation recording feature, handle overlapping data. | * For the realtime animation recording feature, handle overlapping data. | ||||
| */ | */ | ||||
| void animrecord_check_state(TransInfo *t, struct ID *id); | void animrecord_check_state(TransInfo *t, struct ID *id); | ||||
| /* transform_convert_action.c */ | /* transform_convert_action.c */ | ||||
| void createTransActionData(bContext *C, TransInfo *t); | extern TransConvertTypeInfo TransConvertType_Action; | ||||
| /* helper for recalcData() - for Action Editor transforms */ | |||||
| void recalcData_actedit(TransInfo *t); | |||||
| void special_aftertrans_update__actedit(bContext *C, TransInfo *t); | |||||
| /* transform_convert_armature.c */ | /* transform_convert_armature.c */ | ||||
| extern TransConvertTypeInfo TransConvertType_EditArmature; | |||||
| extern TransConvertTypeInfo TransConvertType_Pose; | |||||
| /** | /** | ||||
| * Sets transform flags in the bones. | * Sets transform flags in the bones. | ||||
| * Returns total number of bones with #BONE_TRANSFORM. | * Returns total number of bones with #BONE_TRANSFORM. | ||||
| */ | */ | ||||
| void transform_convert_pose_transflags_update(Object *ob, int mode, short around); | void transform_convert_pose_transflags_update(Object *ob, int mode, short around); | ||||
| /** | |||||
| * When objects array is NULL, use 't->data_container' as is. | |||||
| */ | |||||
| void createTransPose(TransInfo *t); | |||||
| void createTransArmatureVerts(TransInfo *t); | |||||
| void recalcData_edit_armature(TransInfo *t); | |||||
| void recalcData_pose(TransInfo *t); | |||||
| void special_aftertrans_update__pose(bContext *C, TransInfo *t); | |||||
| /* transform_convert_cursor.c */ | /* transform_convert_cursor.c */ | ||||
| void createTransCursor_image(TransInfo *t); | extern TransConvertTypeInfo TransConvertType_CursorImage; | ||||
| void createTransCursor_sequencer(TransInfo *t); | extern TransConvertTypeInfo TransConvertType_CursorSequencer; | ||||
| void createTransCursor_view3d(TransInfo *t); | extern TransConvertTypeInfo TransConvertType_Cursor3D; | ||||
| void recalcData_cursor_image(TransInfo *t); | |||||
| void recalcData_cursor_sequencer(TransInfo *t); | |||||
| void recalcData_cursor_view3d(TransInfo *t); | |||||
| /* transform_convert_curve.c */ | /* transform_convert_curve.c */ | ||||
| void createTransCurveVerts(TransInfo *t); | extern TransConvertTypeInfo TransConvertType_Curve; | ||||
| void recalcData_curve(TransInfo *t); | |||||
| /* transform_convert_graph.c */ | /* transform_convert_graph.c */ | ||||
| /** | extern TransConvertTypeInfo TransConvertType_Graph; | ||||
| * It is important to note that this doesn't always act on the selection (like it's usually done), | |||||
| * it acts on a subset of it. E.g. the selection code may leave a hint that we just dragged on a | |||||
| * left or right handle (SIPO_RUNTIME_FLAG_TWEAK_HANDLES_LEFT/RIGHT) and then we only transform the | |||||
| * selected left or right handles accordingly. | |||||
| * The points to be transformed are tagged with BEZT_FLAG_TEMP_TAG; some lower level curve | |||||
| * functions may need to be made aware of this. It's ugly that these act based on selection state | |||||
| * anyway. | |||||
| */ | |||||
| void createTransGraphEditData(bContext *C, TransInfo *t); | |||||
| /* helper for recalcData() - for Graph Editor transforms */ | |||||
| void recalcData_graphedit(TransInfo *t); | |||||
| void special_aftertrans_update__graph(bContext *C, TransInfo *t); | |||||
| /* transform_convert_gpencil.c */ | /* transform_convert_gpencil.c */ | ||||
| void createTransGPencil(bContext *C, TransInfo *t); | extern TransConvertTypeInfo TransConvertType_GPencil; | ||||
| /* force recalculation of triangles during transformation */ | |||||
| void recalcData_gpencil_strokes(TransInfo *t); | |||||
| /* transform_convert_lattice.c */ | /* transform_convert_lattice.c */ | ||||
| void createTransLatticeVerts(TransInfo *t); | extern TransConvertTypeInfo TransConvertType_Lattice; | ||||
| void recalcData_lattice(TransInfo *t); | |||||
| /* transform_convert_mask.c */ | /* transform_convert_mask.c */ | ||||
| void createTransMaskingData(bContext *C, TransInfo *t); | extern TransConvertTypeInfo TransConvertType_Mask; | ||||
| void recalcData_mask_common(TransInfo *t); | |||||
| void special_aftertrans_update__mask(bContext *C, TransInfo *t); | |||||
| /* transform_convert_mball.c */ | /* transform_convert_mball.c */ | ||||
| void createTransMBallVerts(TransInfo *t); | extern TransConvertTypeInfo TransConvertType_MBall; | ||||
| void recalcData_mball(TransInfo *t); | |||||
| /* transform_convert_mesh.c */ | /* transform_convert_mesh.c */ | ||||
| extern TransConvertTypeInfo TransConvertType_Mesh; | |||||
| struct TransIslandData { | struct TransIslandData { | ||||
| float (*center)[3]; | float (*center)[3]; | ||||
| float (*axismtx)[3][3]; | float (*axismtx)[3][3]; | ||||
| int island_tot; | int island_tot; | ||||
| int *island_vert_map; | int *island_vert_map; | ||||
| }; | }; | ||||
| struct MirrorDataVert { | struct MirrorDataVert { | ||||
| ▲ Show 20 Lines • Show All 42 Lines • ▼ Show 20 Lines | void transform_convert_mesh_crazyspace_detect(TransInfo *t, | ||||
| struct TransMeshDataCrazySpace *r_crazyspace_data); | struct TransMeshDataCrazySpace *r_crazyspace_data); | ||||
| void transform_convert_mesh_crazyspace_transdata_set(const float mtx[3][3], | void transform_convert_mesh_crazyspace_transdata_set(const float mtx[3][3], | ||||
| const float smtx[3][3], | const float smtx[3][3], | ||||
| const float defmat[3][3], | const float defmat[3][3], | ||||
| const float quat[4], | const float quat[4], | ||||
| struct TransData *r_td); | struct TransData *r_td); | ||||
| void transform_convert_mesh_crazyspace_free(struct TransMeshDataCrazySpace *r_crazyspace_data); | void transform_convert_mesh_crazyspace_free(struct TransMeshDataCrazySpace *r_crazyspace_data); | ||||
| void createTransEditVerts(TransInfo *t); | void special_aftertrans_update__mesh(bContext *UNUSED(C), TransInfo *t); | ||||
| void recalcData_mesh(TransInfo *t); | |||||
| void special_aftertrans_update__mesh(bContext *C, TransInfo *t); | |||||
| /* transform_convert_mesh_edge.c */ | /* transform_convert_mesh_edge.c */ | ||||
| void createTransEdge(TransInfo *t); | extern TransConvertTypeInfo TransConvertType_MeshEdge; | ||||
| void recalcData_mesh_edge(TransInfo *t); | |||||
| /* transform_convert_mesh_skin.c */ | /* transform_convert_mesh_skin.c */ | ||||
| void createTransMeshSkin(TransInfo *t); | extern TransConvertTypeInfo TransConvertType_MeshSkin; | ||||
| void recalcData_mesh_skin(TransInfo *t); | |||||
| /* transform_convert_mesh_uv.c */ | /* transform_convert_mesh_uv.c */ | ||||
| void createTransUVs(bContext *C, TransInfo *t); | extern TransConvertTypeInfo TransConvertType_MeshUV; | ||||
| /* helper for recalcData() - for Image Editor transforms */ | |||||
| void recalcData_uv(TransInfo *t); | |||||
| /* transform_convert_mesh_vert_cdata.c */ | /* transform_convert_mesh_vert_cdata.c */ | ||||
| void createTransMeshVertCData(TransInfo *t); | extern TransConvertTypeInfo TransConvertType_MeshVertCData; | ||||
| void recalcData_mesh_cdata(TransInfo *t); | |||||
| /* transform_convert_nla.c */ | /* transform_convert_nla.c */ | ||||
| void createTransNlaData(bContext *C, TransInfo *t); | extern TransConvertTypeInfo TransConvertType_NLA; | ||||
| /* helper for recalcData() - for NLA Editor transforms */ | |||||
| void recalcData_nla(TransInfo *t); | |||||
| void special_aftertrans_update__nla(bContext *C, TransInfo *t); | |||||
| /* transform_convert_node.c */ | /* transform_convert_node.c */ | ||||
| void createTransNodeData(TransInfo *t); | extern TransConvertTypeInfo TransConvertType_Node; | ||||
| void flushTransNodes(TransInfo *t); | |||||
| void special_aftertrans_update__node(bContext *C, TransInfo *t); | |||||
| /* transform_convert_object.c */ | /* transform_convert_object.c */ | ||||
| void createTransObject(bContext *C, TransInfo *t); | extern TransConvertTypeInfo TransConvertType_Object; | ||||
| /* helper for recalcData() - for object transforms, typically in the 3D view */ | |||||
| void recalcData_objects(TransInfo *t); | |||||
| void special_aftertrans_update__object(bContext *C, TransInfo *t); | |||||
| /* transform_convert_object_texspace.c */ | /* transform_convert_object_texspace.c */ | ||||
| void createTransTexspace(TransInfo *t); | extern TransConvertTypeInfo TransConvertType_ObjectTexSpace; | ||||
| /* helper for recalcData() - for object transforms, typically in the 3D view */ | |||||
| void recalcData_texspace(TransInfo *t); | |||||
| /* transform_convert_paintcurve.c */ | /* transform_convert_paintcurve.c */ | ||||
| void createTransPaintCurveVerts(bContext *C, TransInfo *t); | extern TransConvertTypeInfo TransConvertType_PaintCurve; | ||||
| void flushTransPaintCurve(TransInfo *t); | |||||
| /* transform_convert_particle.c */ | /* transform_convert_particle.c */ | ||||
| void createTransParticleVerts(TransInfo *t); | extern TransConvertTypeInfo TransConvertType_Particle; | ||||
| void recalcData_particles(TransInfo *t); | |||||
| /* transform_convert_sculpt.c */ | /* transform_convert_sculpt.c */ | ||||
| void createTransSculpt(bContext *C, TransInfo *t); | extern TransConvertTypeInfo TransConvertType_Sculpt; | ||||
| void recalcData_sculpt(TransInfo *t); | |||||
| void special_aftertrans_update__sculpt(bContext *C, TransInfo *t); | |||||
| /* transform_convert_sequencer.c */ | /* transform_convert_sequencer.c */ | ||||
| void createTransSeqData(TransInfo *t); | extern TransConvertTypeInfo TransConvertType_Sequencer; | ||||
| /* helper for recalcData() - for sequencer transforms */ | |||||
| void recalcData_sequencer(TransInfo *t); | |||||
| void special_aftertrans_update__sequencer(bContext *C, TransInfo *t); | |||||
| /* transform_convert_sequencer_image.c */ | /* transform_convert_sequencer_image.c */ | ||||
| void createTransSeqImageData(TransInfo *t); | extern TransConvertTypeInfo TransConvertType_SequencerImage; | ||||
| void recalcData_sequencer_image(TransInfo *t); | |||||
| void special_aftertrans_update__sequencer_image(bContext *C, TransInfo *t); | |||||
| /* transform_convert_tracking.c */ | /* transform_convert_tracking.c */ | ||||
| void createTransTrackingData(bContext *C, TransInfo *t); | extern TransConvertTypeInfo TransConvertType_Tracking; | ||||
| /* helper for recalcData() - for Movie Clip transforms */ | |||||
| void recalcData_tracking(TransInfo *t); | |||||
| void special_aftertrans_update__movieclip(bContext *C, TransInfo *t); | |||||