31 SeqConnection *con_duplicate = MEM_cnew<SeqConnection>(__func__, *con);
45 if (con_other->seq_ref == seq) {
47 MEM_delete(con_other);
74 bool is_one_way =
true;
76 if (con_other->seq_ref == seq) {
91 if (seq1 ==
nullptr || seq2 ==
nullptr) {
111 SeqConnection *con = MEM_cnew<SeqConnection>(
"seqconnection");
121 if (seq !=
nullptr) {
123 connections.
add(con->seq_ref);
131 if (seq ==
nullptr) {
139 const int expected_connection_num = seq_list.
size() - 1;
142 int found_connection_num = connections.size();
143 if (found_connection_num != expected_connection_num) {
146 for (
Sequence *seq2 : connections) {
BLI_INLINE bool BLI_listbase_is_empty(const struct ListBase *lb)
#define LISTBASE_FOREACH(type, var, list)
#define LISTBASE_FOREACH_MUTABLE(type, var, list)
BLI_INLINE void BLI_listbase_clear(struct ListBase *lb)
void BLI_addtail(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
void BLI_remlink(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
bool contains(const Key &key) const
int64_t remove_if(Predicate &&predicate)
void SEQ_connections_duplicate(ListBase *connections_dst, ListBase *connections_src)
bool SEQ_disconnect(Sequence *seq)
void SEQ_connect(Sequence *seq1, Sequence *seq2)
static void seq_connections_free(Sequence *seq)
bool SEQ_is_strip_connected(const Sequence *seq)
void SEQ_cut_one_way_connections(Sequence *seq)
blender::VectorSet< Sequence * > SEQ_get_connected_strips(const Sequence *seq)
bool SEQ_are_strips_connected_together(blender::VectorSet< Sequence * > &seq_list)