Blender V5.0
BKE_displist.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2001-2002 NaN Holding BV. All rights reserved.
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#pragma once
6
11
13enum {
22 // DL_VERTCOL = 6, /* UNUSED */
25};
26
28enum {
30 DL_CYCL_U = (1 << 0),
31 DL_CYCL_V = (1 << 1),
32
33 DL_FRONT_CURVE = (1 << 2),
34 DL_BACK_CURVE = (1 << 3),
35};
36
37/* prototypes */
38
39struct Depsgraph;
40struct ListBase;
41struct Object;
42struct Scene;
43
44/* Used for curves, nurbs, meta-balls. */
45typedef struct DispList {
46 struct DispList *next, *prev;
47 short type, flag;
48 int parts, nr;
49 short col, rt; /* Currently only used for smooth flag. */
50 float *verts, *nors;
51 int *index;
53 int totindex; /* indexed array drawing surfaces */
55
56DispList *BKE_displist_find(struct ListBase *lb, int type);
57void BKE_displist_free(struct ListBase *lb);
58
60 const struct Scene *scene,
61 struct Object *ob,
62 bool for_render);
63
65 const struct Scene *scene,
66 struct Object *ob,
67 struct ListBase *source_nurb,
68 struct ListBase *target_nurb,
69 bool for_render);
71 const struct DispList *dl, int a, int *b, int *p1, int *p2, int *p3, int *p4);
72
79void BKE_displist_fill(const struct ListBase *dispbase,
80 struct ListBase *to,
81 const float normal_proj[3],
82 bool flip_normal);
83
84float BKE_displist_calc_taper(struct Depsgraph *depsgraph,
85 const struct Scene *scene,
86 struct Object *taperobj,
87 int cur,
88 int tot);
89
90void BKE_displist_minmax(const struct ListBase *dispbase, float min[3], float max[3]);
@ DL_CYCL_V
@ DL_BACK_CURVE
@ DL_FRONT_CURVE
@ DL_CYCL_U
void BKE_curve_calc_modifiers_pre(struct Depsgraph *depsgraph, const struct Scene *scene, struct Object *ob, struct ListBase *source_nurb, struct ListBase *target_nurb, bool for_render)
bool BKE_displist_surfindex_get(const struct DispList *dl, int a, int *b, int *p1, int *p2, int *p3, int *p4)
void BKE_displist_free(struct ListBase *lb)
Definition displist.cc:64
void BKE_displist_make_curveTypes(struct Depsgraph *depsgraph, const struct Scene *scene, struct Object *ob, bool for_render)
DispList * BKE_displist_find(struct ListBase *lb, int type)
Definition displist.cc:71
void BKE_displist_fill(const struct ListBase *dispbase, struct ListBase *to, const float normal_proj[3], bool flip_normal)
float BKE_displist_calc_taper(struct Depsgraph *depsgraph, const struct Scene *scene, struct Object *taperobj, int cur, int tot)
@ DL_SURF
@ DL_INDEX3
@ DL_POLY
@ DL_SEGM
@ DL_VERTS
void BKE_displist_minmax(const struct ListBase *dispbase, float min[3], float max[3])
BPy_StructRNA * depsgraph
#define min(a, b)
Definition sort.cc:36
short type
short col
float * verts
int * index
struct DispList * prev
struct DispList * next
float * nors
short flag
max
Definition text_draw.cc:251