Blender V4.3
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
18typedef 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];
33
35enum {
36 PROF_SELECT = (1 << 0),
37 PROF_H1_SELECT = (1 << 1),
38 PROF_H2_SELECT = (1 << 2),
39};
40
62
64enum {
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
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. */
@ PROF_DIRTY_PRESET
@ PROF_SAMPLE_EVEN_LENGTHS
@ PROF_SAMPLE_STRAIGHT_EDGES
@ PROF_PRESET_CROWN
@ PROF_PRESET_LINE
@ PROF_PRESET_CORNICE
@ PROF_PRESET_SUPPORTS
@ PROF_PRESET_STEPS
struct CurveProfile CurveProfile
struct CurveProfilePoint CurveProfilePoint
struct CurveProfile * profile
CurveProfilePoint * path
CurveProfilePoint * table
CurveProfilePoint * segments