37 if (u <= 0 ||
v <= 0 ||
w <= 0) {
45 if (u <= 0 ||
v <= 0 ||
w <= 0) {
48 return (((((u - 1) *
v) + ((
v - 1) * u)) *
w) + ((
w - 1) * (u *
v)));
57 const int u = lt->
pntsu;
75 const int u = lt->
pntsu;
140 rdata->
dvert =
nullptr;
166 if (rdata->loose_verts) {
189 return &rdata->
bp[vert_idx];
221 if (cache ==
nullptr) {
252 memset(cache, 0,
sizeof(*cache));
281 if (cache ==
nullptr) {
326 if (cache->
pos ==
nullptr) {
341 for (
int i = 0;
i < vert_len;
i++) {
346 const float no_active_weight = 666.0f;
362 if (cache->
edges ==
nullptr) {
371#define LATT_INDEX(u, v, w) ((((w) * rdata->dims.v_len + (v)) * rdata->dims.u_len) + (u))
377 for (
int u = 0; u < rdata->
dims.
u_len; u++) {
431 for (
int i = 0;
i < vert_len;
i++) {
@ BKE_LATTICE_BATCH_DIRTY_SELECT
@ BKE_LATTICE_BATCH_DIRTY_ALL
#define GPU_batch_create(primitive_type, vertex_buf, index_buf)
#define GPU_BATCH_DISCARD_SAFE(batch)
blender::gpu::Batch * GPU_batch_create_ex(GPUPrimType primitive_type, blender::gpu::VertBuf *vertex_buf, blender::gpu::IndexBuf *index_buf, GPUBatchFlag owns_flag)
blender::MutableSpan< uint32_t > GPU_indexbuf_get_data(GPUIndexBufBuilder *)
#define GPU_INDEXBUF_DISCARD_SAFE(elem)
void GPU_indexbuf_init(GPUIndexBufBuilder *, GPUPrimType, uint prim_len, uint vertex_len)
blender::gpu::IndexBuf * GPU_indexbuf_build_ex(GPUIndexBufBuilder *builder, uint index_min, uint index_max, bool uses_restart_indices)
static blender::gpu::VertBuf * GPU_vertbuf_create_with_format(const GPUVertFormat &format)
void GPU_vertbuf_attr_set(blender::gpu::VertBuf *, uint a_idx, uint v_idx, const void *data)
#define GPU_VERTBUF_DISCARD_SAFE(verts)
void GPU_vertbuf_data_alloc(blender::gpu::VertBuf &verts, uint v_len)
Read Guarded memory(de)allocation.
BMesh const char void * data
ATTR_WARN_UNUSED_RESULT const BMVert * v
SIMD_FORCE_INLINE const btScalar & w() const
Return the w value.
CCL_NAMESPACE_BEGIN struct Options options
#define LATT_INDEX(u, v, w)
struct @021025263243242147216143265077100330027142264337::@240232116316110053135047106323056371161236243121 attr_id
void * MEM_callocN(size_t len, const char *str)
void MEM_freeN(void *vmemh)
blender::gpu::Batch * DRW_lattice_batch_cache_get_all_verts(Lattice *lt)
void DRW_lattice_batch_cache_validate(Lattice *lt)
static int edge_len_calc(int u, int v, int w)
blender::gpu::Batch * DRW_lattice_batch_cache_get_all_edges(Lattice *lt, bool use_weight, int actdef)
void DRW_lattice_batch_cache_dirty_tag(Lattice *lt, int mode)
blender::gpu::Batch * DRW_lattice_batch_cache_get_edit_verts(Lattice *lt)
void DRW_lattice_batch_cache_free(Lattice *lt)
static void lattice_batch_cache_init(Lattice *lt)
static void lattice_batch_cache_clear(Lattice *lt)
static gpu::IndexBuf * lattice_batch_cache_get_edges(LatticeRenderData *rdata, LatticeBatchCache *cache)
static int lattice_render_data_edges_len_get(const LatticeRenderData *rdata)
static const BPoint * lattice_render_data_vert_bpoint(const LatticeRenderData *rdata, const int vert_idx)
static LatticeBatchCache * lattice_batch_cache_get(Lattice *lt)
static int lattice_render_data_verts_len_get(const LatticeRenderData *rdata)
static LatticeRenderData * lattice_render_data_create(Lattice *lt, const int types)
static void lattice_batch_cache_create_overlay_batches(Lattice *lt)
static bool lattice_batch_cache_valid(Lattice *lt)
static void lattice_render_data_free(LatticeRenderData *rdata)
static gpu::VertBuf * lattice_batch_cache_get_pos(LatticeRenderData *rdata, LatticeBatchCache *cache, bool use_weight, const int actdef)
static int lattice_render_verts_len_get(Lattice *lt)
static int lattice_render_edges_len_get(Lattice *lt)
static int vert_len_calc(int u, int v, int w)
VecBase< uint32_t, 2 > uint2
struct MDeformVert * dvert
struct EditLatt * editlatt
struct blender::draw::LatticeBatchCache::@072343233107120301027277004040321045100036216216 dims
gpu::Batch * overlay_verts
struct blender::draw::LatticeRenderData::@031124354060133262320031101265231207120015077316 dims
const MDeformVert * dvert