Blender  V2.93
Macros | Functions | Variables
light.c File Reference
#include <stdlib.h>
#include "MEM_guardedalloc.h"
#include "DNA_anim_types.h"
#include "DNA_defaults.h"
#include "DNA_light_types.h"
#include "DNA_material_types.h"
#include "DNA_node_types.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "DNA_texture_types.h"
#include "BLI_math.h"
#include "BLI_utildefines.h"
#include "BKE_anim_data.h"
#include "BKE_colortools.h"
#include "BKE_icons.h"
#include "BKE_idtype.h"
#include "BKE_lib_id.h"
#include "BKE_lib_query.h"
#include "BKE_light.h"
#include "BKE_main.h"
#include "BKE_node.h"
#include "BLT_translation.h"
#include "DEG_depsgraph.h"
#include "BLO_read_write.h"

Go to the source code of this file.

Macros

#define DNA_DEPRECATED_ALLOW
 

Functions

static void light_init_data (ID *id)
 
static void light_copy_data (Main *bmain, ID *id_dst, const ID *id_src, const int flag)
 
static void light_free_data (ID *id)
 
static void light_foreach_id (ID *id, LibraryForeachIDData *data)
 
static void light_blend_write (BlendWriter *writer, ID *id, const void *id_address)
 
static void light_blend_read_data (BlendDataReader *reader, ID *id)
 
static void light_blend_read_lib (BlendLibReader *reader, ID *id)
 
static void light_blend_read_expand (BlendExpander *expander, ID *id)
 
LightBKE_light_add (Main *bmain, const char *name)
 
void BKE_light_eval (struct Depsgraph *depsgraph, Light *la)
 

Variables

IDTypeInfo IDType_ID_LA
 

Macro Definition Documentation

◆ DNA_DEPRECATED_ALLOW

#define DNA_DEPRECATED_ALLOW

Definition at line 29 of file light.c.

Function Documentation

◆ BKE_light_add()

Light* BKE_light_add ( Main bmain,
const char *  name 
)

Definition at line 217 of file light.c.

References BKE_id_new(), and ID_LA.

Referenced by BKE_object_obdata_add_from_type(), and DocumentImporter::writeLight().

◆ BKE_light_eval()

void BKE_light_eval ( struct Depsgraph depsgraph,
Light la 
)

Definition at line 226 of file light.c.

References DEG_debug_print_eval(), depsgraph, Light::id, and ID::name.

◆ light_blend_read_data()

static void light_blend_read_data ( BlendDataReader reader,
ID id 
)
static

◆ light_blend_read_expand()

static void light_blend_read_expand ( BlendExpander expander,
ID id 
)
static

Definition at line 183 of file light.c.

References BLO_expand.

◆ light_blend_read_lib()

static void light_blend_read_lib ( BlendLibReader reader,
ID id 
)
static

Definition at line 177 of file light.c.

References BLO_read_id_address, Light::id, and ID::lib.

◆ light_blend_write()

static void light_blend_write ( BlendWriter writer,
ID id,
const void *  id_address 
)
static

◆ light_copy_data()

static void light_copy_data ( Main bmain,
ID id_dst,
const ID id_src,
const int  flag 
)
static

Only copy internal data of Light ID from source to already allocated/initialized destination. You probably never want to use that directly, use BKE_id_copy or BKE_id_copy_ex for typical needs.

WARNING! This function will not handle ID user count!

Parameters
flagCopying options (see BKE_lib_id.h's LIB_ID_COPY_... flags for more).

Definition at line 80 of file light.c.

References BKE_curvemapping_copy(), BKE_id_copy_ex(), BKE_previewimg_id_copy(), Light::curfalloff, Light::id, LIB_ID_COPY_NO_PREVIEW, LIB_ID_CREATE_LOCAL, LIB_ID_CREATE_NO_ALLOCATE, Light::nodetree, ntreeLocalize, NULL, and Light::preview.

◆ light_foreach_id()

static void light_foreach_id ( ID id,
LibraryForeachIDData data 
)
static

Definition at line 127 of file light.c.

References BKE_library_foreach_ID_embedded(), data, lamp, and Light::nodetree.

◆ light_free_data()

static void light_free_data ( ID id)
static

◆ light_init_data()

static void light_init_data ( ID id)
static

Variable Documentation

◆ IDType_ID_LA

IDTypeInfo IDType_ID_LA
Initial value:
= {
.id_code = ID_LA,
.id_filter = FILTER_ID_LA,
.main_listbase_index = INDEX_ID_LA,
.struct_size = sizeof(Light),
.name = "Light",
.name_plural = "lights",
.translation_context = BLT_I18NCONTEXT_ID_LIGHT,
.flags = 0,
.copy_data = light_copy_data,
.free_data = light_free_data,
.make_local = NULL,
.foreach_id = light_foreach_id,
.foreach_cache = NULL,
.owner_get = NULL,
.blend_write = light_blend_write,
.blend_read_data = light_blend_read_data,
.blend_read_lib = light_blend_read_lib,
.blend_read_expand = light_blend_read_expand,
.blend_read_undo_preserve = NULL,
.lib_override_apply_post = NULL,
}
#define BLT_I18NCONTEXT_ID_LIGHT
#define FILTER_ID_LA
Definition: DNA_ID.h:713
@ INDEX_ID_LA
Definition: DNA_ID.h:834
@ ID_LA
Definition: DNA_ID_enums.h:67
struct Light Light
static void init_data(ModifierData *md)
static void light_blend_read_expand(BlendExpander *expander, ID *id)
Definition: light.c:183
static void light_foreach_id(ID *id, LibraryForeachIDData *data)
Definition: light.c:127
static void light_blend_read_data(BlendDataReader *reader, ID *id)
Definition: light.c:162
static void light_blend_read_lib(BlendLibReader *reader, ID *id)
Definition: light.c:177
static void light_blend_write(BlendWriter *writer, ID *id, const void *id_address)
Definition: light.c:136
static void light_copy_data(Main *bmain, ID *id_dst, const ID *id_src, const int flag)
Definition: light.c:80
static void light_free_data(ID *id)
Definition: light.c:109
static void light_init_data(ID *id)
Definition: light.c:59

Definition at line 189 of file light.c.