Welcome to mirror list, hosted at ThFree Co, Russian Federation.

lib_id_eval.c « intern « blenkernel « blender « source - git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: b367d1a32cad1d70c9a956256c6a0642405401b0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/* SPDX-License-Identifier: GPL-2.0-or-later */

/** \file
 * \ingroup bke
 *
 * Contains management of ID's and libraries
 * allocate and free of all library data
 */

#include "DNA_ID.h"
#include "DNA_mesh_types.h"

#include "BLI_utildefines.h"

#include "BKE_lib_id.h"
#include "BKE_mesh.h"

void BKE_id_eval_properties_copy(ID *id_cow, ID *id)
{
  const ID_Type id_type = GS(id->name);
  BLI_assert((id_cow->tag & LIB_TAG_COPIED_ON_WRITE) && !(id->tag & LIB_TAG_COPIED_ON_WRITE));
  BLI_assert(ID_TYPE_SUPPORTS_PARAMS_WITHOUT_COW(id_type));
  if (id_type == ID_ME) {
    BKE_mesh_copy_parameters((Mesh *)id_cow, (const Mesh *)id);
  }
  else {
    BLI_assert_unreachable();
  }
}