ATTR_WARN_UNUSED_RESULT BMesh * bm
void BM_log_all_added(BMesh *bm, BMLog *log)
void BM_log_face_added(BMLog *log, BMFace *f)
const float * BM_log_find_original_vert_mask(BMLog *log, BMVert *v)
void BM_log_face_removed(BMLog *log, BMFace *f)
void BM_log_free(BMLog *log)
void BM_log_cleanup_entry(BMLogEntry *entry)
void BM_log_original_vert_data(BMLog *log, BMVert *v, const float **r_co, const float **r_no)
float BM_log_original_mask(BMLog *log, BMVert *v)
BMLogEntry * BM_log_current_entry(BMLog *log)
const float * BM_log_original_vert_co(BMLog *log, BMVert *v)
const float * BM_log_find_original_vert_co(BMLog *log, BMVert *v)
void BM_log_vert_before_modified(BMLog *log, BMVert *v, int cd_vert_mask_offset)
void BM_log_face_modified(BMLog *log, BMFace *f)
const float * BM_log_original_vert_no(BMLog *log, BMVert *v)
void BM_log_redo(BMesh *bm, BMLog *log)
void BM_log_print_entry(BMesh *bm, BMLogEntry *entry)
void BM_log_vert_removed(BMLog *log, BMVert *v, int cd_vert_mask_offset)
void BM_log_mesh_elems_reorder(BMesh *bm, BMLog *log)
void BM_log_entry_drop(BMLogEntry *entry)
BMLog * BM_log_from_existing_entries_create(BMesh *bm, BMLogEntry *entry)
BMLog * BM_log_create(BMesh *bm)
struct RangeTreeUInt * BM_log_unused_ids(BMLog *log)
void BM_log_undo(BMesh *bm, BMLog *log)
int BM_log_length(const BMLog *log)
void BM_log_before_all_removed(BMesh *bm, BMLog *log)
BMLogEntry * BM_log_entry_add(BMLog *log)
void BM_log_vert_added(BMLog *log, BMVert *v, int cd_vert_mask_offset)
ATTR_WARN_UNUSED_RESULT const BMVert * v
ccl_device_inline float3 log(float3 v)