Blender  V3.3
Functions
SEQ_transform.h File Reference

Go to the source code of this file.

Functions

bool SEQ_transform_sequence_can_be_translated (struct Sequence *seq)
 
bool SEQ_transform_single_image_check (struct Sequence *seq)
 
void SEQ_transform_fix_single_image_seq_offsets (const struct Scene *scene, struct Sequence *seq)
 
bool SEQ_transform_test_overlap (const struct Scene *scene, struct ListBase *seqbasep, struct Sequence *test)
 
bool SEQ_transform_test_overlap_seq_seq (const struct Scene *scene, struct Sequence *seq1, struct Sequence *seq2)
 
void SEQ_transform_translate_sequence (struct Scene *scene, struct Sequence *seq, int delta)
 
bool SEQ_transform_seqbase_shuffle_ex (struct ListBase *seqbasep, struct Sequence *test, struct Scene *evil_scene, int channel_delta)
 
bool SEQ_transform_seqbase_shuffle (struct ListBase *seqbasep, struct Sequence *test, struct Scene *evil_scene)
 
bool SEQ_transform_seqbase_shuffle_time (struct SeqCollection *strips_to_shuffle, struct SeqCollection *time_dependent_strips, struct ListBase *seqbasep, struct Scene *evil_scene, struct ListBase *markers, bool use_sync_markers)
 
void SEQ_transform_handle_overlap (struct Scene *scene, struct ListBase *seqbasep, struct SeqCollection *transformed_strips, struct SeqCollection *time_dependent_strips, bool use_sync_markers)
 
bool SEQ_transform_seqbase_isolated_sel_check (struct ListBase *seqbase)
 
void SEQ_transform_offset_after_frame (struct Scene *scene, struct ListBase *seqbase, int delta, int timeline_frame)
 
bool SEQ_transform_is_locked (struct ListBase *channels, struct Sequence *seq)
 
void SEQ_image_transform_mirror_factor_get (const struct Sequence *seq, float r_mirror[2])
 
void SEQ_image_transform_origin_offset_pixelspace_get (const struct Scene *scene, const struct Sequence *seq, float r_origin[2])
 
void SEQ_image_transform_quad_get (const struct Scene *scene, const struct Sequence *seq, bool apply_rotation, float r_quad[4][2])
 
void SEQ_image_transform_final_quad_get (const struct Scene *scene, const struct Sequence *seq, float r_quad[4][2])
 
void SEQ_image_preview_unit_to_px (const struct Scene *scene, const float co_src[2], float co_dst[2])
 
void SEQ_image_preview_unit_from_px (const struct Scene *scene, const float co_src[2], float co_dst[2])
 
void SEQ_image_transform_bounding_box_from_collection (struct Scene *scene, struct SeqCollection *strips, bool apply_rotation, float r_min[2], float r_max[2])
 

Function Documentation

◆ SEQ_image_preview_unit_from_px()

void SEQ_image_preview_unit_from_px ( const struct Scene scene,
const float  co_src[2],
float  co_dst[2] 
)

◆ SEQ_image_preview_unit_to_px()

void SEQ_image_preview_unit_to_px ( const struct Scene scene,
const float  co_src[2],
float  co_dst[2] 
)

◆ SEQ_image_transform_bounding_box_from_collection()

void SEQ_image_transform_bounding_box_from_collection ( struct Scene scene,
struct SeqCollection strips,
bool  apply_rotation,
float  r_min[2],
float  r_max[2] 
)

Get viewport axis aligned bounding box from a collection of sequences. The collection must have one or more strips

Parameters
sceneScene in which strips are located
stripsCollection of strips to get the bounding box from
apply_rotationInclude sequence rotation transform in the bounding box calculation
r_minMinimum x and y values
r_maxMaximum x and y values

Definition at line 756 of file strip_transform.c.

References INIT_MINMAX2, minmax_v2v2_v2(), quad, scene, SEQ_image_transform_quad_get(), and SEQ_ITERATOR_FOREACH.

Referenced by gizmo2d_calc_bounds(), and seq_view_collection_rect_preview().

◆ SEQ_image_transform_final_quad_get()

void SEQ_image_transform_final_quad_get ( const struct Scene scene,
const struct Sequence seq,
float  r_quad[4][2] 
)

Get 4 corner points of strip image. Corner vectors are in viewport space.

Parameters
sceneScene in which strips are located
seqSequence to calculate transformed image quad
r_quadarray of 4 2D vectors

◆ SEQ_image_transform_mirror_factor_get()

void SEQ_image_transform_mirror_factor_get ( const struct Sequence seq,
float  r_mirror[2] 
)

◆ SEQ_image_transform_origin_offset_pixelspace_get()

