35 short r_select_mode = 0;
52 r_select_mode = scene->toolsettings->selectmode;
82 BMEditMesh *em = mesh.runtime->edit_mesh.get();
87 blender::gpu::Batch *geom_faces = DRW_mesh_batch_cache_get_triangles_with_select_id(mesh);
93 blender::gpu::Batch *geom_facedots = DRW_mesh_batch_cache_get_facedots_with_select_id(mesh);
96 *r_face_offset = initial_offset + em->
bm->
totface;
100#ifdef USE_CAGE_OCCLUSION
101 blender::gpu::Batch *geom_faces = DRW_mesh_batch_cache_get_triangles_with_select_id(mesh);
103 struct blender::gpu::Batch *geom_faces = DRW_mesh_batch_cache_get_surface(mesh);
108 *r_face_offset = initial_offset;
113 blender::gpu::Batch *geom_edges = DRW_mesh_batch_cache_get_edges_with_select_id(mesh);
117 *r_edge_offset = *r_face_offset + em->
bm->
totedge;
122 *r_edge_offset = *r_face_offset;
127 blender::gpu::Batch *geom_verts = DRW_mesh_batch_cache_get_verts_with_select_id(mesh);
131 *r_vert_offset = *r_edge_offset + em->
bm->
totvert;
134 *r_vert_offset = *r_edge_offset;
149 blender::gpu::Batch *geom_faces = DRW_mesh_batch_cache_get_triangles_with_select_id(mesh);
154 *r_face_offset = initial_offset + mesh.faces_num;
159 *r_face_offset = initial_offset;
164 blender::gpu::Batch *geom_edges = DRW_mesh_batch_cache_get_edges_with_select_id(mesh);
168 *r_edge_offset = *r_face_offset + mesh.edges_num;
171 *r_edge_offset = *r_face_offset;
175 blender::gpu::Batch *geom_verts = DRW_mesh_batch_cache_get_verts_with_select_id(mesh);
179 *r_vert_offset = *r_edge_offset + mesh.verts_num;
182 *r_vert_offset = *r_edge_offset;
214 stl, ob, select_mode, initial_offset, r_vert_offset, r_edge_offset, r_face_offset);
General operations, lookup, etc. for blender objects.
Object * DEG_get_original_object(Object *object)
@ V3D_OVERLAY_EDIT_FACE_DOT
#define DRW_shgroup_call_no_cull(shgroup, geom, ob)
#define XRAY_FLAG_ENABLED(v3d)
void BM_mesh_elem_table_ensure(BMesh *bm, const char htype)
DRWShadingGroup * DRW_shgroup_create_sub(DRWShadingGroup *shgroup)
void DRW_shgroup_uniform_int_copy(DRWShadingGroup *shgroup, const char *name, const int value)
static bool check_ob_drawface_dot(short select_mode, const View3D *v3d, eDrawType dt)
short select_id_get_object_select_mode(Scene *scene, Object *ob)
static void draw_select_id_edit_mesh(SELECTID_StorageList *stl, Object *ob, short select_mode, bool draw_facedot, uint initial_offset, uint *r_vert_offset, uint *r_edge_offset, uint *r_face_offset)
void select_id_draw_object(void *vedata, View3D *v3d, Object *ob, short select_mode, uint initial_offset, uint *r_vert_offset, uint *r_edge_offset, uint *r_face_offset)
static void draw_select_id_mesh(SELECTID_StorageList *stl, Object *ob, short select_mode, uint initial_offset, uint *r_vert_offset, uint *r_edge_offset, uint *r_face_offset)
DRWShadingGroup * shgrp_face_unif
DRWShadingGroup * shgrp_edge
DRWShadingGroup * shgrp_face_flat
DRWShadingGroup * shgrp_vert
struct SELECTID_PrivateData * g_data