363 struct Mesh **r_final);
377 bool calc_active_tangent,
378 const char (*tangent_names)[
MAX_NAME],
379 int tangent_names_len);
typedef float(TangentPoint)[2]
void * DM_get_edge_data_layer(struct DerivedMesh *dm, int type)
void DM_interp_vert_data(struct DerivedMesh *source, struct DerivedMesh *dest, int *src_indices, float *weights, int count, int dest_index)
void DM_copy_vert_data(struct DerivedMesh *source, struct DerivedMesh *dest, int source_index, int dest_index, int count)
void DM_ensure_normals(DerivedMesh *dm)
void * DM_get_poly_data_layer(struct DerivedMesh *dm, int type)
void DM_add_vert_layer(struct DerivedMesh *dm, int type, eCDAllocType alloctype, void *layer)
bool DM_is_valid(DerivedMesh *dm)
void * DM_get_edge_data(struct DerivedMesh *dm, int index, int type)
void * DM_get_vert_data(struct DerivedMesh *dm, int index, int type)
void DM_calc_loop_tangents(DerivedMesh *dm, bool calc_active_tangent, const char(*tangent_names)[MAX_NAME], int tangent_names_len)
void DM_debug_print(DerivedMesh *dm)
void DM_set_only_copy(DerivedMesh *dm, const struct CustomData_MeshMasks *mask)
char * DM_debug_info(DerivedMesh *dm)
void * DM_get_poly_data(struct DerivedMesh *dm, int index, int type)
struct Mesh * editbmesh_get_eval_cage_and_final(struct Depsgraph *depsgraph, struct Scene *scene, struct Object *, struct BMEditMesh *em, const struct CustomData_MeshMasks *dataMask, struct Mesh **r_final)
void DM_init(DerivedMesh *dm, DerivedMeshType type, int numVerts, int numEdges, int numTessFaces, int numLoops, int numPolys)
void makeDerivedMesh(struct Depsgraph *depsgraph, struct Scene *scene, struct Object *ob, struct BMEditMesh *em, const struct CustomData_MeshMasks *dataMask)
void DM_from_template_ex(DerivedMesh *dm, DerivedMesh *source, DerivedMeshType type, int numVerts, int numEdges, int numTessFaces, int numLoops, int numPolys, const struct CustomData_MeshMasks *mask)
void * DM_get_tessface_data_layer(struct DerivedMesh *dm, int type)
bool DM_release(DerivedMesh *dm)
void DM_from_template(DerivedMesh *dm, DerivedMesh *source, DerivedMeshType type, int numVerts, int numEdges, int numTessFaces, int numLoops, int numPolys)
void DM_ensure_looptri_data(DerivedMesh *dm)
struct Mesh * editbmesh_get_eval_cage_from_orig(struct Depsgraph *depsgraph, struct Scene *scene, struct Object *obedit, const struct CustomData_MeshMasks *dataMask)
void * DM_get_tessface_data(struct DerivedMesh *dm, int index, int type)
void * DM_get_vert_data_layer(struct DerivedMesh *dm, int type)
struct Mesh * editbmesh_get_eval_cage(struct Depsgraph *depsgraph, struct Scene *scene, struct Object *, struct BMEditMesh *em, const struct CustomData_MeshMasks *dataMask)
bool editbmesh_modifier_is_enabled(struct Scene *scene, const struct Object *ob, struct ModifierData *md, bool has_prev_mesh)
void DM_DupPolys(DerivedMesh *source, DerivedMesh *target)
void mesh_get_mapped_verts_coords(struct Mesh *me_eval, float(*r_cos)[3], const int totcos)
struct DMFlagMat DMFlagMat
void * DM_get_loop_data_layer(struct DerivedMesh *dm, int type)
void DM_init_funcs(DerivedMesh *dm)
void DM_add_tessface_layer(struct DerivedMesh *dm, int type, eCDAllocType alloctype, void *layer)
void DM_add_loop_layer(DerivedMesh *dm, int type, eCDAllocType alloctype, void *layer)
float(* editbmesh_vert_coords_alloc(struct BMEditMesh *em, int *r_vert_len))[3]
void DM_add_edge_layer(struct DerivedMesh *dm, int type, eCDAllocType alloctype, void *layer)
void DM_add_poly_layer(struct DerivedMesh *dm, int type, eCDAllocType alloctype, void *layer)
CustomData interface, see also DNA_customdata_types.h.
struct Depsgraph Depsgraph
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
const Depsgraph * depsgraph
struct DerivedMesh::@15 looptris
int(* getGridSize)(DerivedMesh *dm)
void(* getVertNo)(DerivedMesh *dm, int index, float r_no[3])
void(* copyLoopArray)(DerivedMesh *dm, struct MLoop *r_loop)
void(* copyEdgeArray)(DerivedMesh *dm, struct MEdge *r_edge)
int(* getNumVerts)(DerivedMesh *dm)
int(* getNumLoopTri)(DerivedMesh *dm)
void(* copyPolyArray)(DerivedMesh *dm, struct MPoly *r_poly)
int(* getNumPolys)(DerivedMesh *dm)
int(* getNumEdges)(DerivedMesh *dm)
int(* getNumGrids)(DerivedMesh *dm)
int(* getNumTessFaces)(DerivedMesh *dm)
struct MLoopTri * array_wip
void(* copyVertArray)(DerivedMesh *dm, struct MVert *r_vert)
void(* getVert)(DerivedMesh *dm, int index, struct MVert *r_vert)
void(* calcNormals)(DerivedMesh *dm)
void(* getGridKey)(DerivedMesh *dm, struct CCGKey *key)
void(* copyTessFaceArray)(DerivedMesh *dm, struct MFace *r_face)
void(* getEdge)(DerivedMesh *dm, int index, struct MEdge *r_edge)
void(* recalcLoopTri)(DerivedMesh *dm)
void(* getTessFace)(DerivedMesh *dm, int index, struct MFace *r_face)
void(* release)(DerivedMesh *dm)
void(* getVertCo)(DerivedMesh *dm, int index, float r_co[3])
void(* getPolyNo)(DerivedMesh *dm, int index, float r_no[3])
int(* getNumLoops)(DerivedMesh *dm)
ccl_device_inline float4 mask(const int4 &mask, const float4 &a)