Blender V4.3
light.cc File Reference
#include <cstdlib>
#include <optional>
#include "MEM_guardedalloc.h"
#include "DNA_defaults.h"
#include "DNA_light_types.h"
#include "DNA_node_types.h"
#include "DNA_scene_types.h"
#include "DNA_texture_types.h"
#include "BLI_utildefines.h"
#include "BKE_icons.h"
#include "BKE_idtype.hh"
#include "BKE_lib_id.hh"
#include "BKE_lib_query.hh"
#include "BKE_light.h"
#include "BKE_node.hh"
#include "BKE_preview_image.hh"
#include "BLT_translation.hh"
#include "DEG_depsgraph.hh"
#include "BLO_read_write.hh"

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, std::optional< Library * > owner_library, 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)
 
LightBKE_light_add (Main *bmain, const char *name)
 
void BKE_light_eval (Depsgraph *depsgraph, Light *la)
 

Variables

IDTypeInfo IDType_ID_LA
 

Macro Definition Documentation

◆ DNA_DEPRECATED_ALLOW

#define DNA_DEPRECATED_ALLOW

Definition at line 15 of file blenkernel/intern/light.cc.

Function Documentation

◆ BKE_light_add()

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

◆ BKE_light_eval()

void BKE_light_eval ( Depsgraph * depsgraph,
Light * la )

Definition at line 203 of file blenkernel/intern/light.cc.

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_write()

◆ light_copy_data()

static void light_copy_data ( Main * bmain,
std::optional< Library * > owner_library,
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.hh's LIB_ID_COPY_... flags for more).

Definition at line 57 of file blenkernel/intern/light.cc.

References BKE_id_copy_in_lib(), BKE_previewimg_id_copy(), flag, bNodeTree::id, Light::id, LIB_ID_COPY_NO_PREVIEW, LIB_ID_CREATE_LOCAL, LIB_ID_CREATE_NO_USER_REFCOUNT, blender::bke::node_tree_localize(), Light::nodetree, and Light::preview.

◆ light_foreach_id()

◆ light_free_data()

◆ light_init_data()

static void light_init_data ( ID * id)
static

Variable Documentation

◆ IDType_ID_LA

IDTypeInfo IDType_ID_LA
Initial value:
= {
sizeof(Light),
"Light",
N_("lights"),
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
}
@ IDTYPE_FLAGS_APPEND_IS_REUSABLE
Definition BKE_idtype.hh:39
#define BLT_I18NCONTEXT_ID_LIGHT
#define FILTER_ID_LA
Definition DNA_ID.h:1172
#define FILTER_ID_TE
Definition DNA_ID.h:1187
@ INDEX_ID_LA
Definition DNA_ID.h:1300
@ ID_LA
struct Light Light
static void light_foreach_id(ID *id, LibraryForeachIDData *data)
static void light_blend_read_data(BlendDataReader *reader, ID *id)
static void light_copy_data(Main *bmain, std::optional< Library * > owner_library, ID *id_dst, const ID *id_src, const int flag)
static void light_blend_write(BlendWriter *writer, ID *id, const void *id_address)
static void light_free_data(ID *id)
static void light_init_data(ID *id)
#define N_(msgid)

Definition at line 164 of file blenkernel/intern/light.cc.