ATTR_WARN_UNUSED_RESULT BMesh * bm
BMLog * BM_log_create(BMesh *bm)
void BM_log_all_added(BMesh *bm, BMLog *log)
void BM_log_face_removed(BMLog *log, struct BMFace *f)
void BM_log_free(BMLog *log)
BMLogEntry * BM_log_entry_add(BMLog *log)
const float * BM_log_original_vert_no(BMLog *log, BMVert *v)
void BM_log_cleanup_entry(BMLogEntry *entry)
struct RangeTreeUInt * BM_log_unused_ids(BMLog *log)
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)
void BM_log_vert_added(BMLog *log, struct BMVert *v, int cd_vert_mask_offset)
void BM_log_vert_before_modified(BMLog *log, struct BMVert *v, int cd_vert_mask_offset)
void BM_log_face_modified(BMLog *log, struct BMFace *f)
void BM_log_vert_removed(BMLog *log, struct BMVert *v, int cd_vert_mask_offset)
const float * BM_log_original_vert_co(BMLog *log, BMVert *v)
BMLogEntry * BM_log_current_entry(BMLog *log)
void BM_log_redo(BMesh *bm, BMLog *log)
BMLog * BM_log_from_existing_entries_create(BMesh *bm, BMLogEntry *entry)
void BM_log_mesh_elems_reorder(BMesh *bm, BMLog *log)
void BM_log_entry_drop(BMLogEntry *entry)
void BM_log_face_added(BMLog *log, struct BMFace *f)
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)
ATTR_WARN_UNUSED_RESULT const BMVert * v
ccl_device_inline float3 log(float3 v)