Blender  V3.3
Classes | Typedefs | Functions | Variables
transform_convert.h File Reference

conversion and adaptation of different datablocks to a common struct. More...

#include "RE_engine.h"

Go to the source code of this file.

Classes

struct  TransConvertTypeInfo
 
struct  TransIslandData
 
struct  MirrorDataVert
 
struct  TransMirrorData
 
struct  TransMeshDataCrazySpace
 

Typedefs

typedef struct TransConvertTypeInfo TransConvertTypeInfo
 

Functions

void transform_autoik_update (TransInfo *t, short mode)
 
int special_transform_moving (TransInfo *t)
 
void special_aftertrans_update (struct bContext *C, TransInfo *t)
 
void sort_trans_data_dist (TransInfo *t)
 
void createTransData (struct bContext *C, TransInfo *t)
 
void clipUVData (TransInfo *t)
 
void transform_convert_flush_handle2D (TransData *td, TransData2D *td2d, float y_fac)
 
void recalcData (TransInfo *t)
 
void transform_convert_mesh_customdatacorrect_init (TransInfo *t)
 
void transform_convert_sequencer_channel_clamp (TransInfo *t, float r_val[2])
 
bool transform_mode_use_local_origins (const TransInfo *t)
 
void transform_around_single_fallback_ex (TransInfo *t, int data_len_all)
 
void transform_around_single_fallback (TransInfo *t)
 
void posttrans_fcurve_clean (struct FCurve *fcu, int sel_flag, bool use_handle)
 
bool constraints_list_needinv (TransInfo *t, ListBase *list)
 
void calc_distanceCurveVerts (TransData *head, TransData *tail, bool cyclic)
 
struct TransDataCurveHandleFlagsinitTransDataCurveHandles (TransData *td, struct BezTriple *bezt)
 
char transform_convert_frame_side_dir_get (TransInfo *t, float cframe)
 
bool FrameOnMouseSide (char side, float frame, float cframe)
 
void transform_convert_clip_mirror_modifier_apply (TransDataContainer *tc)
 
void animrecord_check_state (TransInfo *t, struct ID *id)
 
void transform_convert_pose_transflags_update (Object *ob, int mode, short around)
 
void transform_convert_mesh_islands_calc (struct BMEditMesh *em, bool calc_single_islands, bool calc_island_center, bool calc_island_axismtx, struct TransIslandData *r_island_data)
 
void transform_convert_mesh_islanddata_free (struct TransIslandData *island_data)
 
void transform_convert_mesh_connectivity_distance (struct BMesh *bm, const float mtx[3][3], float *dists, int *index)
 
void transform_convert_mesh_mirrordata_calc (struct BMEditMesh *em, bool use_select, bool use_topology, const bool mirror_axis[3], struct TransMirrorData *r_mirror_data)
 
void transform_convert_mesh_mirrordata_free (struct TransMirrorData *mirror_data)
 
void transform_convert_mesh_crazyspace_detect (TransInfo *t, struct TransDataContainer *tc, struct BMEditMesh *em, struct TransMeshDataCrazySpace *r_crazyspace_data)
 
void transform_convert_mesh_crazyspace_transdata_set (const float mtx[3][3], const float smtx[3][3], const float defmat[3][3], const float quat[4], struct TransData *r_td)
 
void transform_convert_mesh_crazyspace_free (struct TransMeshDataCrazySpace *r_crazyspace_data)
 
void special_aftertrans_update__mesh (bContext *C, TransInfo *t)
 

Variables

TransConvertTypeInfo TransConvertType_Action
 
TransConvertTypeInfo TransConvertType_EditArmature
 
TransConvertTypeInfo TransConvertType_Pose
 
TransConvertTypeInfo TransConvertType_CursorImage
 
TransConvertTypeInfo TransConvertType_CursorSequencer
 
TransConvertTypeInfo TransConvertType_Cursor3D
 
TransConvertTypeInfo TransConvertType_Curve
 
TransConvertTypeInfo TransConvertType_Graph
 
TransConvertTypeInfo TransConvertType_GPencil
 
TransConvertTypeInfo TransConvertType_Lattice
 
TransConvertTypeInfo TransConvertType_Mask
 
TransConvertTypeInfo TransConvertType_MBall
 
TransConvertTypeInfo TransConvertType_Mesh
 
TransConvertTypeInfo TransConvertType_MeshEdge
 
