Blender
V3.3
source
blender
makesdna
DNA_curveprofile_types.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: GPL-2.0-or-later
2
* Copyright 2019 Blender Foundation. All rights reserved. */
3
8
#pragma once
9
10
#include "
DNA_vec_types.h
"
11
12
#ifdef __cplusplus
13
extern
"C"
{
14
#endif
15
21
typedef
struct
CurveProfilePoint
{
23
float
x
,
y
;
25
short
flag
;
27
char
h1
,
h2
;
30
float
h1_loc
[2];
31
float
h2_loc
[2];
32
char
_pad
[4];
34
struct
CurveProfile
*
profile
;
35
}
CurveProfilePoint
;
36
38
enum
{
39
PROF_SELECT
= (1 << 0),
40
PROF_H1_SELECT
= (1 << 1),
41
PROF_H2_SELECT
= (1 << 2),
42
};
43
45
typedef
struct
CurveProfile
{
47
short
path_len
;
49
short
segments_len
;
51
int
preset
;
53
CurveProfilePoint
*
path
;
55
CurveProfilePoint
*
table
;
57
CurveProfilePoint
*
segments
;
59
int
flag
;
61
int
changed_timestamp
;
63
rctf
view_rect
,
clip_rect
;
64
}
CurveProfile
;
65
67
enum
{
68
PROF_USE_CLIP
= (1 << 0),
/* Keep control points inside bounding rectangle. */
69
/* PROF_SYMMETRY_MODE = (1 << 1), Unused for now. */
70
PROF_SAMPLE_STRAIGHT_EDGES
= (1 << 2),
/* Sample extra points on straight edges. */
71
PROF_SAMPLE_EVEN_LENGTHS
= (1 << 3),
/* Put segments evenly spaced along the path. */
72
PROF_DIRTY_PRESET
= (1 << 4),
/* Marks when the dynamic preset has been changed. */
73
};
74
75
typedef
enum
eCurveProfilePresets
{
76
PROF_PRESET_LINE
= 0,
/* Default simple line between end points. */
77
PROF_PRESET_SUPPORTS
= 1,
/* Support loops for a regular curved profile. */
78
PROF_PRESET_CORNICE
= 2,
/* Molding type example. */
79
PROF_PRESET_CROWN
= 3,
/* Second molding example. */
80
PROF_PRESET_STEPS
= 4,
/* Dynamic number of steps defined by segments_len. */
81
}
eCurveProfilePresets
;
82
83
#ifdef __cplusplus
84
}
85
#endif
PROF_H1_SELECT
@ PROF_H1_SELECT
Definition:
DNA_curveprofile_types.h:40
PROF_SELECT
@ PROF_SELECT
Definition:
DNA_curveprofile_types.h:39
PROF_H2_SELECT
@ PROF_H2_SELECT
Definition:
DNA_curveprofile_types.h:41
eCurveProfilePresets
eCurveProfilePresets
Definition:
DNA_curveprofile_types.h:75
PROF_PRESET_CROWN
@ PROF_PRESET_CROWN
Definition:
DNA_curveprofile_types.h:79
PROF_PRESET_LINE
@ PROF_PRESET_LINE
Definition:
DNA_curveprofile_types.h:76
PROF_PRESET_CORNICE
@ PROF_PRESET_CORNICE
Definition:
DNA_curveprofile_types.h:78
PROF_PRESET_SUPPORTS
@ PROF_PRESET_SUPPORTS
Definition:
DNA_curveprofile_types.h:77
PROF_PRESET_STEPS
@ PROF_PRESET_STEPS
Definition:
DNA_curveprofile_types.h:80
CurveProfile
struct CurveProfile CurveProfile
PROF_DIRTY_PRESET
@ PROF_DIRTY_PRESET
Definition:
DNA_curveprofile_types.h:72
PROF_USE_CLIP
@ PROF_USE_CLIP
Definition:
DNA_curveprofile_types.h:68
PROF_SAMPLE_EVEN_LENGTHS
@ PROF_SAMPLE_EVEN_LENGTHS
Definition:
DNA_curveprofile_types.h:71
PROF_SAMPLE_STRAIGHT_EDGES
@ PROF_SAMPLE_STRAIGHT_EDGES
Definition:
DNA_curveprofile_types.h:70
CurveProfilePoint
struct CurveProfilePoint CurveProfilePoint
DNA_vec_types.h
CurveProfilePoint
Definition:
DNA_curveprofile_types.h:21
CurveProfilePoint::y
float y
Definition:
DNA_curveprofile_types.h:23
CurveProfilePoint::h1_loc
float h1_loc[2]
Definition:
DNA_curveprofile_types.h:30
CurveProfilePoint::h2
char h2
Definition:
DNA_curveprofile_types.h:27
CurveProfilePoint::h1
char h1
Definition:
DNA_curveprofile_types.h:27
CurveProfilePoint::profile
struct CurveProfile * profile
Definition:
DNA_curveprofile_types.h:34
CurveProfilePoint::_pad
char _pad[4]
Definition:
DNA_curveprofile_types.h:32
CurveProfilePoint::h2_loc
float h2_loc[2]
Definition:
DNA_curveprofile_types.h:31
CurveProfilePoint::flag
short flag
Definition:
DNA_curveprofile_types.h:25
CurveProfilePoint::x
float x
Definition:
DNA_curveprofile_types.h:23
CurveProfile
Definition:
DNA_curveprofile_types.h:45
CurveProfile::view_rect
rctf view_rect
Definition:
DNA_curveprofile_types.h:63
CurveProfile::clip_rect
rctf clip_rect
Definition:
DNA_curveprofile_types.h:63
CurveProfile::path
CurveProfilePoint * path
Definition:
DNA_curveprofile_types.h:53
CurveProfile::path_len
short path_len
Definition:
DNA_curveprofile_types.h:47
CurveProfile::preset
int preset
Definition:
DNA_curveprofile_types.h:51
CurveProfile::table
CurveProfilePoint * table
Definition:
DNA_curveprofile_types.h:55
CurveProfile::segments_len
short segments_len
Definition:
DNA_curveprofile_types.h:49
CurveProfile::changed_timestamp
int changed_timestamp
Definition:
DNA_curveprofile_types.h:61
CurveProfile::flag
int flag
Definition:
DNA_curveprofile_types.h:59
CurveProfile::segments
CurveProfilePoint * segments
Definition:
DNA_curveprofile_types.h:57
rctf
Definition:
DNA_vec_types.h:68
Generated on Tue Oct 22 2024 13:18:25 for Blender by
doxygen
1.9.1