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:
Bastien Montagne 2014-08-01 15:42:17 +02:00
parent 59f4ba854b
commit c11777b211
4 changed files with 25 additions and 29 deletions

@ -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])
{ {