2019-09-05 14:34:54 -03:00
|
|
|
/*
|
|
|
|
* This program is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU General Public License
|
|
|
|
* as published by the Free Software Foundation; either version 2
|
|
|
|
* of the License, or (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This program is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
* GNU General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU General Public License
|
|
|
|
* along with this program; if not, write to the Free Software Foundation,
|
|
|
|
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
|
|
*
|
|
|
|
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
|
|
|
* All rights reserved.
|
|
|
|
*/
|
|
|
|
|
|
|
|
/** \file
|
|
|
|
* \ingroup edtransform
|
2020-02-07 10:02:11 -03:00
|
|
|
* \brief conversion and adaptation of different datablocks to a common struct.
|
2019-09-05 14:34:54 -03:00
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __TRANSFORM_CONVERT_H__
|
|
|
|
#define __TRANSFORM_CONVERT_H__
|
|
|
|
|
|
|
|
struct BezTriple;
|
|
|
|
struct ListBase;
|
|
|
|
struct Object;
|
|
|
|
struct TransData;
|
|
|
|
struct TransDataContainer;
|
|
|
|
struct TransDataCurveHandleFlags;
|
|
|
|
struct TransInfo;
|
2019-09-09 20:50:11 +10:00
|
|
|
struct bContext;
|
|
|
|
struct bKinematicConstraint;
|
|
|
|
struct bPoseChannel;
|
2019-09-05 14:34:54 -03:00
|
|
|
|
|
|
|
/* transform_convert.c */
|
2020-04-28 17:31:55 -03:00
|
|
|
int transform_convert_pose_transflags_update(Object *ob,
|
|
|
|
const int mode,
|
|
|
|
const short around,
|
|
|
|
bool has_translate_rotate[2]);
|
2019-09-05 14:34:54 -03:00
|
|
|
void transform_autoik_update(TransInfo *t, short mode);
|
|
|
|
void autokeyframe_object(struct bContext *C,
|
|
|
|
struct Scene *scene,
|
|
|
|
struct ViewLayer *view_layer,
|
|
|
|
struct Object *ob,
|
|
|
|
int tmode);
|
|
|
|
void autokeyframe_pose(
|
|
|
|
struct bContext *C, struct Scene *scene, struct Object *ob, int tmode, short targetless_ik);
|
|
|
|
bool motionpath_need_update_object(struct Scene *scene, struct Object *ob);
|
|
|
|
bool motionpath_need_update_pose(struct Scene *scene, struct Object *ob);
|
|
|
|
int special_transform_moving(TransInfo *t);
|
|
|
|
void remake_graph_transdata(TransInfo *t, struct ListBase *anim_data);
|
|
|
|
void special_aftertrans_update(struct bContext *C, TransInfo *t);
|
|
|
|
void sort_trans_data_dist(TransInfo *t);
|
|
|
|
void createTransData(struct bContext *C, TransInfo *t);
|
|
|
|
bool clipUVTransform(TransInfo *t, float vec[2], const bool resize);
|
|
|
|
void clipUVData(TransInfo *t);
|
|
|
|
|
|
|
|
/* transform_convert_action.c */
|
|
|
|
void flushTransIntFrameActionData(TransInfo *t);
|
2020-02-07 10:02:11 -03:00
|
|
|
|
2019-09-05 14:34:54 -03:00
|
|
|
/* transform_convert_armature.c */
|
2020-02-15 18:43:58 -03:00
|
|
|
void pose_transform_mirror_update(TransInfo *t, TransDataContainer *tc, Object *ob);
|
2019-09-05 14:34:54 -03:00
|
|
|
void restoreMirrorPoseBones(TransDataContainer *tc);
|
|
|
|
void restoreBones(TransDataContainer *tc);
|
2020-02-07 10:02:11 -03:00
|
|
|
|
2019-09-05 14:34:54 -03:00
|
|
|
/* transform_convert_graph.c */
|
|
|
|
void flushTransGraphData(TransInfo *t);
|
2020-02-07 10:02:11 -03:00
|
|
|
|
2019-09-05 14:34:54 -03:00
|
|
|
/* transform_convert_mask.c */
|
|
|
|
void flushTransMasking(TransInfo *t);
|
2020-02-07 10:02:11 -03:00
|
|
|
|
2019-09-05 14:34:54 -03:00
|
|
|
/* transform_convert_mesh.c */
|
|
|
|
void flushTransUVs(TransInfo *t);
|
2019-09-11 13:48:42 -03:00
|
|
|
void trans_mesh_customdata_correction_init(TransInfo *t);
|
|
|
|
void trans_mesh_customdata_correction_apply(struct TransDataContainer *tc, bool is_final);
|
2020-02-07 10:02:11 -03:00
|
|
|
|
2019-09-05 14:34:54 -03:00
|
|
|
/* transform_convert_node.c */
|
|
|
|
void flushTransNodes(TransInfo *t);
|
2020-02-07 10:02:11 -03:00
|
|
|
|
2019-09-05 14:34:54 -03:00
|
|
|
/* transform_convert_object.c */
|
|
|
|
void trans_obdata_in_obmode_update_all(struct TransInfo *t);
|
|
|
|
void trans_obchild_in_obmode_update_all(struct TransInfo *t);
|
2020-02-07 10:02:11 -03:00
|
|
|
|
2019-09-05 14:34:54 -03:00
|
|
|
/* transform_convert_paintcurve.c */
|
|
|
|
void flushTransPaintCurve(TransInfo *t);
|
2020-02-07 10:02:11 -03:00
|
|
|
|
2019-09-05 14:34:54 -03:00
|
|
|
/* transform_convert_particle.c */
|
|
|
|
void flushTransParticles(TransInfo *t);
|
2020-02-07 10:02:11 -03:00
|
|
|
|
2019-09-05 14:34:54 -03:00
|
|
|
/* transform_convert_sequencer.c */
|
|
|
|
void flushTransSeq(TransInfo *t);
|
2020-02-07 10:02:11 -03:00
|
|
|
|
2019-09-05 14:34:54 -03:00
|
|
|
/* transform_convert_tracking.c */
|
|
|
|
void flushTransTracking(TransInfo *t);
|
|
|
|
|
|
|
|
/********************* intern **********************/
|
|
|
|
|
|
|
|
/* transform_convert.c */
|
2020-05-15 22:48:00 +10:00
|
|
|
bool transform_mode_use_local_origins(const TransInfo *t);
|
2019-09-05 14:34:54 -03:00
|
|
|
void transform_around_single_fallback(TransInfo *t);
|
|
|
|
bool constraints_list_needinv(TransInfo *t, ListBase *list);
|
|
|
|
void calc_distanceCurveVerts(TransData *head, TransData *tail);
|
|
|
|
struct TransDataCurveHandleFlags *initTransDataCurveHandles(TransData *td, struct BezTriple *bezt);
|
2020-04-27 11:42:18 -03:00
|
|
|
char transform_convert_frame_side_dir_get(TransInfo *t, float cframe);
|
2019-09-05 14:34:54 -03:00
|
|
|
bool FrameOnMouseSide(char side, float frame, float cframe);
|
|
|
|
|
|
|
|
/* transform_convert_action.c */
|
|
|
|
void createTransActionData(bContext *C, TransInfo *t);
|
2020-02-07 10:02:11 -03:00
|
|
|
|
2019-09-05 14:34:54 -03:00
|
|
|
/* transform_convert_armature.c */
|
|
|
|
struct bKinematicConstraint *has_targetless_ik(struct bPoseChannel *pchan);
|
|
|
|
void createTransPose(TransInfo *t);
|
|
|
|
void createTransArmatureVerts(TransInfo *t);
|
2020-02-07 10:02:11 -03:00
|
|
|
|
2019-09-05 14:34:54 -03:00
|
|
|
/* transform_convert_cursor.c */
|
|
|
|
void createTransCursor_image(TransInfo *t);
|
|
|
|
void createTransCursor_view3d(TransInfo *t);
|
2020-02-07 10:02:11 -03:00
|
|
|
|
2019-09-05 14:34:54 -03:00
|
|
|
/* transform_convert_curve.c */
|
|
|
|
void createTransCurveVerts(TransInfo *t);
|
2020-02-07 10:02:11 -03:00
|
|
|
|
2019-09-05 14:34:54 -03:00
|
|
|
/* transform_convert_graph.c */
|
|
|
|
void createTransGraphEditData(bContext *C, TransInfo *t);
|
2020-02-07 10:02:11 -03:00
|
|
|
|
2019-09-05 14:34:54 -03:00
|
|
|
/* transform_convert_gpencil.c */
|
|
|
|
void createTransGPencil(bContext *C, TransInfo *t);
|
2020-02-07 10:02:11 -03:00
|
|
|
|
2019-09-05 14:34:54 -03:00
|
|
|
/* transform_convert_lattice.c */
|
|
|
|
void createTransLatticeVerts(TransInfo *t);
|
2020-02-07 10:02:11 -03:00
|
|
|
|
2019-09-05 14:34:54 -03:00
|
|
|
/* transform_convert_mask.c */
|
|
|
|
void createTransMaskingData(bContext *C, TransInfo *t);
|
2020-02-07 10:02:11 -03:00
|
|
|
|
2019-09-05 14:34:54 -03:00
|
|
|
/* transform_convert_mball.c */
|
|
|
|
void createTransMBallVerts(TransInfo *t);
|
2020-02-07 10:02:11 -03:00
|
|
|
|
2019-09-05 14:34:54 -03:00
|
|
|
/* transform_convert_mesh.c */
|
|
|
|
void createTransEditVerts(TransInfo *t);
|
|
|
|
void createTransEdge(TransInfo *t);
|
|
|
|
void createTransUVs(bContext *C, TransInfo *t);
|
2020-02-07 10:02:11 -03:00
|
|
|
|
2019-09-05 14:34:54 -03:00
|
|
|
/* transform_convert_nla.c */
|
|
|
|
void createTransNlaData(bContext *C, TransInfo *t);
|
2020-02-07 10:02:11 -03:00
|
|
|
|
2019-09-05 14:34:54 -03:00
|
|
|
/* transform_convert_node.c */
|
|
|
|
void createTransNodeData(bContext *UNUSED(C), TransInfo *t);
|
2020-02-07 10:02:11 -03:00
|
|
|
|
2019-09-05 14:34:54 -03:00
|
|
|
/* transform_convert_object.c */
|
|
|
|
void clear_trans_object_base_flags(TransInfo *t);
|
|
|
|
void createTransObject(bContext *C, TransInfo *t);
|
|
|
|
void createTransTexspace(TransInfo *t);
|
2020-02-07 10:02:11 -03:00
|
|
|
|
2019-09-05 14:34:54 -03:00
|
|
|
/* transform_convert_paintcurve.c */
|
|
|
|
void createTransPaintCurveVerts(bContext *C, TransInfo *t);
|
2020-02-07 10:02:11 -03:00
|
|
|
|
2019-09-05 14:34:54 -03:00
|
|
|
/* transform_convert_particle.c */
|
|
|
|
void createTransParticleVerts(bContext *C, TransInfo *t);
|
2020-02-07 10:02:11 -03:00
|
|
|
|
2019-09-10 19:55:15 +02:00
|
|
|
/* transform_convert_sculpt.c */
|
|
|
|
void createTransSculpt(TransInfo *t);
|
2020-02-07 10:02:11 -03:00
|
|
|
|
2019-09-05 14:34:54 -03:00
|
|
|
/* transform_convert_sequence.c */
|
2020-02-28 12:33:23 +11:00
|
|
|
void createTransSeqData(TransInfo *t);
|
2020-02-07 10:02:11 -03:00
|
|
|
|
2019-09-05 14:34:54 -03:00
|
|
|
/* transform_convert_tracking.c */
|
|
|
|
void createTransTrackingData(bContext *C, TransInfo *t);
|
|
|
|
void cancelTransTracking(TransInfo *t);
|
|
|
|
#endif
|