Blender V4.3
DNA_collection_types.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2001-2002 NaN Holding BV. All rights reserved.
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
11#pragma once
12
13#include "DNA_ID.h"
14#include "DNA_defs.h"
15#include "DNA_listBase.h"
16
17struct Collection;
18struct Object;
19struct GHash;
20
21/* Light linking relation of a collection or an object. */
22typedef struct CollectionLightLinking {
23 /* Light and shadow linking configuration, an enumerator of eCollectionLightLinkingState.
24 * The meaning depends on whether the collection is specified as a light or shadow linking on the
25 * Object's LightLinking.
26 *
27 * For the light linking collection:
28 *
29 * - INCLUDE: the receiver is included into the light linking and is only receiving lights from
30 * emitters which include it in their light linking collections. The receiver is not affected
31 * by regular scene lights.
32 *
33 * - EXCLUDE: the receiver does not receive light from this emitter, but is lit by regular
34 * lights in the scene or by emitters which are linked to it via INCLUDE on their
35 * light_state.
36 *
37 * For the shadow linking collection:
38 *
39 * - INCLUDE: the collection or object casts shadows from the emitter. It does not cast shadow
40 * from light sources which do not have INCLUDE on their light linking configuration for it.
41 *
42 * - EXCLUDE: the collection or object does not cast shadow when lit by this emitter, but does
43 * for other light sources in the scene. */
45
48
56
64
65/* Collection IO property storage and access. */
78
82
83/* Light linking state of object or collection: defines how they react to the emitters in the
84 * scene. See the comment for the link_state in the CollectionLightLinking for the details. */
89
98
103
125
162
164enum {
169 // COLLECTION_DISABLED_DEPRECATED = (1 << 2), /* DIRTY */
178};
179
180#define COLLECTION_FLAG_ALL_RUNTIME \
181 (COLLECTION_HAS_OBJECT_CACHE | COLLECTION_HAS_OBJECT_CACHE_INSTANCED)
182
184enum {
198};
199
ID and Library types, which are fundamental for SDNA.
@ COLLECTION_TAG_COLLECTION_OBJECT_DIRTY
@ COLLECTION_TAG_RELATION_REBUILD
@ COLLECTION_HIDE_RENDER
@ COLLECTION_HAS_OBJECT_CACHE_INSTANCED
@ COLLECTION_HIDE_SELECT
@ COLLECTION_IS_MASTER
@ COLLECTION_HAS_OBJECT_CACHE
@ COLLECTION_HIDE_VIEWPORT
eCollectionLightLinkingState
@ COLLECTION_LIGHT_LINKING_STATE_EXCLUDE
@ COLLECTION_LIGHT_LINKING_STATE_INCLUDE
struct CollectionObject CollectionObject
struct CollectionChild CollectionChild
struct CollectionLightLinking CollectionLightLinking
struct Collection_Runtime Collection_Runtime
struct Collection Collection
eCollectionLineArt_Usage
@ COLLECTION_LRT_EXCLUDE
@ COLLECTION_LRT_INCLUDE
@ COLLECTION_LRT_INTERSECTION_ONLY
@ COLLECTION_LRT_FORCE_INTERSECTION
@ COLLECTION_LRT_OCCLUSION_ONLY
@ COLLECTION_LRT_NO_INTERSECTION
eCollectionLineArt_Flags
@ COLLECTION_LRT_USE_INTERSECTION_MASK
@ COLLECTION_LRT_USE_INTERSECTION_PRIORITY
struct CollectionExport CollectionExport
IOHandlerPanelFlag
@ IO_HANDLER_PANEL_OPEN
@ COLLECTION_COLOR_NONE
@ COLLECTION_COLOR_02
@ COLLECTION_COLOR_05
@ COLLECTION_COLOR_07
@ COLLECTION_COLOR_06
@ COLLECTION_COLOR_TOT
@ COLLECTION_COLOR_04
@ COLLECTION_COLOR_01
@ COLLECTION_COLOR_08
@ COLLECTION_COLOR_03
These structs are the foundation for all linked lists in the library system.
unsigned int uint32_t
Definition stdint.h:80
unsigned char uint8_t
Definition stdint.h:78
signed char int8_t
Definition stdint.h:75
struct Collection * collection
CollectionLightLinking light_linking
struct CollectionChild * prev
struct CollectionChild * next
struct CollectionExport * prev
IDProperty * export_properties
struct CollectionExport * next
struct CollectionObject * prev
struct CollectionObject * next
CollectionLightLinking light_linking
struct ViewLayer *view_layer DNA_DEPRECATED
struct PreviewImage * preview
unsigned int layer DNA_DEPRECATED
uint8_t lineart_intersection_priority
uint8_t lineart_intersection_mask
Collection_Runtime runtime
Definition DNA_ID.h:413