Blender  V2.93
Classes | Macros | Typedefs | Enumerations | Functions | Variables
draw_cache_extract.h File Reference

Go to the source code of this file.

Classes

struct  DRW_MeshWeightState
 
struct  DRW_MeshCDMask
 
struct  MeshBufferCache
 
struct  MeshBatchCache
 

Macros

#define MBC_EDITUV
 
#define FOREACH_MESH_BUFFER_CACHE(batch_cache, mbc)
 

Typedefs

typedef struct DRW_MeshWeightState DRW_MeshWeightState
 
typedef struct DRW_MeshCDMask DRW_MeshCDMask
 
typedef enum eMRDataType eMRDataType
 
typedef enum eMRExtractType eMRExtractType
 
typedef struct MeshBufferCache MeshBufferCache
 
typedef enum DRWBatchFlag DRWBatchFlag
 
typedef struct MeshBatchCache MeshBatchCache
 

Enumerations

enum  { DRW_MESH_WEIGHT_STATE_MULTIPAINT = (1 << 0) , DRW_MESH_WEIGHT_STATE_AUTO_NORMALIZE = (1 << 1) , DRW_MESH_WEIGHT_STATE_LOCK_RELATIVE = (1 << 2) }
 
enum  eMRDataType { MR_DATA_POLY_NOR = 1 << 1 , MR_DATA_LOOP_NOR = 1 << 2 , MR_DATA_LOOPTRI = 1 << 3 , MR_DATA_TAN_LOOP_NOR = 1 << 4 }
 
enum  eMRExtractType { MR_EXTRACT_BMESH , MR_EXTRACT_MAPPED , MR_EXTRACT_MESH }
 
enum  DRWBatchFlag {
  MBC_SURFACE = (1 << 0) , MBC_SURFACE_WEIGHTS = (1 << 1) , MBC_EDIT_TRIANGLES = (1 << 2) , MBC_EDIT_VERTICES = (1 << 3) ,
  MBC_EDIT_EDGES = (1 << 4) , MBC_EDIT_VNOR = (1 << 5) , MBC_EDIT_LNOR = (1 << 6) , MBC_EDIT_FACEDOTS = (1 << 7) ,
  MBC_EDIT_MESH_ANALYSIS = (1 << 8) , MBC_EDITUV_FACES_STRETCH_AREA = (1 << 9) , MBC_EDITUV_FACES_STRETCH_ANGLE = (1 << 10) , MBC_EDITUV_FACES = (1 << 11) ,
  MBC_EDITUV_EDGES = (1 << 12) , MBC_EDITUV_VERTS = (1 << 13) , MBC_EDITUV_FACEDOTS = (1 << 14) , MBC_EDIT_SELECTION_VERTS = (1 << 15) ,
  MBC_EDIT_SELECTION_EDGES = (1 << 16) , MBC_EDIT_SELECTION_FACES = (1 << 17) , MBC_EDIT_SELECTION_FACEDOTS = (1 << 18) , MBC_ALL_VERTS = (1 << 19) ,
  MBC_ALL_EDGES = (1 << 20) , MBC_LOOSE_EDGES = (1 << 21) , MBC_EDGE_DETECTION = (1 << 22) , MBC_WIRE_EDGES = (1 << 23) ,
  MBC_WIRE_LOOPS = (1 << 24) , MBC_WIRE_LOOPS_UVS = (1 << 25) , MBC_SKIN_ROOTS = (1 << 26) , MBC_SCULPT_OVERLAYS = (1 << 27)
}
 

Functions

 BLI_STATIC_ASSERT (sizeof(DRW_MeshCDMask)<=sizeof(uint64_t), "DRW_MeshCDMask exceeds 64 bits") typedef enum eMRIterType
 
BLI_INLINE int mesh_render_mat_len_get (Mesh *me)
 
void mesh_buffer_cache_create_requested (struct TaskGraph *task_graph, MeshBatchCache *cache, MeshBufferCache mbc, Mesh *me, const bool is_editmode, const bool is_paint_mode, const bool is_mode_active, const float obmat[4][4], const bool do_final, const bool do_uvedit, const bool use_subsurf_fdots, const DRW_MeshCDMask *cd_layer_used, const Scene *scene, const ToolSettings *ts, const bool use_hide)
 

Variables

 eMRIterType
 

