65 return *
reinterpret_cast<float *
>(
reinterpret_cast<char *
>(elem) + (key.
mask_offset));
70 return reinterpret_cast<CCGElem *
>((
reinterpret_cast<char *
>(elem)) + key.
elem_size * offset);
75 return y * grid_size +
x;
107 return (1 << (level - 1)) + 1;
114 return 1 << (high_level - low_level);
int CCG_grid_factor(int low_level, int high_level)
blender::float3 & CCG_grid_elem_no(const CCGKey &key, CCGElem *elem, int x, int y)
blender::float3 & CCG_grid_elem_co(const CCGKey &key, CCGElem *elem, int x, int y)
int CCG_grid_xy_to_index(const int grid_size, const int x, const int y)
CCGElem * CCG_grid_elem(const CCGKey &key, CCGElem *elem, int x, int y)
blender::float3 & CCG_elem_offset_co(const CCGKey &key, CCGElem *elem, int offset)
float & CCG_elem_mask(const CCGKey &key, CCGElem *elem)
blender::float3 & CCG_elem_no(const CCGKey &key, CCGElem *elem)
blender::float3 & CCG_elem_co(const CCGKey &, CCGElem *elem)
CCGElem * CCG_elem_offset(const CCGKey &key, CCGElem *elem, int offset)
float & CCG_grid_elem_mask(const CCGKey &key, CCGElem *elem, int x, int y)
int CCG_grid_size(const int level)
VecBase< float, 3 > float3