Blender  V3.3
DNA_lineart_types.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later
2  * Copyright 2010 Blender Foundation. All rights reserved. */
3 
4 #pragma once
5 
10 #include "DNA_ID.h"
11 #include "DNA_listBase.h"
12 
13 /* Notice that we need to have this file although no struct defines.
14  * Edge flags and usage flags are used by with scene/object/gpencil modifier bits, and those values
15  * needs to stay consistent throughout. */
16 
18 typedef enum eLineartMainFlags {
24  /* LRT_REMOVE_DOUBLES = (1 << 5), Deprecated */
31  LRT_CHAIN_LOOSE_EDGES = (1 << 12),
36  LRT_USE_CUSTOM_CAMERA = (1 << 17),
43 
44 typedef enum eLineartEdgeFlag {
50  LRT_EDGE_FLAG_LOOSE = (1 << 5),
52  /* LRT_EDGE_FLAG_FOR_FUTURE = (1 << 7), */
59  /* To determine an edge to be occluded from the front or back face it's lying on. */
63  LRT_EDGE_FLAG_CLIPPED = (1 << 11),
69  LRT_EDGE_FLAG_INHIBIT = (1 << 14),
73 
74 #define LRT_EDGE_FLAG_ALL_TYPE 0x01ff
75 #define LRT_EDGE_FLAG_INIT_TYPE 0x37 /* Without material & light contour */
76 #define LRT_EDGE_FLAG_TYPE_MAX_BITS 7
ID and Library types, which are fundamental for sdna.
eLineartEdgeFlag
@ LRT_EDGE_FLAG_INHIBIT
@ LRT_EDGE_FLAG_SHADOW_FACING_LIGHT
@ LRT_EDGE_FLAG_MATERIAL
@ LRT_EDGE_FLAG_CREASE
@ LRT_EDGE_FLAG_PROJECTED_SHADOW
@ LRT_EDGE_FLAG_CONTOUR_SECONDARY
@ LRT_EDGE_FLAG_LOOSE
@ LRT_EDGE_FLAG_INTERSECTION
@ LRT_EDGE_FLAG_LIGHT_CONTOUR
@ LRT_EDGE_FLAG_CHAIN_PICKED
@ LRT_EDGE_FLAG_CONTOUR
@ LRT_EDGE_FLAG_NEXT_IS_DUPLICATION
@ LRT_EDGE_FLAG_EDGE_MARK
@ LRT_EDGE_FLAG_CLIPPED
eLineartMainFlags
@ LRT_GPENCIL_INVERT_SOURCE_VGROUP
@ LRT_EVERYTHING_AS_CONTOUR
@ LRT_USE_CREASE_ON_SMOOTH_SURFACES
@ LRT_ALLOW_OVERLAP_EDGE_TYPES
@ LRT_FILTER_FACE_MARK
@ LRT_USE_IMAGE_BOUNDARY_TRIMMING
@ LRT_USE_CUSTOM_CAMERA
@ LRT_INTERSECTION_AS_CONTOUR
@ LRT_ALLOW_OVERLAPPING_EDGES
@ LRT_CHAIN_LOOSE_EDGES
@ LRT_GPENCIL_MATCH_OUTPUT_VGROUP
@ LRT_ALLOW_DUPLI_OBJECTS
@ LRT_FILTER_FACE_MARK_INVERT
@ LRT_SHADOW_USE_SILHOUETTE
@ LRT_USE_BACK_FACE_CULLING
@ LRT_LOOSE_AS_CONTOUR
@ LRT_CHAIN_GEOMETRY_SPACE
@ LRT_USE_CREASE_ON_SHARP_EDGES
@ LRT_FILTER_FACE_MARK_KEEP_CONTOUR
@ LRT_ALLOW_CLIPPING_BOUNDARIES
@ LRT_FILTER_FACE_MARK_BOUNDARIES
@ LRT_CHAIN_PRESERVE_DETAILS
These structs are the foundation for all linked lists in the library system.