Macro Definition Documentation

◆ FOREACH_MESH_BUFFER_CACHE

#define FOREACH_MESH_BUFFER_CACHE (   batch_cache,
  mbc 
)
Value:
for (MeshBufferCache *mbc = &batch_cache->final; \
mbc == &batch_cache->final || mbc == &batch_cache->cage || mbc == &batch_cache->uv_cage; \
mbc = (mbc == &batch_cache->final) ? \
&batch_cache->cage : \
((mbc == &batch_cache->cage) ? &batch_cache->uv_cage : NULL))

Definition at line 184 of file draw_cache_extract.h.

◆ MBC_EDITUV

#define MBC_EDITUV
Value:

Definition at line 180 of file draw_cache_extract.h.

Typedef Documentation

◆ DRW_MeshCDMask

◆ DRW_MeshWeightState

◆ DRWBatchFlag

typedef enum DRWBatchFlag DRWBatchFlag

◆ eMRDataType

typedef enum eMRDataType eMRDataType

◆ eMRExtractType

◆ MeshBatchCache

◆ MeshBufferCache

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
DRW_MESH_WEIGHT_STATE_MULTIPAINT 
DRW_MESH_WEIGHT_STATE_AUTO_NORMALIZE 
DRW_MESH_WEIGHT_STATE_LOCK_RELATIVE 

Definition at line 45 of file draw_cache_extract.h.

◆ DRWBatchFlag

Enumerator
MBC_SURFACE 
MBC_SURFACE_WEIGHTS 
MBC_EDIT_TRIANGLES 
MBC_EDIT_VERTICES 
MBC_EDIT_EDGES 
MBC_EDIT_VNOR 
MBC_EDIT_LNOR 
MBC_EDIT_FACEDOTS 
MBC_EDIT_MESH_ANALYSIS 
MBC_EDITUV_FACES_STRETCH_AREA 
MBC_EDITUV_FACES_STRETCH_ANGLE 
MBC_EDITUV_FACES 
MBC_EDITUV_EDGES 
MBC_EDITUV_VERTS 
MBC_EDITUV_FACEDOTS 
MBC_EDIT_SELECTION_VERTS 
MBC_EDIT_SELECTION_EDGES 
MBC_EDIT_SELECTION_FACES 
MBC_EDIT_SELECTION_FACEDOTS 
MBC_ALL_VERTS 
MBC_ALL_EDGES 
MBC_LOOSE_EDGES 
MBC_EDGE_DETECTION 
MBC_WIRE_EDGES 
MBC_WIRE_LOOPS 
MBC_WIRE_LOOPS_UVS 
MBC_SKIN_ROOTS 
MBC_SCULPT_OVERLAYS 

Definition at line 149 of file draw_cache_extract.h.

◆ eMRDataType

Enumerator
MR_DATA_POLY_NOR 
MR_DATA_LOOP_NOR 
MR_DATA_LOOPTRI 
MR_DATA_TAN_LOOP_NOR 

Force loop normals calculation.

Definition at line 75 of file draw_cache_extract.h.

◆ eMRExtractType

Enumerator
MR_EXTRACT_BMESH 
MR_EXTRACT_MAPPED 
MR_EXTRACT_MESH 

Definition at line 83 of file draw_cache_extract.h.

Function Documentation

◆ BLI_STATIC_ASSERT()

BLI_STATIC_ASSERT ( sizeof(DRW_MeshCDMask)<=sizeof(uint64_t ,
"DRW_MeshCDMask exceeds 64 bits"   
)

Definition at line 66 of file draw_cache_extract.h.

◆ mesh_buffer_cache_create_requested()

void mesh_buffer_cache_create_requested ( struct TaskGraph task_graph,
MeshBatchCache cache,
MeshBufferCache  mbc,
Mesh me,
const bool  is_editmode,
const bool  is_paint_mode,
const bool  is_mode_active,
const float  obmat[4][4],
const bool  do_final,
const bool  do_uvedit,
const bool  use_subsurf_fdots,
const DRW_MeshCDMask cd_layer_used,
const Scene scene,
const ToolSettings ts,
const bool  use_hide 
)

◆ mesh_render_mat_len_get()

BLI_INLINE int mesh_render_mat_len_get ( Mesh me)

Variable Documentation

◆ eMRIterType

eMRIterType