Initial Grease Pencil 3.0 stage #106848
|
@ -53,28 +53,25 @@ static void grease_pencil_copy_data(Main * /*bmain*/, ID *id_dst, const ID *id_s
|
|||
grease_pencil_dst->drawing_array_size = grease_pencil_src->drawing_array_size;
|
||||
grease_pencil_dst->drawing_array = MEM_cnew_array<GreasePencilDrawingOrReference *>(
|
||||
grease_pencil_src->drawing_array_size, __func__);
|
||||
for (int i = 0; i < grease_pencil_dst->drawing_array_size; i++) {
|
||||
for (int i = 0; i < grease_pencil_src->drawing_array_size; i++) {
|
||||
const GreasePencilDrawingOrReference *src_drawing_or_ref = grease_pencil_src->drawing_array[i];
|
||||
GreasePencilDrawingOrReference *dst_drawing_or_ref = grease_pencil_dst->drawing_array[i];
|
||||
switch (src_drawing_or_ref->type) {
|
||||
case GREASE_PENCIL_DRAWING: {
|
||||
const GreasePencilDrawing *src_drawing = reinterpret_cast<const GreasePencilDrawing *>(
|
||||
src_drawing_or_ref);
|
||||
grease_pencil_dst->drawing_array[i] = reinterpret_cast<GreasePencilDrawingOrReference *>(
|
||||
MEM_cnew<GreasePencilDrawing>(__func__));
|
||||
GreasePencilDrawing *dst_drawing = reinterpret_cast<GreasePencilDrawing *>(
|
||||
dst_drawing_or_ref);
|
||||
dst_drawing = MEM_cnew<GreasePencilDrawing>(__func__);
|
||||
grease_pencil_dst->drawing_array[i]);
|
||||
dst_drawing->base.type = src_drawing->base.type;
|
||||
dst_drawing->base.flag = src_drawing->base.flag;
|
||||
dst_drawing->geometry.runtime = MEM_new<bke::CurvesGeometryRuntime>(__func__);
|
||||
dst_drawing->geometry.wrap() = src_drawing->geometry.wrap();
|
||||
new (&dst_drawing->geometry) CurvesGeometry(src_drawing->geometry.wrap());
|
||||
break;
|
||||
}
|
||||
case GREASE_PENCIL_DRAWING_REFERENCE: {
|
||||
const GreasePencilDrawingReference *src_drawing_reference =
|
||||
reinterpret_cast<const GreasePencilDrawingReference *>(src_drawing_or_ref);
|
||||
GreasePencilDrawingReference *dst_drawing_reference =
|
||||
reinterpret_cast<GreasePencilDrawingReference *>(dst_drawing_or_ref);
|
||||
dst_drawing_reference = static_cast<GreasePencilDrawingReference *>(
|
||||
grease_pencil_dst->drawing_array[i] = reinterpret_cast<GreasePencilDrawingOrReference *>(
|
||||
MEM_dupallocN(src_drawing_reference));
|
||||
break;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue