Blender  V2.93
DNA_freestyle_types.h
Go to the documentation of this file.
1 /*
2  * This program is free software; you can redistribute it and/or
3  * modify it under the terms of the GNU General Public License
4  * as published by the Free Software Foundation; either version 2
5  * of the License, or (at your option) any later version.
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10  * GNU General Public License for more details.
11  *
12  * You should have received a copy of the GNU General Public License
13  * along with this program; if not, write to the Free Software Foundation,
14  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
15  *
16  * The Original Code is Copyright (C) 2010 Blender Foundation.
17  * All rights reserved.
18  */
19 
20 #pragma once
21 
26 #include "DNA_defs.h"
27 #include "DNA_listBase.h"
28 
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32 
33 struct Collection;
34 struct FreestyleLineStyle;
35 struct Text;
36 
37 /* FreestyleConfig::flags */
38 enum {
47 };
48 
49 /* FreestyleConfig::mode */
50 enum {
53 };
54 
55 /* FreestyleLineSet::flags */
56 enum {
64 };
65 
66 /* FreestyleLineSet::selection */
67 enum {
73 };
74 
75 /* FreestyleLineSet::edge_types, exclude_edge_types */
76 enum {
81  /* FREESTYLE_FE_VALLEY = 1 << 4, */ /* No longer used */
87 };
88 
89 /* FreestyleLineSet::qi */
90 enum {
94 };
95 
96 /* FreestyleConfig::raycasting_algorithm */
97 /* Defines should be replaced with ViewMapBuilder::visibility_algo */
98 enum {
106 };
107 
108 typedef struct FreestyleLineSet {
110 
112  char name[64];
113  int flags;
114 
118  short qi;
119  char _pad1[2];
123  char _pad2[4];
125  struct Collection *group;
126 
129 
130 typedef struct FreestyleModuleConfig {
132 
133  struct Text *script;
135  char _pad[6];
137 
138 typedef struct FreestyleConfig {
140 
142  int mode;
143  int raycasting_algorithm DNA_DEPRECATED;
145  int flags;
147  float dkr_epsilon;
150 
153 
154 #ifdef __cplusplus
155 }
156 #endif
@ FREESTYLE_CONTROL_EDITOR_MODE
@ FREESTYLE_CONTROL_SCRIPT_MODE
struct FreestyleLineSet FreestyleLineSet
struct FreestyleModuleConfig FreestyleModuleConfig
@ 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 FreestyleConfig FreestyleConfig
@ FREESTYLE_QI_VISIBLE
@ FREESTYLE_QI_RANGE
@ FREESTYLE_QI_HIDDEN
@ 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_SEL_VISIBILITY
@ FREESTYLE_SEL_EDGE_TYPES
@ FREESTYLE_SEL_IMAGE_BORDER
@ FREESTYLE_SEL_FACE_MARK
@ FREESTYLE_SEL_GROUP
@ FREESTYLE_CULLING
@ FREESTYLE_FACE_SMOOTHNESS_FLAG
@ FREESTYLE_MATERIAL_BOUNDARIES_FLAG
@ FREESTYLE_ADVANCED_OPTIONS_FLAG
@ FREESTYLE_RIDGES_AND_VALLEYS_FLAG
@ FREESTYLE_VIEW_MAP_CACHE
@ FREESTYLE_SUGGESTIVE_CONTOURS_FLAG
@ FREESTYLE_AS_RENDER_PASS
@ 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
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