forked from bartvdbraak/blender
Cleanup: Move object_get_derived_final
from BKE_shrinkwrap to BKE_DerivedMesh
Note this func needs some love, but this will be for later (should never have been in shrinkwrap code!).
This commit is contained in:
parent
59f4ba854b
commit
c11777b211
@ -691,6 +691,9 @@ DerivedMesh *editbmesh_get_derived_cage(struct Scene *scene, struct Object *,
|
|||||||
DerivedMesh *editbmesh_get_derived_cage_and_final(struct Scene *scene, struct Object *,
|
DerivedMesh *editbmesh_get_derived_cage_and_final(struct Scene *scene, struct Object *,
|
||||||
struct BMEditMesh *em, DerivedMesh **r_final,
|
struct BMEditMesh *em, DerivedMesh **r_final,
|
||||||
CustomDataMask dataMask);
|
CustomDataMask dataMask);
|
||||||
|
|
||||||
|
DerivedMesh *object_get_derived_final(struct Object *ob, const bool for_render);
|
||||||
|
|
||||||
float (*editbmesh_get_vertex_cos(struct BMEditMesh *em, int *r_numVerts))[3];
|
float (*editbmesh_get_vertex_cos(struct BMEditMesh *em, int *r_numVerts))[3];
|
||||||
bool editbmesh_modifier_is_enabled(struct Scene *scene, struct ModifierData *md, DerivedMesh *dm);
|
bool editbmesh_modifier_is_enabled(struct Scene *scene, struct ModifierData *md, DerivedMesh *dm);
|
||||||
void makeDerivedMesh(struct Scene *scene, struct Object *ob, struct BMEditMesh *em,
|
void makeDerivedMesh(struct Scene *scene, struct Object *ob, struct BMEditMesh *em,
|
||||||
|
@ -31,15 +31,6 @@
|
|||||||
* \ingroup bke
|
* \ingroup bke
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* mesh util */
|
|
||||||
|
|
||||||
//TODO: move this somewhere else
|
|
||||||
#include "BKE_customdata.h"
|
|
||||||
struct DerivedMesh;
|
|
||||||
struct Object;
|
|
||||||
struct DerivedMesh *object_get_derived_final(struct Object *ob, bool for_render);
|
|
||||||
|
|
||||||
|
|
||||||
/* SpaceTransform stuff */
|
/* SpaceTransform stuff */
|
||||||
/*
|
/*
|
||||||
* TODO: move this somewhere else
|
* TODO: move this somewhere else
|
||||||
|
@ -2500,6 +2500,28 @@ DerivedMesh *editbmesh_get_derived_base(Object *obedit, BMEditMesh *em)
|
|||||||
return getEditDerivedBMesh(em, obedit, NULL);
|
return getEditDerivedBMesh(em, obedit, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***/
|
||||||
|
|
||||||
|
/* get derived mesh from an object, using editbmesh if available. */
|
||||||
|
DerivedMesh *object_get_derived_final(Object *ob, const bool for_render)
|
||||||
|
{
|
||||||
|
Mesh *me = ob->data;
|
||||||
|
BMEditMesh *em = me->edit_btmesh;
|
||||||
|
|
||||||
|
if (for_render) {
|
||||||
|
/* TODO(sergey): use proper derived render here in the future. */
|
||||||
|
return ob->derivedFinal;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (em) {
|
||||||
|
DerivedMesh *dm = em->derivedFinal;
|
||||||
|
return dm;
|
||||||
|
}
|
||||||
|
|
||||||
|
return ob->derivedFinal;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* UNUSED */
|
/* UNUSED */
|
||||||
#if 0
|
#if 0
|
||||||
|
|
||||||
|
@ -66,26 +66,6 @@
|
|||||||
/* Util macros */
|
/* Util macros */
|
||||||
#define OUT_OF_MEMORY() ((void)printf("Shrinkwrap: Out of memory\n"))
|
#define OUT_OF_MEMORY() ((void)printf("Shrinkwrap: Out of memory\n"))
|
||||||
|
|
||||||
/* get derived mesh */
|
|
||||||
/* TODO is anyfunction that does this? returning the derivedFinal without we caring if its in edit mode or not? */
|
|
||||||
DerivedMesh *object_get_derived_final(Object *ob, bool for_render)
|
|
||||||
{
|
|
||||||
Mesh *me = ob->data;
|
|
||||||
BMEditMesh *em = me->edit_btmesh;
|
|
||||||
|
|
||||||
if (for_render) {
|
|
||||||
/* TODO(sergey): use proper derived render here in the future. */
|
|
||||||
return ob->derivedFinal;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (em) {
|
|
||||||
DerivedMesh *dm = em->derivedFinal;
|
|
||||||
return dm;
|
|
||||||
}
|
|
||||||
|
|
||||||
return ob->derivedFinal;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Space transform */
|
/* Space transform */
|
||||||
void space_transform_from_matrixs(SpaceTransform *data, float local[4][4], float target[4][4])
|
void space_transform_from_matrixs(SpaceTransform *data, float local[4][4], float target[4][4])
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user