TransConvertTypeInfo TransConvertType_MeshSkin
 
TransConvertTypeInfo TransConvertType_MeshUV
 
TransConvertTypeInfo TransConvertType_MeshVertCData
 
TransConvertTypeInfo TransConvertType_NLA
 
TransConvertTypeInfo TransConvertType_Node
 
TransConvertTypeInfo TransConvertType_Object
 
TransConvertTypeInfo TransConvertType_ObjectTexSpace
 
TransConvertTypeInfo TransConvertType_PaintCurve
 
TransConvertTypeInfo TransConvertType_Particle
 
TransConvertTypeInfo TransConvertType_Sculpt
 
TransConvertTypeInfo TransConvertType_Sequencer
 
TransConvertTypeInfo TransConvertType_SequencerImage
 
TransConvertTypeInfo TransConvertType_Tracking
 

Detailed Description

conversion and adaptation of different datablocks to a common struct.

Definition in file transform_convert.h.

Typedef Documentation

◆ TransConvertTypeInfo

Function Documentation

◆ animrecord_check_state()

void animrecord_check_state ( TransInfo t,
struct ID id 
)

◆ calc_distanceCurveVerts()

void calc_distanceCurveVerts ( TransData head,
TransData tail,
bool  cyclic 
)

◆ clipUVData()

void clipUVData ( TransInfo t)

Definition at line 485 of file transform_convert.c.

References Freestyle::a, FOREACH_TRANS_DATA_CONTAINER, max_ff(), min_ff(), t, and TD_SKIP.

Referenced by applyResize(), and applyTranslation().

◆ constraints_list_needinv()

bool constraints_list_needinv ( TransInfo t,
ListBase list 
)

◆ createTransData()

void createTransData ( struct bContext C,
TransInfo t 
)

◆ FrameOnMouseSide()

bool FrameOnMouseSide ( char  side,
float  frame,
float  cframe 
)

This function tests if a point is on the "mouse" side of the cursor/frame-marking.

Definition at line 528 of file transform_convert.c.

Referenced by ActionFCurveToTransData(), count_fcurve_keys(), count_gplayer_frames(), count_masklayer_frames(), createTransNlaData(), GPLayerToTransData(), graph_key_shortest_dist(), and MaskLayerToTransData().

◆ initTransDataCurveHandles()

struct TransDataCurveHandleFlags* initTransDataCurveHandles ( TransData td,
struct BezTriple bezt 
)

◆ posttrans_fcurve_clean()

void posttrans_fcurve_clean ( struct FCurve fcu,
int  sel_flag,
bool  use_handle 
)

Called during special_aftertrans_update to make sure selected keyframes replace any other keyframes which may reside on that frame (that is not selected).

Parameters
sel_flagThe flag (bezt.f1/2/3) value to use to determine selection. Usually SELECT, but may want to use a different one at times (if caller does not operate on selection).

Definition at line 558 of file transform_convert.c.

References FCurve::bezt, BEZT_BINARYSEARCH_THRESH, BEZT_ISSEL_ANY, BKE_fcurve_delete_key(), BLI_addtail(), BLI_freelistN(), BLI_listbase_is_empty(), FCURVE_DISCRETE_VALUES, FCURVE_INT_VALUES, FCurve::flag, float(), tRetainedKeyframe::frame, G, G_DEBUG, IS_EQT, ListBase::last, LISTBASE_FOREACH, MEM_callocN, NULL, FCurve::rna_path, testhandles_fcurve(), tRetainedKeyframe::tot_count, FCurve::totvert, tRetainedKeyframe::val, and BezTriple::vec.

Referenced by posttrans_action_clean(), special_aftertrans_update__actedit(), and special_aftertrans_update__graph().

◆ recalcData()

void recalcData ( TransInfo t)

◆ sort_trans_data_dist()

void sort_trans_data_dist ( TransInfo t)

◆ special_aftertrans_update()

void special_aftertrans_update ( struct bContext C,
TransInfo t 
)

Inserting keys, point-cache, redraw events.

Definition at line 771 of file transform_convert.c.

References BLI_assert, C, CTX_data_main(), t, and TFM_DUMMY.

Referenced by calculateTransformCenter(), and transformEnd().

◆ special_aftertrans_update__mesh()

void special_aftertrans_update__mesh ( bContext C,
TransInfo t 
)

