Пример #1
0
KX_LightObject::~KX_LightObject()
{
	if (m_lightobj) {
		m_rasterizer->RemoveLight(m_lightobj);
		delete(m_lightobj);
	}

	if (m_base) {
		BKE_scene_base_unlink(m_blenderscene, m_base);
		MEM_freeN(m_base);
	}
}
Пример #2
0
/* Some reamapping unfortunately require extra and/or specific handling, tackle those here. */
static void libblock_remap_data_preprocess_scene_base_unlink(
        IDRemap *r_id_remap_data, Scene *sce, Base *base, const bool skip_indirect, const bool is_indirect)
{
	if (skip_indirect && is_indirect) {
		r_id_remap_data->skipped_indirect++;
		r_id_remap_data->skipped_refcounted++;
	}
	else {
		id_us_min((ID *)base->object);
		BKE_scene_base_unlink(sce, base);
		MEM_freeN(base);
		if (!is_indirect) {
			r_id_remap_data->status |= ID_REMAP_IS_LINKED_DIRECT;
		}
	}
}