Initial Grease Pencil 3.0 stage #106848

Merged
Falk David merged 224 commits from filedescriptor/blender:grease-pencil-v3 into main 2023-05-30 11:14:22 +02:00
1 changed files with 4 additions and 4 deletions
Showing only changes of commit 6c38afd07d - Show all commits

View File

@ -273,20 +273,20 @@ class Layer : public TreeNode, ::GreasePencilLayer {
bool insert_frame(int frame_number, int index) bool insert_frame(int frame_number, int index)
{ {
sorted_keys_cache_.tag_dirty(); sorted_keys_cache_.tag_dirty();
return frames_.add(frame_number, index); return frames_for_write().add(frame_number, index);

Not sure why the greasepencil namespace ends up here? Also means that e.g. the fairly generically-named StrokePoint struct is in the fairly generic blender::bke namespace, which does not sounds great to me? not to mention 'C-style' namespace in names like GreasePencilDrawingRuntime.

Not sure why the `greasepencil` namespace ends up here? Also means that e.g. the fairly generically-named `StrokePoint` struct is in the fairly generic `blender::bke` namespace, which does not sounds great to me? not to mention 'C-style' namespace in names like `GreasePencilDrawingRuntime`.
} }
bool overwrite_frame(int frame_number, int index) bool overwrite_frame(int frame_number, int index)
{ {
sorted_keys_cache_.tag_dirty(); sorted_keys_cache_.tag_dirty();
return frames_.add_overwrite(frame_number, index); return frames_for_write().add_overwrite(frame_number, index);
} }
Span<int> sorted_keys() Span<int> sorted_keys()
{ {
sorted_keys_cache_.ensure([&](Vector<int> &r_data) { sorted_keys_cache_.ensure([&](Vector<int> &r_data) {
r_data.reserve(frames_.size()); r_data.reserve(frames().size());
for (int64_t key : frames_.keys()) { for (int64_t key : frames().keys()) {
r_data.append(key); r_data.append(key);
} }
std::sort(r_data.begin(), r_data.end()); std::sort(r_data.begin(), r_data.end());