Blender  V3.3
Classes | Typedefs | Enumerations | Functions
BKE_displist.h File Reference

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

#include "BKE_customdata.h"
#include "DNA_customdata_types.h"

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_INDEX4 = 5 , 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

void BKE_displist_copy (struct ListBase *lbn, const struct ListBase *lb)
 
DispListBKE_displist_find (struct ListBase *lb, int type)
 
void BKE_displist_normals_add (struct ListBase *lb)
 
void BKE_displist_count (const struct ListBase *lb, int *totvert, int *totface, int *tottri)
 
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_displist_make_mball (struct Depsgraph *depsgraph, struct Scene *scene, struct Object *ob)
 
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_INDEX4 

Quads, with support for triangles (when values of the 3rd and 4th indices match).

DL_VERTS 

Isolated points.

Definition at line 18 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 35 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_copy()

void BKE_displist_copy ( struct ListBase lbn,
const struct ListBase lb 
)

◆ BKE_displist_count()

void BKE_displist_count ( const struct ListBase lb,
int *  totvert,
int *  totface,
int *  tottri 
)

Referenced by stats_object().

◆ 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()

void BKE_displist_free ( struct ListBase lb)

◆ BKE_displist_make_curveTypes()

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

◆ BKE_displist_make_mball()

void BKE_displist_make_mball ( struct Depsgraph depsgraph,
struct Scene scene,
struct Object ob 
)

◆ BKE_displist_minmax()

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

◆ BKE_displist_normals_add()

void BKE_displist_normals_add ( struct ListBase lb)

◆ 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 
)