◆ special_transform_moving()

int special_transform_moving ( TransInfo t)

◆ transform_around_single_fallback()

void transform_around_single_fallback ( TransInfo t)

Definition at line 73 of file transform_convert.c.

References t, and transform_around_single_fallback_ex().

Referenced by createTransArmatureVerts().

◆ transform_around_single_fallback_ex()

void transform_around_single_fallback_ex ( TransInfo t,
int  data_len_all 
)

Transforming around ourselves is no use, fallback to individual origins, useful for curve/armatures.

Definition at line 55 of file transform_convert.c.

References ELEM, t, T_OVERRIDE_CENTER, transform_mode_use_local_origins(), V3D_AROUND_ACTIVE, V3D_AROUND_CENTER_BOUNDS, V3D_AROUND_CENTER_MEDIAN, and V3D_AROUND_LOCAL_ORIGINS.

Referenced by createTransCurveVerts(), createTransGPencil_curves(), and transform_around_single_fallback().

◆ transform_autoik_update()

void transform_autoik_update ( TransInfo t,
short  mode 
)

Change the chain-length of auto-IK.

Definition at line 355 of file transform_convert.c.

References CTX_data_main(), DEG_relations_tag_update(), ELEM, FOREACH_TRANS_DATA_CONTAINER, bPoseChannel::next, NULL, pchan_autoik_adjust(), and t.

Referenced by createTransPose(), and transformEvent().

◆ transform_convert_clip_mirror_modifier_apply()

void transform_convert_clip_mirror_modifier_apply ( TransDataContainer tc)

◆ transform_convert_flush_handle2D()

void transform_convert_flush_handle2D ( TransData td,
TransData2D td2d,
float  y_fac 
)

◆ transform_convert_frame_side_dir_get()

char transform_convert_frame_side_dir_get ( TransInfo t,
float  cframe 
)

Used for TFM_TIME_EXTEND.

Definition at line 506 of file transform_convert.c.

References center, t, T_MODAL, T_NO_MIRROR, and UI_view2d_region_to_view().

Referenced by createTransActionData(), createTransNlaData(), and createTransSeqData().

◆ transform_convert_mesh_connectivity_distance()

void transform_convert_mesh_connectivity_distance ( struct BMesh bm,
const float  mtx[3][3],
float dists,
int *  index 
)

◆ transform_convert_mesh_crazyspace_detect()

void transform_convert_mesh_crazyspace_detect ( TransInfo t,
struct TransDataContainer tc,
struct BMEditMesh em,
struct TransMeshDataCrazySpace r_crazyspace_data 
)

◆ transform_convert_mesh_crazyspace_free()

void transform_convert_mesh_crazyspace_free ( struct TransMeshDataCrazySpace r_crazyspace_data)

◆ transform_convert_mesh_crazyspace_transdata_set()

void transform_convert_mesh_crazyspace_transdata_set ( const float  mtx[3][3],
const float  smtx[3][3],
const float  defmat[3][3],
const float  quat[4],
struct TransData r_td 
)

◆ transform_convert_mesh_customdatacorrect_init()

void transform_convert_mesh_customdatacorrect_init ( TransInfo t)

◆ transform_convert_mesh_islanddata_free()

void transform_convert_mesh_islanddata_free ( struct TransIslandData island_data)

◆ transform_convert_mesh_islands_calc()

void transform_convert_mesh_islands_calc ( struct BMEditMesh em,
bool  calc_single_islands,
bool  calc_island_center,
bool  calc_island_axismtx,
struct TransIslandData r_island_data 
)

◆ transform_convert_mesh_mirrordata_calc()

void transform_convert_mesh_mirrordata_calc ( struct BMEditMesh em,
bool  use_select,
bool  use_topology,
const bool  mirror_axis[3],
struct TransMirrorData r_mirror_data 
)

◆ transform_convert_mesh_mirrordata_free()

void transform_convert_mesh_mirrordata_free ( struct TransMirrorData mirror_data)

◆ transform_convert_pose_transflags_update()

void transform_convert_pose_transflags_update ( Object ob,
int  mode,
short  around 
)

◆ transform_convert_sequencer_channel_clamp()

void transform_convert_sequencer_channel_clamp ( TransInfo t,
float  r_val[2] 
)

◆ transform_mode_use_local_origins()

bool transform_mode_use_local_origins ( const TransInfo t)

Variable Documentation

