Changeset View
Changeset View
Standalone View
Standalone View
source/blender/blenkernel/BKE_editmesh.h
| Show First 20 Lines • Show All 54 Lines • ▼ Show 20 Lines | typedef struct BMEditMesh { | ||||
| struct BMEditMesh *emcopy; | struct BMEditMesh *emcopy; | ||||
| int emcopyusers; | int emcopyusers; | ||||
| /* we store tessellations as triplets of three loops, | /* we store tessellations as triplets of three loops, | ||||
| * which each define a triangle.*/ | * which each define a triangle.*/ | ||||
| struct BMLoop *(*looptris)[3]; | struct BMLoop *(*looptris)[3]; | ||||
| int tottri; | int tottri; | ||||
| struct Mesh *mesh_eval_final, *mesh_eval_cage; | |||||
| /** Cached cage bounding box for selection. */ | |||||
| struct BoundBox *bb_cage; | |||||
| /*derivedmesh stuff*/ | |||||
| CustomData_MeshMasks lastDataMask; | |||||
| /*selection mode*/ | /*selection mode*/ | ||||
| short selectmode; | short selectmode; | ||||
| short mat_nr; | short mat_nr; | ||||
| /*temp variables for x-mirror editing*/ | /*temp variables for x-mirror editing*/ | ||||
| int mirror_cdlayer; /* -1 is invalid */ | int mirror_cdlayer; /* -1 is invalid */ | ||||
| /** | /** | ||||
| * ID data is older than edit-mode data. | * ID data is older than edit-mode data. | ||||
| * Set #Main.is_memfile_undo_flush_needed when enabling. | * Set #Main.is_memfile_undo_flush_needed when enabling. | ||||
| */ | */ | ||||
| char needs_flush_to_id; | char needs_flush_to_id; | ||||
| } BMEditMesh; | } BMEditMesh; | ||||
| /* editmesh.c */ | /* editmesh.c */ | ||||
| void BKE_editmesh_looptri_calc(BMEditMesh *em); | void BKE_editmesh_looptri_calc(BMEditMesh *em); | ||||
| BMEditMesh *BKE_editmesh_create(BMesh *bm, const bool do_tessellate); | BMEditMesh *BKE_editmesh_create(BMesh *bm, const bool do_tessellate); | ||||
| BMEditMesh *BKE_editmesh_copy(BMEditMesh *em); | BMEditMesh *BKE_editmesh_copy(BMEditMesh *em); | ||||
| BMEditMesh *BKE_editmesh_from_object(struct Object *ob); | BMEditMesh *BKE_editmesh_from_object(struct Object *ob); | ||||
| void BKE_editmesh_free_derivedmesh(BMEditMesh *em); | void BKE_editmesh_free_derivedmesh(struct Mesh *me, BMEditMesh *em); | ||||
| void BKE_editmesh_free(BMEditMesh *em); | void BKE_editmesh_free(BMEditMesh *em); | ||||
| float (*BKE_editmesh_vert_coords_alloc(struct Depsgraph *depsgraph, | float (*BKE_editmesh_vert_coords_alloc(struct Depsgraph *depsgraph, | ||||
| struct BMEditMesh *em, | struct BMEditMesh *em, | ||||
| struct Scene *scene, | struct Scene *scene, | ||||
| struct Object *ob, | struct Object *ob, | ||||
| int *r_vert_len))[3]; | int *r_vert_len))[3]; | ||||
| float (*BKE_editmesh_vert_coords_alloc_orco(BMEditMesh *em, int *r_vert_len))[3]; | float (*BKE_editmesh_vert_coords_alloc_orco(BMEditMesh *em, int *r_vert_len))[3]; | ||||
| const float (*BKE_editmesh_vert_coords_when_deformed(struct Depsgraph *depsgraph, | const float (*BKE_editmesh_vert_coords_when_deformed(struct Depsgraph *depsgraph, | ||||
| struct BMEditMesh *em, | struct BMEditMesh *em, | ||||
| struct Scene *scene, | struct Scene *scene, | ||||
| struct Object *obedit, | struct Object *obedit, | ||||
| int *r_vert_len, | int *r_vert_len, | ||||
| bool *r_is_alloc))[3]; | bool *r_is_alloc))[3]; | ||||
| void BKE_editmesh_lnorspace_update(BMEditMesh *em, struct Mesh *me); | void BKE_editmesh_lnorspace_update(BMEditMesh *em, struct Mesh *me); | ||||
| void BKE_editmesh_ensure_autosmooth(BMEditMesh *em, struct Mesh *me); | void BKE_editmesh_ensure_autosmooth(BMEditMesh *em, struct Mesh *me); | ||||
| struct BoundBox *BKE_editmesh_cage_boundbox_get(BMEditMesh *em); | struct BoundBox *BKE_editmesh_cage_boundbox_get(struct Object *obedit, BMEditMesh *em); | ||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||
| } | } | ||||
| #endif | #endif | ||||