Blender  V3.3
DNA_freestyle_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_defs.h"
11 #include "DNA_listBase.h"
12 
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16 
17 struct Collection;
18 struct FreestyleLineStyle;
19 struct Text;
20 
21 /* FreestyleConfig::flags */
22 enum {
27  /* FREESTYLE_ADVANCED_OPTIONS_FLAG = 1 << 4, */ /* UNUSED */
31 };
32 
33 /* FreestyleConfig::mode */
34 enum {
37 };
38 
39 /* FreestyleLineSet::flags */
40 enum {
48 };
49 
50 /* FreestyleLineSet::selection */
51 enum {
57 };
58 
59 /* FreestyleLineSet::edge_types, exclude_edge_types */
60 enum {
65  /* FREESTYLE_FE_VALLEY = 1 << 4, */ /* No longer used */
71 };
72 
73 /* FreestyleLineSet::qi */
74 enum {
78 };
79 
80 /* FreestyleConfig::raycasting_algorithm */
81 /* Defines should be replaced with ViewMapBuilder::visibility_algo */
82 enum {
90 };
91 
92 typedef struct FreestyleLineSet {
94 
96  char name[64];
97  int flags;
98 
102  short qi;
103  char _pad1[2];
107  char _pad2[4];
109  struct Collection *group;
110 
113 
114 typedef struct FreestyleModuleConfig {
116 
117  struct Text *script;
119  char _pad[6];
121 
122 typedef struct FreestyleConfig {
124 
126  int mode;
127  int raycasting_algorithm DNA_DEPRECATED;
129  int flags;
131  float dkr_epsilon;
134 
137 
138 #ifdef __cplusplus
139 }
140 #endif
@ FREESTYLE_CULLING
@ FREESTYLE_FACE_SMOOTHNESS_FLAG
@ FREESTYLE_MATERIAL_BOUNDARIES_FLAG
@ FREESTYLE_RIDGES_AND_VALLEYS_FLAG
@ FREESTYLE_VIEW_MAP_CACHE
@ FREESTYLE_SUGGESTIVE_CONTOURS_FLAG
@ FREESTYLE_AS_RENDER_PASS
@ FREESTYLE_FE_EDGE_MARK
@ FREESTYLE_FE_BORDER
@ FREESTYLE_FE_SILHOUETTE
@ FREESTYLE_FE_RIDGE_VALLEY
@ FREESTYLE_FE_CREASE
@ FREESTYLE_FE_EXTERNAL_CONTOUR
@ FREESTYLE_FE_CONTOUR
@ FREESTYLE_FE_SUGGESTIVE_CONTOUR
@ FREESTYLE_FE_MATERIAL_BOUNDARY
struct FreestyleLineSet FreestyleLineSet
struct FreestyleModuleConfig FreestyleModuleConfig
struct FreestyleConfig FreestyleConfig
@ FREESTYLE_ALGO_FAST
@ FREESTYLE_ALGO_CULLED_ADAPTIVE_CUMULATIVE
@ FREESTYLE_ALGO_CULLED_ADAPTIVE_TRADITIONAL
@ FREESTYLE_ALGO_VERYFAST
@ FREESTYLE_ALGO_ADAPTIVE_CUMULATIVE
@ FREESTYLE_ALGO_REGULAR
@ FREESTYLE_ALGO_ADAPTIVE_TRADITIONAL
@ FREESTYLE_QI_VISIBLE
@ FREESTYLE_QI_RANGE
@ FREESTYLE_QI_HIDDEN
@ FREESTYLE_SEL_VISIBILITY
@ FREESTYLE_SEL_EDGE_TYPES
@ FREESTYLE_SEL_IMAGE_BORDER
@ FREESTYLE_SEL_FACE_MARK
@ FREESTYLE_SEL_GROUP
@ FREESTYLE_LINESET_FE_AND
@ FREESTYLE_LINESET_ENABLED
@ FREESTYLE_LINESET_FM_NOT
@ FREESTYLE_LINESET_CURRENT
@ FREESTYLE_LINESET_FE_NOT
@ FREESTYLE_LINESET_FM_BOTH
@ FREESTYLE_LINESET_GR_NOT
@ FREESTYLE_CONTROL_EDITOR_MODE
@ FREESTYLE_CONTROL_SCRIPT_MODE
These structs are the foundation for all linked lists in the library system.
int raycasting_algorithm DNA_DEPRECATED
struct Collection * group
struct FreestyleLineStyle * linestyle
struct FreestyleLineSet * next
struct FreestyleLineSet * prev
struct FreestyleModuleConfig * next
struct FreestyleModuleConfig * prev