◆ TransConvertType_Action

TransConvertTypeInfo TransConvertType_Action
extern

Definition at line 930 of file transform_convert_action.c.

Referenced by convert_type_get(), and init_proportional_edit().

◆ TransConvertType_Cursor3D

TransConvertTypeInfo TransConvertType_Cursor3D
extern

Definition at line 202 of file transform_convert_cursor.c.

Referenced by convert_type_get(), and snap_target_grid_ensure().

◆ TransConvertType_CursorImage

TransConvertTypeInfo TransConvertType_CursorImage
extern

Definition at line 188 of file transform_convert_cursor.c.

Referenced by convert_type_get().

◆ TransConvertType_CursorSequencer

TransConvertTypeInfo TransConvertType_CursorSequencer
extern

Definition at line 195 of file transform_convert_cursor.c.

Referenced by convert_type_get().

◆ TransConvertType_Curve

TransConvertTypeInfo TransConvertType_Curve
extern

◆ TransConvertType_EditArmature

TransConvertTypeInfo TransConvertType_EditArmature
extern

Definition at line 1772 of file transform_convert_armature.c.

Referenced by convert_type_get(), and init_TransDataContainers().

◆ TransConvertType_GPencil

TransConvertTypeInfo TransConvertType_GPencil
extern

◆ TransConvertType_Graph

TransConvertTypeInfo TransConvertType_Graph
extern

Definition at line 1034 of file transform_convert_graph.c.

Referenced by convert_type_get(), and init_proportional_edit().

◆ TransConvertType_Lattice

TransConvertTypeInfo TransConvertType_Lattice
extern

◆ TransConvertType_Mask

TransConvertTypeInfo TransConvertType_Mask
extern

Definition at line 467 of file transform_convert_mask.c.

Referenced by convert_type_get(), and init_proportional_edit().

◆ TransConvertType_MBall

TransConvertTypeInfo TransConvertType_MBall
extern

◆ TransConvertType_Mesh

TransConvertTypeInfo TransConvertType_Mesh
extern

◆ TransConvertType_MeshEdge

TransConvertTypeInfo TransConvertType_MeshEdge
extern

◆ TransConvertType_MeshSkin

TransConvertTypeInfo TransConvertType_MeshSkin
extern

◆ TransConvertType_MeshUV

TransConvertTypeInfo TransConvertType_MeshUV
extern

◆ TransConvertType_MeshVertCData

TransConvertTypeInfo TransConvertType_MeshVertCData
extern

◆ TransConvertType_NLA

TransConvertTypeInfo TransConvertType_NLA
extern

Definition at line 513 of file transform_convert_nla.c.

Referenced by convert_type_get().

◆ TransConvertType_Node

TransConvertTypeInfo TransConvertType_Node
extern

Definition at line 265 of file transform_convert_node.c.

Referenced by convert_type_get(), and init_proportional_edit().

◆ TransConvertType_Object

TransConvertTypeInfo TransConvertType_Object
extern

◆ TransConvertType_ObjectTexSpace

TransConvertTypeInfo TransConvertType_ObjectTexSpace
extern

Definition at line 110 of file transform_convert_object_texspace.c.

Referenced by convert_type_get(), and ElementResize().

◆ TransConvertType_PaintCurve

TransConvertTypeInfo TransConvertType_PaintCurve
extern

Definition at line 208 of file transform_convert_paintcurve.c.

Referenced by convert_type_get().

◆ TransConvertType_Particle

TransConvertTypeInfo TransConvertType_Particle
extern

Definition at line 248 of file transform_convert_particle.c.

Referenced by convert_type_get(), and init_proportional_edit().

◆ TransConvertType_Pose

TransConvertTypeInfo TransConvertType_Pose
extern

◆ TransConvertType_Sculpt

TransConvertTypeInfo TransConvertType_Sculpt
extern

Definition at line 118 of file transform_convert_sculpt.c.

Referenced by convert_type_get(), and ElementResize().

◆ TransConvertType_Sequencer

TransConvertTypeInfo TransConvertType_Sequencer
extern

◆ TransConvertType_SequencerImage

TransConvertTypeInfo TransConvertType_SequencerImage
extern

◆ TransConvertType_Tracking

TransConvertTypeInfo TransConvertType_Tracking
extern

Definition at line 794 of file transform_convert_tracking.c.

Referenced by convert_type_get().