Differential D3383 Diff 10977 source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp
Changeset View
Changeset View
Standalone View
Standalone View
source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp
| Show All 28 Lines | |||||
| extern "C" { | extern "C" { | ||||
| #include "MEM_guardedalloc.h" | #include "MEM_guardedalloc.h" | ||||
| #include "RNA_access.h" | #include "RNA_access.h" | ||||
| #include "RNA_types.h" | #include "RNA_types.h" | ||||
| #include "DNA_camera_types.h" | #include "DNA_camera_types.h" | ||||
| #include "DNA_group_types.h" | |||||
| #include "DNA_listBase.h" | #include "DNA_listBase.h" | ||||
| #include "DNA_linestyle_types.h" | #include "DNA_linestyle_types.h" | ||||
| #include "DNA_material_types.h" | #include "DNA_material_types.h" | ||||
| #include "DNA_meshdata_types.h" | #include "DNA_meshdata_types.h" | ||||
| #include "DNA_mesh_types.h" | #include "DNA_mesh_types.h" | ||||
| #include "DNA_object_types.h" | #include "DNA_object_types.h" | ||||
| #include "DNA_screen_types.h" | #include "DNA_screen_types.h" | ||||
| #include "DNA_scene_types.h" | #include "DNA_scene_types.h" | ||||
| #include "BKE_collection.h" | #include "BKE_collection.h" | ||||
| #include "BKE_customdata.h" | #include "BKE_customdata.h" | ||||
| #include "BKE_idprop.h" | #include "BKE_idprop.h" | ||||
| #include "BKE_global.h" | #include "BKE_global.h" | ||||
| #include "BKE_layer.h" | |||||
| #include "BKE_library.h" /* free_libblock */ | #include "BKE_library.h" /* free_libblock */ | ||||
| #include "BKE_material.h" | #include "BKE_material.h" | ||||
| #include "BKE_mesh.h" | #include "BKE_mesh.h" | ||||
| #include "BKE_node.h" | #include "BKE_node.h" | ||||
| #include "BKE_object.h" | #include "BKE_object.h" | ||||
| #include "BKE_scene.h" | #include "BKE_scene.h" | ||||
| #include "BLI_ghash.h" | #include "BLI_ghash.h" | ||||
| ▲ Show 20 Lines • Show All 143 Lines • ▼ Show 20 Lines | case OB_CAMERA: | ||||
| freestyle_scene->camera = NULL; | freestyle_scene->camera = NULL; | ||||
| break; | break; | ||||
| default: | default: | ||||
| cerr << "Warning: unexpected object in the scene: " << name[0] << name[1] << ":" << (name + 2) << endl; | cerr << "Warning: unexpected object in the scene: " << name[0] << name[1] << ":" << (name + 2) << endl; | ||||
| } | } | ||||
| } | } | ||||
| // Make sure we don't have any bases which might reference freed objects. | // Make sure we don't have any bases which might reference freed objects. | ||||
| FOREACH_SCENE_COLLECTION_BEGIN(freestyle_scene, sc) | BKE_main_collection_sync(freestyle_bmain); | ||||
| { | |||||
| BLI_freelistN(&sc->objects); | |||||
| } | |||||
| FOREACH_SCENE_COLLECTION_END; | |||||
| BLI_freelistN(&view_layer->object_bases); | |||||
| // release materials | // release materials | ||||
| Link *lnk = (Link *)freestyle_bmain->mat.first; | Link *lnk = (Link *)freestyle_bmain->mat.first; | ||||
| while (lnk) | while (lnk) | ||||
| { | { | ||||
| Material *ma = (Material*)lnk; | Material *ma = (Material*)lnk; | ||||
| lnk = lnk->next; | lnk = lnk->next; | ||||
| ▲ Show 20 Lines • Show All 637 Lines • ▼ Show 20 Lines | Object *BlenderStrokeRenderer::NewMesh() const | ||||
| unsigned int mesh_id = get_stroke_mesh_id(); | unsigned int mesh_id = get_stroke_mesh_id(); | ||||
| BLI_snprintf(name, MAX_ID_NAME, "0%08xOB", mesh_id); | BLI_snprintf(name, MAX_ID_NAME, "0%08xOB", mesh_id); | ||||
| ob = BKE_object_add_only_object(freestyle_bmain, OB_MESH, name); | ob = BKE_object_add_only_object(freestyle_bmain, OB_MESH, name); | ||||
| BLI_snprintf(name, MAX_ID_NAME, "0%08xME", mesh_id); | BLI_snprintf(name, MAX_ID_NAME, "0%08xME", mesh_id); | ||||
| ob->data = BKE_mesh_add(freestyle_bmain, name); | ob->data = BKE_mesh_add(freestyle_bmain, name); | ||||
| ob->lay = 1; | ob->lay = 1; | ||||
| SceneCollection *sc_master = BKE_collection_master(&freestyle_scene->id); | Collection *collection_master = BKE_collection_master(freestyle_scene); | ||||
| BKE_collection_object_add(&freestyle_scene->id, sc_master, ob); | BKE_collection_object_add(freestyle_bmain, collection_master, ob); | ||||
| DEG_graph_tag_relations_update(freestyle_depsgraph); | DEG_graph_tag_relations_update(freestyle_depsgraph); | ||||
| DEG_graph_id_tag_update(freestyle_bmain, | DEG_graph_id_tag_update(freestyle_bmain, | ||||
| freestyle_depsgraph, | freestyle_depsgraph, | ||||
| &ob->id, | &ob->id, | ||||
| OB_RECALC_OB | OB_RECALC_DATA | OB_RECALC_TIME); | OB_RECALC_OB | OB_RECALC_DATA | OB_RECALC_TIME); | ||||
| return ob; | return ob; | ||||
| Show All 24 Lines | |||||