Blender
V4.3
source
blender
makesdna
DNA_curveprofile_types.h
Go to the documentation of this file.
1
/* SPDX-FileCopyrightText: 2019 Blender Authors
2
*
3
* SPDX-License-Identifier: GPL-2.0-or-later */
4
9
#pragma once
10
11
#include "
DNA_vec_types.h
"
12
18
typedef
struct
CurveProfilePoint
{
20
float
x
,
y
;
22
short
flag
;
24
char
h1
,
h2
;
27
float
h1_loc
[2];
28
float
h2_loc
[2];
29
char
_pad
[4];
31
struct
CurveProfile
*
profile
;
32
}
CurveProfilePoint
;
33
35
enum
{
36
PROF_SELECT
= (1 << 0),
37
PROF_H1_SELECT
= (1 << 1),
38
PROF_H2_SELECT
= (1 << 2),
39
};
40
42
typedef
struct
CurveProfile
{
44
short
path_len
;
46
short
segments_len
;
48
int
preset
;
50
CurveProfilePoint
*
path
;
52
CurveProfilePoint
*
table
;
54
CurveProfilePoint
*
segments
;
56
int
flag
;
58
int
changed_timestamp
;
60
rctf
view_rect
,
clip_rect
;
61
}
CurveProfile
;
62
64
enum
{
65
PROF_USE_CLIP
= (1 << 0),
/* Keep control points inside bounding rectangle. */
66
/* PROF_SYMMETRY_MODE = (1 << 1), Unused for now. */
67
PROF_SAMPLE_STRAIGHT_EDGES
= (1 << 2),
/* Sample extra points on straight edges. */
68
PROF_SAMPLE_EVEN_LENGTHS
= (1 << 3),
/* Put segments evenly spaced along the path. */
69
PROF_DIRTY_PRESET
= (1 << 4),
/* Marks when the dynamic preset has been changed. */
70
};
71
72
typedef
enum
eCurveProfilePresets
{
73
PROF_PRESET_LINE
= 0,
/* Default simple line between end points. */
74
PROF_PRESET_SUPPORTS
= 1,
/* Support loops for a regular curved profile. */
75
PROF_PRESET_CORNICE
= 2,
/* Molding type example. */
76
PROF_PRESET_CROWN
= 3,
/* Second molding example. */
77
PROF_PRESET_STEPS
= 4,
/* Dynamic number of steps defined by segments_len. */
78
}
eCurveProfilePresets
;
PROF_DIRTY_PRESET
@ PROF_DIRTY_PRESET
Definition
DNA_curveprofile_types.h:69
PROF_USE_CLIP
@ PROF_USE_CLIP
Definition
DNA_curveprofile_types.h:65
PROF_SAMPLE_EVEN_LENGTHS
@ PROF_SAMPLE_EVEN_LENGTHS
Definition
DNA_curveprofile_types.h:68
PROF_SAMPLE_STRAIGHT_EDGES
@ PROF_SAMPLE_STRAIGHT_EDGES
Definition
DNA_curveprofile_types.h:67
eCurveProfilePresets
eCurveProfilePresets
Definition
DNA_curveprofile_types.h:72
PROF_PRESET_CROWN
@ PROF_PRESET_CROWN
Definition
DNA_curveprofile_types.h:76
PROF_PRESET_LINE
@ PROF_PRESET_LINE
Definition
DNA_curveprofile_types.h:73
PROF_PRESET_CORNICE
@ PROF_PRESET_CORNICE
Definition
DNA_curveprofile_types.h:75
PROF_PRESET_SUPPORTS
@ PROF_PRESET_SUPPORTS
Definition
DNA_curveprofile_types.h:74
PROF_PRESET_STEPS
@ PROF_PRESET_STEPS
Definition
DNA_curveprofile_types.h:77
PROF_H1_SELECT
@ PROF_H1_SELECT
Definition
DNA_curveprofile_types.h:37
PROF_SELECT
@ PROF_SELECT
Definition
DNA_curveprofile_types.h:36
PROF_H2_SELECT
@ PROF_H2_SELECT
Definition
DNA_curveprofile_types.h:38
CurveProfile
struct CurveProfile CurveProfile
CurveProfilePoint
struct CurveProfilePoint CurveProfilePoint
DNA_vec_types.h
CurveProfilePoint
Definition
DNA_curveprofile_types.h:18
CurveProfilePoint::y
float y
Definition
DNA_curveprofile_types.h:20
CurveProfilePoint::h1_loc
float h1_loc[2]
Definition
DNA_curveprofile_types.h:27
CurveProfilePoint::h2
char h2
Definition
DNA_curveprofile_types.h:24
CurveProfilePoint::h1
char h1
Definition
DNA_curveprofile_types.h:24
CurveProfilePoint::profile
struct CurveProfile * profile
Definition
DNA_curveprofile_types.h:31
CurveProfilePoint::_pad
char _pad[4]
Definition
DNA_curveprofile_types.h:29
CurveProfilePoint::h2_loc
float h2_loc[2]
Definition
DNA_curveprofile_types.h:28
CurveProfilePoint::flag
short flag
Definition
DNA_curveprofile_types.h:22
CurveProfilePoint::x
float x
Definition
DNA_curveprofile_types.h:20
CurveProfile
Definition
DNA_curveprofile_types.h:42
CurveProfile::view_rect
rctf view_rect
Definition
DNA_curveprofile_types.h:60
CurveProfile::clip_rect
rctf clip_rect
Definition
DNA_curveprofile_types.h:60
CurveProfile::path
CurveProfilePoint * path
Definition
DNA_curveprofile_types.h:50
CurveProfile::path_len
short path_len
Definition
DNA_curveprofile_types.h:44
CurveProfile::preset
int preset
Definition
DNA_curveprofile_types.h:48
CurveProfile::table
CurveProfilePoint * table
Definition
DNA_curveprofile_types.h:52
CurveProfile::segments_len
short segments_len
Definition
DNA_curveprofile_types.h:46
CurveProfile::changed_timestamp
int changed_timestamp
Definition
DNA_curveprofile_types.h:58
CurveProfile::flag
int flag
Definition
DNA_curveprofile_types.h:56
CurveProfile::segments
CurveProfilePoint * segments
Definition
DNA_curveprofile_types.h:54
rctf
Definition
DNA_vec_types.h:85
Generated on Thu Feb 6 2025 07:36:39 for Blender by
doxygen
1.11.0