void SEQ_image_transform_origin_offset_pixelspace_get ( const struct Scene scene,
const struct Sequence seq,
float  r_origin[2] 
)

Get strip transform origin offset from image center NOTE: This function does not apply axis mirror.

Parameters
sceneScene in which strips are located
seqSequence to calculate image transform origin
r_originreturn value

◆ SEQ_image_transform_quad_get()

void SEQ_image_transform_quad_get ( const struct Scene scene,
const struct Sequence seq,
bool  apply_rotation,
float  r_quad[4][2] 
)

Get 4 corner points of strip image, optionally without rotation component applied. Corner vectors are in viewport space.

Parameters
sceneScene in which strips are located
seqSequence to calculate transformed image quad
apply_rotationApply sequence rotation transform to the quad
r_quadarray of 4 2D vectors

◆ SEQ_transform_fix_single_image_seq_offsets()

void SEQ_transform_fix_single_image_seq_offsets ( const struct Scene scene,
struct Sequence seq 
)

◆ SEQ_transform_handle_overlap()

void SEQ_transform_handle_overlap ( struct Scene scene,
struct ListBase seqbasep,
struct SeqCollection transformed_strips,
struct SeqCollection time_dependent_strips,
bool  use_sync_markers 
)

◆ SEQ_transform_is_locked()

bool SEQ_transform_is_locked ( struct ListBase channels,
struct Sequence seq 
)

◆ SEQ_transform_offset_after_frame()

void SEQ_transform_offset_after_frame ( struct Scene scene,
struct ListBase seqbase,
int  delta,
int  timeline_frame 
)

Move strips and markers (if not locked) that start after timeline_frame by delta frames

Parameters
sceneScene in which strips are located
seqbaseListBase in which strips are located
deltaoffset in frames to be applied
timeline_frameframe on timeline from where strips are moved

Definition at line 609 of file strip_transform.c.

References LISTBASE_FOREACH, ToolSettings::lock_markers, Scene::markers, scene, SEQ_relations_invalidate_cache_preprocessed(), SEQ_time_left_handle_frame_get(), SEQ_transform_translate_sequence(), and Scene::toolsettings.

Referenced by SEQ_edit_remove_gaps(), and sequencer_gap_insert_exec().

◆ SEQ_transform_seqbase_isolated_sel_check()

bool SEQ_transform_seqbase_isolated_sel_check ( struct ListBase seqbase)

Check if the selected seq's reference unselected seq's.

Definition at line 44 of file strip_transform.c.

References ListBase::first, Sequence::flag, Sequence::next, SELECT, Sequence::seq1, Sequence::seq2, Sequence::seq3, SEQ_TYPE_EFFECT, and Sequence::type.

Referenced by sequencer_copy_exec(), and sequencer_meta_make_exec().

◆ SEQ_transform_seqbase_shuffle()

bool SEQ_transform_seqbase_shuffle ( struct ListBase seqbasep,
struct Sequence test,
struct Scene evil_scene 
)

◆ SEQ_transform_seqbase_shuffle_ex()

bool SEQ_transform_seqbase_shuffle_ex ( struct ListBase seqbasep,
struct Sequence test,
struct Scene evil_scene,
int  channel_delta 
)

◆ SEQ_transform_seqbase_shuffle_time()

bool SEQ_transform_seqbase_shuffle_time ( struct SeqCollection strips_to_shuffle,
struct SeqCollection time_dependent_strips,
struct ListBase seqbasep,
struct Scene evil_scene,
struct ListBase markers,
bool  use_sync_markers 
)

◆ SEQ_transform_sequence_can_be_translated()

bool SEQ_transform_sequence_can_be_translated ( struct Sequence seq)

◆ SEQ_transform_single_image_check()

bool SEQ_transform_single_image_check ( struct Sequence seq)

Used so we can do a quick check for single image seq since they work a bit differently to normal image seq's (during transform).

Definition at line 37 of file strip_transform.c.

References Sequence::len, SEQ_effect_get_num_inputs(), SEQ_TYPE_EFFECT, SEQ_TYPE_IMAGE, and Sequence::type.

Referenced by draw_seq_strip(), and SEQ_transform_fix_single_image_seq_offsets().

◆ SEQ_transform_test_overlap()

bool SEQ_transform_test_overlap ( const struct Scene scene,
struct ListBase seqbasep,
struct Sequence test 
)

◆ SEQ_transform_test_overlap_seq_seq()

bool SEQ_transform_test_overlap_seq_seq ( const struct Scene scene,
struct Sequence seq1,
struct Sequence seq2 
)

◆ SEQ_transform_translate_sequence()

void SEQ_transform_translate_sequence ( struct Scene scene,
struct Sequence seq,
int  delta 
)