Blender V4.3
BKE_displist.h File Reference

display list (or rather multi purpose list) stuff. More...

Go to the source code of this file.

Classes

struct  DispList
 

Typedefs

typedef struct DispList DispList
 

Enumerations

enum  {
  DL_POLY = 0 , DL_SEGM = 1 , DL_SURF = 2 , DL_INDEX3 = 4 ,
  DL_VERTS = 7
}
 
enum  { DL_CYCL_U = (1 << 0) , DL_CYCL_V = (1 << 1) , DL_FRONT_CURVE = (1 << 2) , DL_BACK_CURVE = (1 << 3) }
 

Functions

DispListBKE_displist_find (struct ListBase *lb, int type)
 
void BKE_displist_free (struct ListBase *lb)
 
void BKE_displist_make_curveTypes (struct Depsgraph *depsgraph, const struct Scene *scene, struct Object *ob, bool for_render)
 
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_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)
 
void BKE_displist_minmax (const struct ListBase *dispbase, float min[3], float max[3])
 

Detailed Description

display list (or rather multi purpose list) stuff.

Definition in file BKE_displist.h.

Typedef Documentation

◆ DispList

typedef struct DispList DispList

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

DispList.type

Enumerator
DL_POLY 

A closed polygon (that can be filled).

DL_SEGM 

An open polygon.

DL_SURF 

A grid surface that respects DL_CYCL_U & DL_CYCL_V.

DL_INDEX3 

Triangles.

DL_VERTS 

Isolated points.

Definition at line 17 of file BKE_displist.h.

◆ anonymous enum

anonymous enum

DispList.type

Enumerator
DL_CYCL_U 

U/V swapped here compared with Nurb.flagu, Nurb.flagv and CU_NURB_CYCLIC

DL_CYCL_V 
DL_FRONT_CURVE 
DL_BACK_CURVE 

Definition at line 32 of file BKE_displist.h.

Function Documentation

◆ BKE_curve_calc_modifiers_pre()

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 )

Referenced by curve_from_curve_object().

◆ BKE_displist_calc_taper()

float BKE_displist_calc_taper ( struct Depsgraph * depsgraph,
const struct Scene * scene,
struct Object * taperobj,
int cur,
int tot )

Referenced by do_guides().

◆ BKE_displist_fill()

void BKE_displist_fill ( const struct ListBase * dispbase,
struct ListBase * to,
const float normal_proj[3],
bool flip_normal )
Parameters
normal_projOptional normal that's used to project the scan-fill verts into 2D coords. Pass this along if known since it saves time calculating the normal. This is also used to initialize DispList.nors (one normal per display list).
flip_normalFlip the normal (same as passing normal_proj negated).

Referenced by M_Geometry_tessellate_polygon().

◆ BKE_displist_find()

DispList * BKE_displist_find ( struct ListBase * lb,
int type )

◆ BKE_displist_free()

◆ BKE_displist_make_curveTypes()

void BKE_displist_make_curveTypes ( struct Depsgraph * depsgraph,
const struct Scene * scene,
struct Object * ob,
bool for_render )

◆ BKE_displist_minmax()

void BKE_displist_minmax ( const struct ListBase * dispbase,
float min[3],
float max[3] )

◆ BKE_displist_surfindex_get()

bool BKE_displist_surfindex_get ( const struct DispList * dl,
int a,
int * b,
int * p1,
int * p2,
int * p3,
int * p4 )