|
Blender
V2.59
|
#include <string.h>#include "MEM_guardedalloc.h"#include "DNA_cloth_types.h"#include "DNA_key_types.h"#include "DNA_meshdata_types.h"#include "DNA_object_types.h"#include "DNA_scene_types.h"#include "BLI_blenlib.h"#include "BLI_editVert.h"#include "BLI_math.h"#include "BLI_memarena.h"#include "BLI_pbvh.h"#include "BLI_utildefines.h"#include "BKE_cdderivedmesh.h"#include "BKE_displist.h"#include "BKE_key.h"#include "BKE_modifier.h"#include "BKE_mesh.h"#include "BKE_object.h"#include "BKE_paint.h"#include "BKE_texture.h"#include "BKE_multires.h"#include "BLO_sys_types.h"#include "BIF_gl.h"#include "BIF_glutil.h"#include "GPU_buffers.h"#include "GPU_draw.h"#include "GPU_extensions.h"#include "GPU_material.h"#include "ED_sculpt.h"#include "mikktspace.h"Go to the source code of this file.
Classes | |
| struct | EditMeshDerivedMesh |
| struct | SGLSLMeshToTangent |
Defines | |
| #define | PASSATTRIB(efa, eve, vert) |
Functions | |
| static MVert * | dm_getVertArray (DerivedMesh *dm) |
| static MEdge * | dm_getEdgeArray (DerivedMesh *dm) |
| static MFace * | dm_getFaceArray (DerivedMesh *dm) |
| static MVert * | dm_dupVertArray (DerivedMesh *dm) |
| static MEdge * | dm_dupEdgeArray (DerivedMesh *dm) |
| static MFace * | dm_dupFaceArray (DerivedMesh *dm) |
| void | DM_init_funcs (DerivedMesh *dm) |
| void | DM_init (DerivedMesh *dm, DerivedMeshType type, int numVerts, int numEdges, int numFaces) |
| void | DM_from_template (DerivedMesh *dm, DerivedMesh *source, DerivedMeshType type, int numVerts, int numEdges, int numFaces) |
| int | DM_release (DerivedMesh *dm) |
| void | DM_to_mesh (DerivedMesh *dm, Mesh *me) |
| void | DM_to_meshkey (DerivedMesh *dm, Mesh *me, KeyBlock *kb) |
| void | DM_set_only_copy (DerivedMesh *dm, CustomDataMask mask) |
| void | DM_add_vert_layer (DerivedMesh *dm, int type, int alloctype, void *layer) |
| void | DM_add_edge_layer (DerivedMesh *dm, int type, int alloctype, void *layer) |
| void | DM_add_face_layer (DerivedMesh *dm, int type, int alloctype, void *layer) |
| void * | DM_get_vert_data (DerivedMesh *dm, int index, int type) |
| void * | DM_get_edge_data (DerivedMesh *dm, int index, int type) |
| void * | DM_get_face_data (DerivedMesh *dm, int index, int type) |
| void * | DM_get_vert_data_layer (DerivedMesh *dm, int type) |
| void * | DM_get_edge_data_layer (DerivedMesh *dm, int type) |
| void * | DM_get_face_data_layer (DerivedMesh *dm, int type) |
| void | DM_set_vert_data (DerivedMesh *dm, int index, int type, void *data) |
| void | DM_set_edge_data (DerivedMesh *dm, int index, int type, void *data) |
| void | DM_set_face_data (DerivedMesh *dm, int index, int type, void *data) |
| void | DM_copy_vert_data (DerivedMesh *source, DerivedMesh *dest, int source_index, int dest_index, int count) |
| void | DM_copy_edge_data (DerivedMesh *source, DerivedMesh *dest, int source_index, int dest_index, int count) |
| void | DM_copy_face_data (DerivedMesh *source, DerivedMesh *dest, int source_index, int dest_index, int count) |
| void | DM_free_vert_data (struct DerivedMesh *dm, int index, int count) |
| void | DM_free_edge_data (struct DerivedMesh *dm, int index, int count) |
| void | DM_free_face_data (struct DerivedMesh *dm, int index, int count) |
| void | DM_interp_vert_data (DerivedMesh *source, DerivedMesh *dest, int *src_indices, float *weights, int count, int dest_index) |
| void | DM_interp_edge_data (DerivedMesh *source, DerivedMesh *dest, int *src_indices, float *weights, EdgeVertWeight *vert_weights, int count, int dest_index) |
| void | DM_interp_face_data (DerivedMesh *source, DerivedMesh *dest, int *src_indices, float *weights, FaceVertWeight *vert_weights, int count, int dest_index) |
| void | DM_swap_face_data (DerivedMesh *dm, int index, const int *corner_indices) |
| DerivedMesh * | mesh_create_derived (Mesh *me, Object *ob, float(*vertCos)[3]) |
| static void | emDM_foreachMappedVert (DerivedMesh *dm, void(*func)(void *userData, int index, float *co, float *no_f, short *no_s), void *userData) |
| static void | emDM_foreachMappedEdge (DerivedMesh *dm, void(*func)(void *userData, int index, float *v0co, float *v1co), void *userData) |
| static void | emDM_drawMappedEdges (DerivedMesh *dm, int(*setDrawOptions)(void *userData, int index), void *userData) |
| static void | emDM_drawEdges (DerivedMesh *dm, int UNUSED(drawLooseEdges), int UNUSED(drawAllEdges)) |
| static void | emDM_drawMappedEdgesInterp (DerivedMesh *dm, int(*setDrawOptions)(void *userData, int index), void(*setDrawInterpOptions)(void *userData, int index, float t), void *userData) |
| static void | emDM_drawUVEdges (DerivedMesh *dm) |
| static void | emDM__calcFaceCent (EditFace *efa, float cent[3], float(*vertexCos)[3]) |
| static void | emDM_foreachMappedFaceCenter (DerivedMesh *dm, void(*func)(void *userData, int index, float *co, float *no), void *userData) |
| static void | emDM_drawMappedFaces (DerivedMesh *dm, int(*setDrawOptions)(void *userData, int index, int *drawSmooth_r), void *userData, int UNUSED(useColors), int(*setMaterial)(int, void *attribs)) |
| static void | emDM_drawFacesTex_common (DerivedMesh *dm, int(*drawParams)(MTFace *tface, MCol *mcol, int matnr), int(*drawParamsMapped)(void *userData, int index), void *userData) |
| static void | emDM_drawFacesTex (DerivedMesh *dm, int(*setDrawOptions)(MTFace *tface, MCol *mcol, int matnr)) |
| static void | emDM_drawMappedFacesTex (DerivedMesh *dm, int(*setDrawOptions)(void *userData, int index), void *userData) |
| static void | emDM_drawMappedFacesGLSL (DerivedMesh *dm, int(*setMaterial)(int, void *attribs), int(*setDrawOptions)(void *userData, int index), void *userData) |
| static void | emDM_drawFacesGLSL (DerivedMesh *dm, int(*setMaterial)(int, void *attribs)) |
| static void | emDM_getMinMax (DerivedMesh *dm, float min_r[3], float max_r[3]) |
| static int | emDM_getNumVerts (DerivedMesh *dm) |
| static int | emDM_getNumEdges (DerivedMesh *dm) |
| static int | emDM_getNumFaces (DerivedMesh *dm) |
| static void | emDM_getVertCos (DerivedMesh *dm, float(*cos_r)[3]) |
| static void | emDM_getVert (DerivedMesh *dm, int index, MVert *vert_r) |
| static void | emDM_getEdge (DerivedMesh *dm, int index, MEdge *edge_r) |
| static void | emDM_getFace (DerivedMesh *dm, int index, MFace *face_r) |
| static void | emDM_copyVertArray (DerivedMesh *dm, MVert *vert_r) |
| static void | emDM_copyEdgeArray (DerivedMesh *dm, MEdge *edge_r) |
| static void | emDM_copyFaceArray (DerivedMesh *dm, MFace *face_r) |
| static void * | emDM_getFaceDataArray (DerivedMesh *dm, int type) |
| static void | emDM_release (DerivedMesh *dm) |
| DerivedMesh * | editmesh_get_derived (EditMesh *em, float(*vertexCos)[3]) |
| DerivedMesh * | mesh_create_derived_for_modifier (Scene *scene, Object *ob, ModifierData *md) |
| static float * | get_editmesh_orco_verts (EditMesh *em) |
| static void * | get_orco_coords_dm (Object *ob, EditMesh *em, int layer, int *free) |
| static DerivedMesh * | create_orco_dm (Object *ob, Mesh *me, EditMesh *em, int layer) |
| static void | add_orco_dm (Object *ob, EditMesh *em, DerivedMesh *dm, DerivedMesh *orcodm, int layer) |
| void | weight_to_rgb (float input, float *fr, float *fg, float *fb) |
| static void | calc_weightpaint_vert_color (Object *ob, ColorBand *coba, int vert, unsigned char *col) |
| void | vDM_ColorBand_store (ColorBand *coba) |
| static void | add_weight_mcol_dm (Object *ob, DerivedMesh *dm) |
| static void | mesh_calc_modifiers (Scene *scene, Object *ob, float(*inputVertexCos)[3], DerivedMesh **deform_r, DerivedMesh **final_r, int useRenderParams, int useDeform, int needMapping, CustomDataMask dataMask, int index, int useCache) |
| float(* | editmesh_get_vertex_cos (EditMesh *em, int *numVerts_r))[3] |
| int | editmesh_modifier_is_enabled (Scene *scene, ModifierData *md, DerivedMesh *dm) |
| static void | editmesh_calc_modifiers (Scene *scene, Object *ob, EditMesh *em, DerivedMesh **cage_r, DerivedMesh **final_r, CustomDataMask dataMask) |
| static void | clear_mesh_caches (Object *ob) |
| static void | mesh_build_data (Scene *scene, Object *ob, CustomDataMask dataMask) |
| static void | editmesh_build_data (Scene *scene, Object *obedit, EditMesh *em, CustomDataMask dataMask) |
| void | makeDerivedMesh (Scene *scene, Object *ob, EditMesh *em, CustomDataMask dataMask) |
| DerivedMesh * | mesh_get_derived_final (Scene *scene, Object *ob, CustomDataMask dataMask) |
| DerivedMesh * | mesh_get_derived_deform (Scene *scene, Object *ob, CustomDataMask dataMask) |
| DerivedMesh * | mesh_create_derived_render (Scene *scene, Object *ob, CustomDataMask dataMask) |
| DerivedMesh * | mesh_create_derived_index_render (Scene *scene, Object *ob, CustomDataMask dataMask, int index) |
| DerivedMesh * | mesh_create_derived_view (Scene *scene, Object *ob, CustomDataMask dataMask) |
| DerivedMesh * | mesh_create_derived_no_deform (Scene *scene, Object *ob, float(*vertCos)[3], CustomDataMask dataMask) |
| DerivedMesh * | mesh_create_derived_no_virtual (Scene *scene, Object *ob, float(*vertCos)[3], CustomDataMask dataMask) |
| DerivedMesh * | mesh_create_derived_physics (Scene *scene, Object *ob, float(*vertCos)[3], CustomDataMask dataMask) |
| DerivedMesh * | mesh_create_derived_no_deform_render (Scene *scene, Object *ob, float(*vertCos)[3], CustomDataMask dataMask) |
| DerivedMesh * | editmesh_get_derived_cage_and_final (Scene *scene, Object *obedit, EditMesh *em, DerivedMesh **final_r, CustomDataMask dataMask) |
| DerivedMesh * | editmesh_get_derived_cage (Scene *scene, Object *obedit, EditMesh *em, CustomDataMask dataMask) |
| DerivedMesh * | editmesh_get_derived_base (Object *UNUSED(obedit), EditMesh *em) |
| static void | make_vertexcosnos__mapFunc (void *userData, int index, float *co, float *no_f, short *no_s) |
| float * | mesh_get_mapped_verts_nors (Scene *scene, Object *ob) |
| static int | GetNumFaces (const SMikkTSpaceContext *pContext) |
| static int | GetNumVertsOfFace (const SMikkTSpaceContext *pContext, const int face_num) |
| static void | GetPosition (const SMikkTSpaceContext *pContext, float fPos[], const int face_num, const int vert_index) |
| static void | GetTextureCoordinate (const SMikkTSpaceContext *pContext, float fUV[], const int face_num, const int vert_index) |
| static void | GetNormal (const SMikkTSpaceContext *pContext, float fNorm[], const int face_num, const int vert_index) |
| static void | SetTSpace (const SMikkTSpaceContext *pContext, const float fvTangent[], const float fSign, const int face_num, const int iVert) |
| void | DM_add_tangent_layer (DerivedMesh *dm) |
| void | DM_vertex_attributes_from_gpu (DerivedMesh *dm, GPUVertexAttribs *gattribs, DMVertexAttribs *attribs) |
| void | DM_set_object_boundbox (Object *ob, DerivedMesh *dm) |
Variables | |
| static ColorBand * | stored_cb = NULL |
Definition in file DerivedMesh.c.
| #define PASSATTRIB | ( | efa, | |
| eve, | |||
| vert | |||
| ) |
{ \
if(attribs.totorco) { \
float *orco = attribs.orco.array[eve->tmp.l]; \
glVertexAttrib3fvARB(attribs.orco.glIndex, orco); \
} \
for(b = 0; b < attribs.tottface; b++) { \
MTFace *_tf = (MTFace*)((char*)efa->data + attribs.tface[b].emOffset); \
glVertexAttrib2fvARB(attribs.tface[b].glIndex, _tf->uv[vert]); \
} \
for(b = 0; b < attribs.totmcol; b++) { \
MCol *cp = (MCol*)((char*)efa->data + attribs.mcol[b].emOffset); \
GLubyte col[4]; \
col[0]= cp->b; col[1]= cp->g; col[2]= cp->r; col[3]= cp->a; \
glVertexAttrib4ubvARB(attribs.mcol[b].glIndex, col); \
} \
if(attribs.tottang) { \
float *tang = attribs.tang.array[i*4 + vert]; \
glVertexAttrib4fvARB(attribs.tang.glIndex, tang); \
} \
}
Referenced by ccgDM_drawMappedFacesGLSL(), and emDM_drawMappedFacesGLSL().
| static void add_orco_dm | ( | Object * | ob, |
| EditMesh * | em, | ||
| DerivedMesh * | dm, | ||
| DerivedMesh * | orcodm, | ||
| int | layer | ||
| ) | [static] |
Definition at line 1536 of file DerivedMesh.c.
References CD_CALLOC, CD_ORCO, Object::data, DM_add_vert_layer(), DM_get_vert_data_layer(), get_orco_coords_dm(), DerivedMesh::getNumVerts, DerivedMesh::getVertCos, MEM_callocN(), MEM_freeN(), NULL, and transform_mesh_orco_verts().
Referenced by editmesh_calc_modifiers(), and mesh_calc_modifiers().
| static void add_weight_mcol_dm | ( | Object * | ob, |
| DerivedMesh * | dm | ||
| ) | [static] |
Definition at line 1637 of file DerivedMesh.c.
References calc_weightpaint_vert_color(), CD_ASSIGN, CD_WEIGHT_MCOL, CustomData_add_layer(), Object::data, DerivedMesh::faceData, i, MEM_callocN(), Mesh::mface, DerivedMesh::numFaceData, stored_cb, Mesh::totface, MFace::v1, MFace::v2, MFace::v3, and MFace::v4.
Referenced by mesh_calc_modifiers().
| static void calc_weightpaint_vert_color | ( | Object * | ob, |
| ColorBand * | coba, | ||
| int | vert, | ||
| unsigned char * | col | ||
| ) | [static] |
Definition at line 1605 of file DerivedMesh.c.
References Object::actdef, CLAMP(), Object::data, MDeformWeight::def_nr, do_colorband(), Mesh::dvert, MDeformVert::dw, i, MDeformVert::totweight, MDeformWeight::weight, and weight_to_rgb().
Referenced by add_weight_mcol_dm().
| static void clear_mesh_caches | ( | Object * | ob | ) | [static] |
Definition at line 2224 of file DerivedMesh.c.
References Mesh::bb, Object::bb, Object::data, Object::derivedDeform, Object::derivedFinal, Object::disp, ED_sculpt_modifiers_changed(), freedisplist(), MEM_freeN(), DerivedMesh::needsFree, NULL, DerivedMesh::release, and Object::sculpt.
Referenced by editmesh_build_data(), and mesh_build_data().
| static DerivedMesh* create_orco_dm | ( | Object * | ob, |
| Mesh * | me, | ||
| EditMesh * | em, | ||
| int | layer | ||
| ) | [static] |
Definition at line 1515 of file DerivedMesh.c.
References CDDM_apply_vert_coords(), CDDM_calc_normals(), CDDM_from_editmesh(), CDDM_from_mesh(), get_orco_coords_dm(), and MEM_freeN().
Referenced by editmesh_calc_modifiers(), and mesh_calc_modifiers().
| void DM_add_edge_layer | ( | DerivedMesh * | dm, |
| int | type, | ||
| int | alloctype, | ||
| void * | layer | ||
| ) |
Definition at line 307 of file DerivedMesh.c.
References CustomData_add_layer(), DerivedMesh::edgeData, and DerivedMesh::numEdgeData.
Referenced by ccgDM_get_edge_data_layer(), and mesh_calc_modifiers().
| void DM_add_face_layer | ( | DerivedMesh * | dm, |
| int | type, | ||
| int | alloctype, | ||
| void * | layer | ||
| ) |
Definition at line 312 of file DerivedMesh.c.
References CustomData_add_layer(), DerivedMesh::faceData, and DerivedMesh::numFaceData.
Referenced by ccgDM_get_face_data_layer(), DM_add_tangent_layer(), editmesh_calc_modifiers(), emDM_getFaceDataArray(), and mesh_calc_modifiers().
| void DM_add_tangent_layer | ( | DerivedMesh * | dm | ) |
Definition at line 2584 of file DerivedMesh.c.
References BLI_memarena_free(), BLI_memarena_new(), BLI_MEMARENA_STD_BUFSIZE, BLI_memarena_use_calloc(), CD_CALLOC, CD_MTFACE, CD_NORMAL, CD_ORCO, CD_TANGENT, MVert::co, CustomData_get_layer_index(), DM_add_face_layer(), DM_get_face_data_layer(), DerivedMesh::faceData, find_vertex_tangent(), genTangSpaceDefault(), DerivedMesh::getFaceArray, DerivedMesh::getFaceDataArray, GetNormal(), DerivedMesh::getNumFaces, GetNumFaces(), DerivedMesh::getNumVerts, GetNumVertsOfFace(), GetPosition(), GetTextureCoordinate(), DerivedMesh::getVertArray, DerivedMesh::getVertDataArray, i, SMikkTSpaceInterface::m_getNormal, SMikkTSpaceInterface::m_getNumFaces, SMikkTSpaceInterface::m_getNumVerticesOfFace, SMikkTSpaceInterface::m_getPosition, SMikkTSpaceInterface::m_getTexCoord, SMikkTSpaceContext::m_pInterface, SMikkTSpaceContext::m_pUserData, SMikkTSpaceInterface::m_setTSpaceBasic, map_to_sphere(), MEM_callocN(), MEM_freeN(), SGLSLMeshToTangent::mface, SGLSLMeshToTangent::mtface, SGLSLMeshToTangent::mvert, normal_quad_v3(), normal_tri_v3(), normalize_v3_v3(), NULL, SGLSLMeshToTangent::numFaces, SGLSLMeshToTangent::orco, SGLSLMeshToTangent::precomputedFaceNormals, SetTSpace(), sum_or_add_vertex_tangent(), SGLSLMeshToTangent::tangent, tangent_from_uv(), MTFace::uv, MFace::v1, MFace::v2, MFace::v3, and MFace::v4.
Referenced by BL_ConvertMesh(), DM_vertex_attributes_from_gpu(), do_multires_bake(), and init_render_mesh().
| void DM_add_vert_layer | ( | DerivedMesh * | dm, |
| int | type, | ||
| int | alloctype, | ||
| void * | layer | ||
| ) |
Definition at line 302 of file DerivedMesh.c.
References CustomData_add_layer(), DerivedMesh::numVertData, and DerivedMesh::vertData.
Referenced by add_orco_dm(), ccgDM_get_vert_data_layer(), distribute_threads_init_data(), do_hair_dynamics(), editmesh_get_derived(), get_dm(), and mesh_calc_modifiers().
| void DM_copy_edge_data | ( | DerivedMesh * | source, |
| DerivedMesh * | dest, | ||
| int | source_index, | ||
| int | dest_index, | ||
| int | count | ||
| ) |
Definition at line 378 of file DerivedMesh.c.
References CustomData_copy_data(), and DerivedMesh::edgeData.
Referenced by applyModifier(), arrayModifier_doArray(), CDDM_from_smoothmesh(), and doMirrorOnAxis().
| void DM_copy_face_data | ( | DerivedMesh * | source, |
| DerivedMesh * | dest, | ||
| int | source_index, | ||
| int | dest_index, | ||
| int | count | ||
| ) |
Definition at line 385 of file DerivedMesh.c.
References CustomData_copy_data(), and DerivedMesh::faceData.
Referenced by applyModifier(), arrayModifier_doArray(), CDDM_from_smoothmesh(), doMirrorOnAxis(), explodeMesh(), and get_dface().
| void DM_copy_vert_data | ( | DerivedMesh * | source, |
| DerivedMesh * | dest, | ||
| int | source_index, | ||
| int | dest_index, | ||
| int | count | ||
| ) |
Definition at line 371 of file DerivedMesh.c.
References CustomData_copy_data(), and DerivedMesh::vertData.
Referenced by applyModifier(), arrayModifier_doArray(), CDDM_from_smoothmesh(), cutEdges(), doMirrorOnAxis(), explodeMesh(), and getCCGDerivedMesh().
| static MEdge* dm_dupEdgeArray | ( | DerivedMesh * | dm | ) | [static] |
Definition at line 131 of file DerivedMesh.c.
References DerivedMesh::copyEdgeArray, DerivedMesh::getNumEdges, and MEM_callocN().
Referenced by DM_init_funcs().
| static MFace* dm_dupFaceArray | ( | DerivedMesh * | dm | ) | [static] |
Definition at line 141 of file DerivedMesh.c.
References DerivedMesh::copyFaceArray, DerivedMesh::getNumFaces, and MEM_callocN().
Referenced by DM_init_funcs().
| static MVert* dm_dupVertArray | ( | DerivedMesh * | dm | ) | [static] |
Definition at line 121 of file DerivedMesh.c.
References DerivedMesh::copyVertArray, DerivedMesh::getNumVerts, and MEM_callocN().
Referenced by DM_init_funcs().
| void DM_free_edge_data | ( | struct DerivedMesh * | dm, |
| int | index, | ||
| int | count | ||
| ) |
Definition at line 397 of file DerivedMesh.c.
References CustomData_free_elem(), and DerivedMesh::edgeData.
| void DM_free_face_data | ( | struct DerivedMesh * | dm, |
| int | index, | ||
| int | count | ||
| ) |
Definition at line 402 of file DerivedMesh.c.
References CustomData_free_elem(), and DerivedMesh::faceData.
Referenced by arrayModifier_doArray().
| void DM_free_vert_data | ( | struct DerivedMesh * | dm, |
| int | index, | ||
| int | count | ||
| ) |
Definition at line 392 of file DerivedMesh.c.
References CustomData_free_elem(), and DerivedMesh::vertData.
Referenced by arrayModifier_doArray().
| void DM_from_template | ( | DerivedMesh * | dm, |
| DerivedMesh * | source, | ||
| DerivedMeshType | type, | ||
| int | numVerts, | ||
| int | numEdges, | ||
| int | numFaces | ||
| ) |
Definition at line 184 of file DerivedMesh.c.
References CD_CALLOC, CD_MASK_DERIVEDMESH, CustomData_copy(), DM_init_funcs(), DerivedMesh::edgeData, DerivedMesh::faceData, DerivedMesh::needsFree, DerivedMesh::numEdgeData, DerivedMesh::numFaceData, DerivedMesh::numVertData, DerivedMesh::type, and DerivedMesh::vertData.
Referenced by CDDM_copy(), CDDM_from_template(), and getCCGDerivedMesh().
| void* DM_get_edge_data | ( | DerivedMesh * | dm, |
| int | index, | ||
| int | type | ||
| ) |
Definition at line 322 of file DerivedMesh.c.
References CustomData_get(), and DerivedMesh::edgeData.
Referenced by cdDM_create(), DM_init_funcs(), and getCCGDerivedMesh().
| void* DM_get_edge_data_layer | ( | DerivedMesh * | dm, |
| int | type | ||
| ) |
Definition at line 340 of file DerivedMesh.c.
References CD_MEDGE, CustomData_get_layer(), DerivedMesh::edgeData, and DerivedMesh::getEdgeArray.
Referenced by ccgDM_get_edge_data_layer(), cdDM_create(), cdDM_drawMappedEdges(), cdDM_foreachMappedEdge(), DM_init_funcs(), and mesh_calc_modifiers().
| void* DM_get_face_data | ( | DerivedMesh * | dm, |
| int | index, | ||
| int | type | ||
| ) |
Definition at line 327 of file DerivedMesh.c.
References CustomData_get(), and DerivedMesh::faceData.
Referenced by cdDM_create(), DM_init_funcs(), and getCCGDerivedMesh().
| void* DM_get_face_data_layer | ( | DerivedMesh * | dm, |
| int | type | ||
| ) |
Definition at line 348 of file DerivedMesh.c.
References CD_MFACE, CustomData_get_layer(), DerivedMesh::faceData, and DerivedMesh::getFaceArray.
Referenced by add_tface_color_layer(), ccgDM_drawFacesTex_common(), ccgDM_drawUVEdges(), ccgDM_get_face_data_layer(), cdDM_create(), cdDM_drawFacesTex_common(), cdDM_drawMappedFaces(), cdDM_drawUVEdges(), cdDM_foreachMappedFaceCenter(), DM_add_tangent_layer(), DM_init_funcs(), do_multires_bake(), emDM_getFaceDataArray(), gpu_buffer_color_type(), GPU_buffer_copy_uv(), GPU_buffer_copy_uvedge(), gpu_buffer_setup_type(), and mesh_calc_modifiers().
| void* DM_get_vert_data | ( | DerivedMesh * | dm, |
| int | index, | ||
| int | type | ||
| ) |
Definition at line 317 of file DerivedMesh.c.
References CustomData_get(), and DerivedMesh::vertData.
Referenced by cdDM_create(), DM_init_funcs(), doMirrorOnAxis(), and getCCGDerivedMesh().
| void* DM_get_vert_data_layer | ( | DerivedMesh * | dm, |
| int | type | ||
| ) |
Definition at line 332 of file DerivedMesh.c.
References CD_MVERT, CustomData_get_layer(), DerivedMesh::getVertArray, and DerivedMesh::vertData.
Referenced by add_orco_dm(), ccgDM_get_vert_data_layer(), cdDM_create(), cdDM_foreachMappedVert(), DM_init_funcs(), do_hair_dynamics(), mesh_calc_modifiers(), psys_face_mat(), and psys_mat_hair_to_orco().
| static MEdge* dm_getEdgeArray | ( | DerivedMesh * | dm | ) | [static] |
Definition at line 93 of file DerivedMesh.c.
References CD_CALLOC, CD_FLAG_TEMPORARY, CD_MEDGE, DerivedMesh::copyEdgeArray, CustomData_add_layer(), CustomData_get_layer(), CustomData_set_layer_flag(), DerivedMesh::edgeData, DerivedMesh::getNumEdges, and NULL.
Referenced by DM_init_funcs().
| static MFace* dm_getFaceArray | ( | DerivedMesh * | dm | ) | [static] |
Definition at line 107 of file DerivedMesh.c.
References CD_CALLOC, CD_FLAG_TEMPORARY, CD_MFACE, DerivedMesh::copyFaceArray, CustomData_add_layer(), CustomData_get_layer(), CustomData_set_layer_flag(), DerivedMesh::faceData, DerivedMesh::getNumFaces, and NULL.
Referenced by DM_init_funcs().
| static MVert* dm_getVertArray | ( | DerivedMesh * | dm | ) | [static] |
Definition at line 79 of file DerivedMesh.c.
References CD_CALLOC, CD_FLAG_TEMPORARY, CD_MVERT, DerivedMesh::copyVertArray, CustomData_add_layer(), CustomData_get_layer(), CustomData_set_layer_flag(), DerivedMesh::getNumVerts, NULL, and DerivedMesh::vertData.
Referenced by DM_init_funcs().
| void DM_init | ( | DerivedMesh * | dm, |
| DerivedMeshType | type, | ||
| int | numVerts, | ||
| int | numEdges, | ||
| int | numFaces | ||
| ) |
Definition at line 171 of file DerivedMesh.c.
References DM_init_funcs(), DerivedMesh::needsFree, DerivedMesh::numEdgeData, DerivedMesh::numFaceData, DerivedMesh::numVertData, and DerivedMesh::type.
Referenced by CDDM_from_mesh(), CDDM_new(), and editmesh_get_derived().
| void DM_init_funcs | ( | DerivedMesh * | dm | ) |
Definition at line 151 of file DerivedMesh.c.
References DerivedMesh::bvhCache, bvhcache_init(), dm_dupEdgeArray(), dm_dupFaceArray(), dm_dupVertArray(), DM_get_edge_data(), DM_get_edge_data_layer(), DM_get_face_data(), DM_get_face_data_layer(), DM_get_vert_data(), DM_get_vert_data_layer(), dm_getEdgeArray(), dm_getFaceArray(), dm_getVertArray(), DerivedMesh::dupEdgeArray, DerivedMesh::dupFaceArray, DerivedMesh::dupVertArray, DerivedMesh::getEdgeArray, DerivedMesh::getEdgeData, DerivedMesh::getEdgeDataArray, DerivedMesh::getFaceArray, DerivedMesh::getFaceData, DerivedMesh::getFaceDataArray, DerivedMesh::getVertArray, DerivedMesh::getVertData, and DerivedMesh::getVertDataArray.
Referenced by DM_from_template(), and DM_init().
| void DM_interp_edge_data | ( | DerivedMesh * | source, |
| DerivedMesh * | dest, | ||
| int * | src_indices, | ||
| float * | weights, | ||
| EdgeVertWeight * | vert_weights, | ||
| int | count, | ||
| int | dest_index | ||
| ) |
Definition at line 415 of file DerivedMesh.c.
References CustomData_interp(), and DerivedMesh::edgeData.
| void DM_interp_face_data | ( | DerivedMesh * | source, |
| DerivedMesh * | dest, | ||
| int * | src_indices, | ||
| float * | weights, | ||
| FaceVertWeight * | vert_weights, | ||
| int | count, | ||
| int | dest_index | ||
| ) |
Definition at line 424 of file DerivedMesh.c.
References CustomData_interp(), and DerivedMesh::faceData.
Referenced by getCCGDerivedMesh().
| void DM_interp_vert_data | ( | DerivedMesh * | source, |
| DerivedMesh * | dest, | ||
| int * | src_indices, | ||
| float * | weights, | ||
| int | count, | ||
| int | dest_index | ||
| ) |
Definition at line 407 of file DerivedMesh.c.
References CustomData_interp(), NULL, and DerivedMesh::vertData.
Referenced by getCCGDerivedMesh().
| int DM_release | ( | DerivedMesh * | dm | ) |
Definition at line 204 of file DerivedMesh.c.
References DerivedMesh::bvhCache, bvhcache_free(), CustomData_free(), CustomData_free_temporary(), DerivedMesh::edgeData, DerivedMesh::faceData, GPU_drawobject_free(), DerivedMesh::needsFree, DerivedMesh::numEdgeData, DerivedMesh::numFaceData, DerivedMesh::numVertData, and DerivedMesh::vertData.
Referenced by ccgDM_release(), cdDM_release(), and emDM_release().
| void DM_set_edge_data | ( | DerivedMesh * | dm, |
| int | index, | ||
| int | type, | ||
| void * | data | ||
| ) |
Definition at line 361 of file DerivedMesh.c.
References CustomData_set(), and DerivedMesh::edgeData.
| void DM_set_face_data | ( | DerivedMesh * | dm, |
| int | index, | ||
| int | type, | ||
| void * | data | ||
| ) |
Definition at line 366 of file DerivedMesh.c.
References CustomData_set(), and DerivedMesh::faceData.
| void DM_set_object_boundbox | ( | Object * | ob, |
| DerivedMesh * | dm | ||
| ) |
Definition at line 2816 of file DerivedMesh.c.
References Object::bb, boundbox_set_from_min_max(), DerivedMesh::getMinMax, INIT_MINMAX, max, MEM_callocN(), and min.
Referenced by editmesh_build_data(), makeDispListCurveTypes(), and mesh_build_data().
| void DM_set_only_copy | ( | DerivedMesh * | dm, |
| CustomDataMask | mask | ||
| ) |
Definition at line 295 of file DerivedMesh.c.
References CustomData_set_only_copy(), DerivedMesh::edgeData, DerivedMesh::faceData, and DerivedMesh::vertData.
Referenced by editmesh_calc_modifiers(), mesh_calc_modifiers(), multires_subdivide(), multiresModifier_base_apply(), and multiresModifier_update().
| void DM_set_vert_data | ( | DerivedMesh * | dm, |
| int | index, | ||
| int | type, | ||
| void * | data | ||
| ) |
Definition at line 356 of file DerivedMesh.c.
References CustomData_set(), and DerivedMesh::vertData.
Referenced by editmesh_get_derived().
| void DM_swap_face_data | ( | DerivedMesh * | dm, |
| int | index, | ||
| const int * | corner_indices | ||
| ) |
Definition at line 433 of file DerivedMesh.c.
References CustomData_swap(), and DerivedMesh::faceData.
Referenced by applyModifier(), and doMirrorOnAxis().
| void DM_to_mesh | ( | DerivedMesh * | dm, |
| Mesh * | me | ||
| ) |
Definition at line 224 of file DerivedMesh.c.
References CD_ASSIGN, CD_DUPLICATE, CD_MASK_MESH, CD_MDISPS, CD_MEDGE, CD_MFACE, CD_MVERT, CustomData_add_layer(), CustomData_copy(), CustomData_free(), CustomData_get_layer(), CustomData_has_layer(), DerivedMesh::dupEdgeArray, DerivedMesh::dupFaceArray, DerivedMesh::dupVertArray, DerivedMesh::edgeData, DerivedMesh::faceData, Mesh::fdata, DerivedMesh::getNumEdges, DerivedMesh::getNumFaces, DerivedMesh::getNumVerts, Key::id, Mesh::key, mesh_update_customdata_pointers(), NULL, Mesh::totedge, Mesh::totface, Mesh::totvert, ID::us, and DerivedMesh::vertData.
Referenced by convert_exec(), modifier_apply_obdata(), NewBooleanMesh(), and nurbs_to_mesh().
| void DM_to_meshkey | ( | DerivedMesh * | dm, |
| Mesh * | me, | ||
| KeyBlock * | kb | ||
| ) |
Definition at line 275 of file DerivedMesh.c.
References CD_MVERT, MVert::co, KeyBlock::data, Key::elemsize, DerivedMesh::getNumVerts, DerivedMesh::getVertDataArray, Mesh::key, MEM_callocN(), MEM_freeN(), KeyBlock::totelem, Mesh::totvert, and VECCOPY.
Referenced by join_mesh_shapes_exec(), and modifier_apply_shape().
| void DM_vertex_attributes_from_gpu | ( | DerivedMesh * | dm, |
| GPUVertexAttribs * | gattribs, | ||
| DMVertexAttribs * | attribs | ||
| ) |
Definition at line 2729 of file DerivedMesh.c.
References DMVertexAttribs::array, CD_MCOL, CD_MTFACE, CD_ORCO, CD_TANGENT, CustomData_get_active_layer_index(), CustomData_get_layer_index(), CustomData_get_named_layer_index(), CustomDataLayer::data, DM_add_tangent_layer(), emDM_release(), DMVertexAttribs::emOffset, DerivedMesh::faceData, GPUVertexAttribs::glindex, DMVertexAttribs::glIndex, GPUVertexAttribs::layer, CustomData::layers, DMVertexAttribs::mcol, GPUVertexAttribs::name, NULL, CustomDataLayer::offset, DMVertexAttribs::orco, DerivedMesh::release, DMVertexAttribs::tang, DMVertexAttribs::tface, GPUVertexAttribs::totlayer, DMVertexAttribs::totmcol, DMVertexAttribs::totorco, DMVertexAttribs::tottang, DMVertexAttribs::tottface, GPUVertexAttribs::type, and DerivedMesh::vertData.
Referenced by ccgDM_drawMappedFacesGLSL(), cdDM_drawMappedFacesGLSL(), and emDM_drawMappedFacesGLSL().
| static void editmesh_build_data | ( | Scene * | scene, |
| Object * | obedit, | ||
| EditMesh * | em, | ||
| CustomDataMask | dataMask | ||
| ) | [static] |
Definition at line 2276 of file DerivedMesh.c.
References clear_mesh_caches(), EditMesh::derivedCage, EditMesh::derivedFinal, DM_set_object_boundbox(), editmesh_calc_modifiers(), EditMesh::lastDataMask, DerivedMesh::needsFree, NULL, and DerivedMesh::release.
Referenced by editmesh_get_derived_cage(), editmesh_get_derived_cage_and_final(), and makeDerivedMesh().
| static void editmesh_calc_modifiers | ( | Scene * | scene, |
| Object * | ob, | ||
| EditMesh * | em, | ||
| DerivedMesh ** | cage_r, | ||
| DerivedMesh ** | final_r, | ||
| CustomDataMask | dataMask | ||
| ) | [static] |
Definition at line 2038 of file DerivedMesh.c.
References add_orco_dm(), ModifierTypeInfo::applyModifier, ModifierTypeInfo::applyModifierEM, BLI_linklist_free(), CD_DEFAULT, CD_MASK_ORCO, CD_MASK_ORIGINDEX, CD_MASK_ORIGSPACE, CD_ORCO, CD_ORIGSPACE, CDDM_apply_vert_coords(), CDDM_calc_normals(), CDDM_copy(), CDDM_from_editmesh(), create_orco_dm(), CustomData_has_layer(), Object::data, ModifierTypeInfo::deformVerts, ModifierTypeInfo::deformVertsEM, DM_add_face_layer(), DM_set_only_copy(), editmesh_get_derived(), editmesh_get_vertex_cos(), editmesh_modifier_is_enabled(), eModifierMode_Editmode, eModifierMode_Realtime, eModifierTypeType_OnlyDeform, DerivedMesh::faceData, GET_INT_FROM_POINTER, DerivedMesh::getNumVerts, DerivedMesh::getVertCos, i, LinkNode::link, MEM_dupallocN(), MEM_freeN(), MEM_mallocN(), modifiers_calcDataMasks(), modifiers_clearErrors(), modifiers_getCageIndex(), modifiers_getVirtualModifierList(), modifierType_getInfo(), mti, LinkNode::next, ModifierData::next, NULL, DerivedMesh::release, ModifierTypeInfo::requiredDataMask, and ModifierTypeInfo::type.
Referenced by editmesh_build_data().
| DerivedMesh* editmesh_get_derived | ( | EditMesh * | em, |
| float(*) | vertexCos[3] | ||
| ) |
Definition at line 1332 of file DerivedMesh.c.
References add_v3_v3(), BLI_countlist(), CD_CALLOC, CD_MDEFORMVERT, DerivedMesh::copyEdgeArray, DerivedMesh::copyFaceArray, DerivedMesh::copyVertArray, CustomData_em_get(), CustomData_has_layer(), EditVert::data, EditMeshDerivedMesh::dm, DM_add_vert_layer(), DM_init(), DM_set_vert_data(), DM_TYPE_EDITMESH, DerivedMesh::drawEdges, DerivedMesh::drawFacesGLSL, DerivedMesh::drawFacesTex, DerivedMesh::drawMappedEdges, DerivedMesh::drawMappedEdgesInterp, DerivedMesh::drawMappedFaces, DerivedMesh::drawMappedFacesGLSL, DerivedMesh::drawMappedFacesTex, DerivedMesh::drawUVEdges, EditMesh::edges, EditMeshDerivedMesh::em, emDM_copyEdgeArray(), emDM_copyFaceArray(), emDM_copyVertArray(), emDM_drawEdges(), emDM_drawFacesGLSL(), emDM_drawFacesTex(), emDM_drawMappedEdges(), emDM_drawMappedEdgesInterp(), emDM_drawMappedFaces(), emDM_drawMappedFacesGLSL(), emDM_drawMappedFacesTex(), emDM_drawUVEdges(), emDM_foreachMappedEdge(), emDM_foreachMappedFaceCenter(), emDM_foreachMappedVert(), emDM_getEdge(), emDM_getFace(), emDM_getFaceDataArray(), emDM_getMinMax(), emDM_getNumEdges(), emDM_getNumFaces(), emDM_getNumVerts(), emDM_getVert(), emDM_getVertCos(), emDM_release(), EditMeshDerivedMesh::faceNos, EditMesh::faces, ListBase::first, DerivedMesh::foreachMappedEdge, DerivedMesh::foreachMappedFaceCenter, DerivedMesh::foreachMappedVert, DerivedMesh::getEdge, DerivedMesh::getFace, DerivedMesh::getFaceDataArray, DerivedMesh::getMinMax, DerivedMesh::getNumEdges, DerivedMesh::getNumFaces, DerivedMesh::getNumVerts, DerivedMesh::getVert, DerivedMesh::getVertCos, i, EditVert::l, MEM_callocN(), MEM_mallocN(), EditVert::next, EditFace::next, normal_quad_v3(), normal_tri_v3(), normalize_v3(), normalize_v3_v3(), NULL, DerivedMesh::release, EditVert::tmp, EditFace::v1, EditFace::v2, EditFace::v3, EditFace::v4, EditMesh::vdata, EditMeshDerivedMesh::vertexCos, EditMeshDerivedMesh::vertexNos, and EditMesh::verts.
Referenced by editmesh_calc_modifiers(), editmesh_get_derived_base(), and editmesh_get_first_deform_matrices().
| DerivedMesh* editmesh_get_derived_base | ( | Object * | UNUSEDobedit, |
| EditMesh * | em | ||
| ) |
Definition at line 2430 of file DerivedMesh.c.
References editmesh_get_derived(), and NULL.
| DerivedMesh* editmesh_get_derived_cage | ( | Scene * | scene, |
| Object * | obedit, | ||
| EditMesh * | em, | ||
| CustomDataMask | dataMask | ||
| ) |
Definition at line 2418 of file DerivedMesh.c.
References EditMesh::derivedCage, editmesh_build_data(), and EditMesh::lastDataMask.
Referenced by crazyspace_get_mapped_editverts(), draw_object_backbufsel(), face_duplilist(), mesh_foreachScreenEdge(), mesh_foreachScreenFace(), mesh_foreachScreenVert(), peelObjects(), and vertex_duplilist().
| DerivedMesh* editmesh_get_derived_cage_and_final | ( | Scene * | scene, |
| Object * | obedit, | ||
| EditMesh * | em, | ||
| DerivedMesh ** | final_r, | ||
| CustomDataMask | dataMask | ||
| ) |
Definition at line 2404 of file DerivedMesh.c.
References EditMesh::derivedCage, EditMesh::derivedFinal, editmesh_build_data(), and EditMesh::lastDataMask.
Referenced by draw_mesh_object(), draw_uvs(), and meshdeformModifier_do().
| float(* editmesh_get_vertex_cos | ( | EditMesh * | em, |
| int * | numVerts_r | ||
| ) | )[3] |
Definition at line 2010 of file DerivedMesh.c.
References BLI_countlist(), EditVert::co, cos(), ListBase::first, i, MEM_mallocN(), next, VECCOPY, and EditMesh::verts.
Referenced by editmesh_calc_modifiers(), and editmesh_get_first_deform_matrices().
| int editmesh_modifier_is_enabled | ( | Scene * | scene, |
| ModifierData * | md, | ||
| DerivedMesh * | dm | ||
| ) |
Definition at line 2024 of file DerivedMesh.c.
References eModifierMode_Editmode, eModifierMode_Realtime, eModifierTypeFlag_RequiresOriginalData, ModifierTypeInfo::flags, modifier_isEnabled(), modifier_setError(), modifierType_getInfo(), mti, and ModifierData::type.
Referenced by editmesh_calc_modifiers(), and editmesh_get_first_deform_matrices().
| static void emDM__calcFaceCent | ( | EditFace * | efa, |
| float | cent[3], | ||
| float(*) | vertexCos[3] | ||
| ) | [static] |
Definition at line 600 of file DerivedMesh.c.
References add_v3_v3(), EditVert::co, EditVert::l, mul_v3_fl(), EditVert::tmp, EditFace::v1, EditFace::v2, EditFace::v3, EditFace::v4, and VECCOPY.
Referenced by emDM_foreachMappedFaceCenter().
| static void emDM_copyEdgeArray | ( | DerivedMesh * | dm, |
| MEdge * | edge_r | ||
| ) | [static] |
Definition at line 1227 of file DerivedMesh.c.
References MEdge::bweight, EditEdge::bweight, MEdge::crease, EditEdge::crease, EditMesh::edges, EditEdge::f2, ListBase::first, MEdge::flag, i, EditVert::l, ME_EDGEDRAW, ME_EDGERENDER, ME_LOOSEEDGE, ME_SEAM, ME_SHARP, EditVert::next, EditEdge::next, EditEdge::seam, EditEdge::sharp, EditVert::tmp, MEdge::v1, EditEdge::v1, MEdge::v2, EditEdge::v2, and EditMesh::verts.
Referenced by editmesh_get_derived().
| static void emDM_copyFaceArray | ( | DerivedMesh * | dm, |
| MFace * | face_r | ||
| ) | [static] |
Definition at line 1255 of file DerivedMesh.c.
References EditMesh::faces, ListBase::first, MFace::flag, EditFace::flag, i, EditVert::l, MFace::mat_nr, EditFace::mat_nr, EditVert::next, EditFace::next, NULL, test_index_face(), EditVert::tmp, MFace::v1, EditFace::v1, MFace::v2, EditFace::v2, MFace::v3, EditFace::v3, MFace::v4, EditFace::v4, and EditMesh::verts.
Referenced by editmesh_get_derived().
| static void emDM_copyVertArray | ( | DerivedMesh * | dm, |
| MVert * | vert_r | ||
| ) | [static] |
Definition at line 1207 of file DerivedMesh.c.
References MVert::bweight, EditVert::bweight, EditVert::co, MVert::co, copy_v3_v3(), EditMeshDerivedMesh::em, ListBase::first, MVert::flag, i, EditVert::next, EditVert::no, MVert::no, normal_float_to_short_v3(), EditMeshDerivedMesh::vertexCos, and EditMesh::verts.
Referenced by editmesh_get_derived().
| static void emDM_drawEdges | ( | DerivedMesh * | dm, |
| int | UNUSEDdrawLooseEdges, | ||
| int | UNUSEDdrawAllEdges | ||
| ) | [static] |
Definition at line 529 of file DerivedMesh.c.
References emDM_drawMappedEdges(), and NULL.
Referenced by editmesh_get_derived().
| static void emDM_drawFacesGLSL | ( | DerivedMesh * | dm, |
| int(*)(int, void *attribs) | setMaterial | ||
| ) | [static] |
Definition at line 1055 of file DerivedMesh.c.
References DerivedMesh::drawMappedFacesGLSL, and NULL.
Referenced by editmesh_get_derived().
| static void emDM_drawFacesTex | ( | DerivedMesh * | dm, |
| int(*)(MTFace *tface, MCol *mcol, int matnr) | setDrawOptions | ||
| ) | [static] |
Definition at line 897 of file DerivedMesh.c.
References emDM_drawFacesTex_common(), and NULL.
Referenced by editmesh_get_derived().
| static void emDM_drawFacesTex_common | ( | DerivedMesh * | dm, |
| int(*)(MTFace *tface, MCol *mcol, int matnr) | drawParams, | ||
| int(*)(void *userData, int index) | drawParamsMapped, | ||
| void * | userData | ||
| ) | [static] |
Definition at line 729 of file DerivedMesh.c.
References CD_MCOL, CD_MTFACE, EditVert::co, CustomData_em_get(), EditFace::data, EditMeshDerivedMesh::em, EditMeshDerivedMesh::faceNos, EditMesh::faces, EditMesh::fdata, ListBase::first, EditFace::flag, i, EditVert::l, EditFace::mat_nr, ME_SMOOTH, EditFace::n, EditVert::next, EditFace::next, EditVert::no, NULL, EditVert::tmp, MTFace::uv, EditFace::v1, EditFace::v2, EditFace::v3, EditFace::v4, EditMeshDerivedMesh::vertexCos, EditMeshDerivedMesh::vertexNos, and EditMesh::verts.
Referenced by emDM_drawFacesTex(), and emDM_drawMappedFacesTex().
| static void emDM_drawMappedEdges | ( | DerivedMesh * | dm, |
| int(*)(void *userData, int index) | setDrawOptions, | ||
| void * | userData | ||
| ) | [static] |
Definition at line 498 of file DerivedMesh.c.
References EditVert::co, EditMesh::edges, EditMeshDerivedMesh::em, ListBase::first, i, EditVert::l, EditVert::next, EditEdge::next, EditVert::tmp, EditEdge::v1, EditEdge::v2, EditMeshDerivedMesh::vertexCos, and EditMesh::verts.
Referenced by editmesh_get_derived(), and emDM_drawEdges().
| static void emDM_drawMappedEdgesInterp | ( | DerivedMesh * | dm, |
| int(*)(void *userData, int index) | setDrawOptions, | ||
| void(*)(void *userData, int index, float t) | setDrawInterpOptions, | ||
| void * | userData | ||
| ) | [static] |
Definition at line 533 of file DerivedMesh.c.
References EditVert::co, EditMesh::edges, EditMeshDerivedMesh::em, ListBase::first, i, EditVert::l, EditVert::next, EditEdge::next, EditVert::tmp, EditEdge::v1, EditEdge::v2, EditMeshDerivedMesh::vertexCos, and EditMesh::verts.
Referenced by editmesh_get_derived().
| static void emDM_drawMappedFaces | ( | DerivedMesh * | dm, |
| int(*)(void *userData, int index, int *drawSmooth_r) | setDrawOptions, | ||
| void * | userData, | ||
| int | UNUSEDuseColors, | ||
| int(*)(int, void *attribs) | setMaterial | ||
| ) | [static] |
Definition at line 640 of file DerivedMesh.c.
References EditVert::co, EditMeshDerivedMesh::em, EditMeshDerivedMesh::faceNos, EditMesh::faces, ListBase::first, EditFace::flag, i, EditVert::l, ME_SMOOTH, EditFace::n, EditVert::next, EditFace::next, EditVert::no, NULL, stipple_quarttone, EditVert::tmp, EditFace::v1, EditFace::v2, EditFace::v3, EditFace::v4, EditMeshDerivedMesh::vertexCos, EditMeshDerivedMesh::vertexNos, and EditMesh::verts.
Referenced by editmesh_get_derived().
| static void emDM_drawMappedFacesGLSL | ( | DerivedMesh * | dm, |
| int(*)(int, void *attribs) | setMaterial, | ||
| int(*)(void *userData, int index) | setDrawOptions, | ||
| void * | userData | ||
| ) | [static] |
Definition at line 907 of file DerivedMesh.c.
References CD_MTFACE, EditVert::co, CustomData_get_layer_index(), EditFace::data, DM_vertex_attributes_from_gpu(), EditMeshDerivedMesh::em, EditMeshDerivedMesh::faceNos, EditMesh::faces, EditMesh::fdata, ListBase::first, EditFace::flag, GPU_BLEND_SOLID, GPU_get_material_blend_mode(), GPU_set_material_blend_mode(), i, EditVert::l, CustomData::layers, EditFace::mat_nr, ME_SMOOTH, EditFace::n, EditVert::next, EditFace::next, EditVert::no, CustomDataLayer::offset, PASSATTRIB, EditVert::tmp, MTFace::transp, EditFace::v1, EditFace::v2, EditFace::v3, EditFace::v4, EditMeshDerivedMesh::vertexCos, EditMeshDerivedMesh::vertexNos, and EditMesh::verts.
Referenced by editmesh_get_derived().
| static void emDM_drawMappedFacesTex | ( | DerivedMesh * | dm, |
| int(*)(void *userData, int index) | setDrawOptions, | ||
| void * | userData | ||
| ) | [static] |
Definition at line 902 of file DerivedMesh.c.
References emDM_drawFacesTex_common(), and NULL.
Referenced by editmesh_get_derived().
| static void emDM_drawUVEdges | ( | DerivedMesh * | dm | ) | [static] |
Definition at line 569 of file DerivedMesh.c.
References CD_MTFACE, CustomData_em_get(), EditFace::data, EditMeshDerivedMesh::em, EditMesh::faces, EditMesh::fdata, ListBase::first, EditFace::h, EditFace::next, MTFace::uv, and EditFace::v4.
Referenced by editmesh_get_derived().
| static void emDM_foreachMappedEdge | ( | DerivedMesh * | dm, |
| void(*)(void *userData, int index, float *v0co, float *v1co) | func, | ||
| void * | userData | ||
| ) | [static] |
Definition at line 480 of file DerivedMesh.c.
References EditVert::co, EditMesh::edges, EditMeshDerivedMesh::em, ListBase::first, i, EditVert::l, EditVert::next, EditEdge::next, EditVert::tmp, EditEdge::v1, EditEdge::v2, EditMeshDerivedMesh::vertexCos, and EditMesh::verts.
Referenced by editmesh_get_derived().
| static void emDM_foreachMappedFaceCenter | ( | DerivedMesh * | dm, |
| void(*)(void *userData, int index, float *co, float *no) | func, | ||
| void * | userData | ||
| ) | [static] |
Definition at line 620 of file DerivedMesh.c.
References EditMeshDerivedMesh::em, emDM__calcFaceCent(), EditMeshDerivedMesh::faceNos, EditMesh::faces, ListBase::first, i, EditVert::l, EditFace::n, EditVert::next, EditFace::next, EditVert::tmp, EditMeshDerivedMesh::vertexCos, and EditMesh::verts.
Referenced by editmesh_get_derived().
| static void emDM_foreachMappedVert | ( | DerivedMesh * | dm, |
| void(*)(void *userData, int index, float *co, float *no_f, short *no_s) | func, | ||
| void * | userData | ||
| ) | [static] |
Definition at line 466 of file DerivedMesh.c.
References EditVert::co, EditMeshDerivedMesh::em, ListBase::first, i, EditVert::next, EditVert::no, NULL, EditMeshDerivedMesh::vertexCos, EditMeshDerivedMesh::vertexNos, and EditMesh::verts.
Referenced by editmesh_get_derived().
| static void emDM_getEdge | ( | DerivedMesh * | dm, |
| int | index, | ||
| MEdge * | edge_r | ||
| ) | [static] |
Definition at line 1130 of file DerivedMesh.c.
References MEdge::bweight, EditEdge::bweight, MEdge::crease, EditEdge::crease, EditMesh::edges, EditEdge::f2, ListBase::first, MEdge::flag, i, ME_EDGEDRAW, ME_EDGERENDER, ME_LOOSEEDGE, ME_SEAM, ME_SHARP, EditVert::next, EditEdge::next, NULL, EditEdge::seam, EditEdge::sharp, MEdge::v1, EditEdge::v1, MEdge::v2, EditEdge::v2, and EditMesh::verts.
Referenced by editmesh_get_derived().
| static void emDM_getFace | ( | DerivedMesh * | dm, |
| int | index, | ||
| MFace * | face_r | ||
| ) | [static] |
Definition at line 1165 of file DerivedMesh.c.
References EditMesh::faces, ListBase::first, MFace::flag, EditFace::flag, i, MFace::mat_nr, EditFace::mat_nr, EditVert::next, EditFace::next, NULL, test_index_face(), MFace::v1, EditFace::v1, MFace::v2, EditFace::v2, MFace::v3, EditFace::v3, MFace::v4, EditFace::v4, and EditMesh::verts.
Referenced by editmesh_get_derived().
| static void* emDM_getFaceDataArray | ( | DerivedMesh * | dm, |
| int | type | ||
| ) | [static] |
Definition at line 1280 of file DerivedMesh.c.
References CD_CALLOC, CD_FLAG_TEMPORARY, CD_MCOL, CD_MTFACE, CustomData_em_get(), CustomData_get_layer_index(), CustomData_sizeof(), EditFace::data, DM_add_face_layer(), DM_get_face_data_layer(), EditMeshDerivedMesh::em, DerivedMesh::faceData, EditMesh::faces, EditMesh::fdata, ListBase::first, CustomDataLayer::flag, CustomData::layers, EditFace::next, NULL, and size().
Referenced by editmesh_get_derived().
| static void emDM_getMinMax | ( | DerivedMesh * | dm, |
| float | min_r[3], | ||
| float | max_r[3] | ||
| ) | [static] |
Definition at line 1061 of file DerivedMesh.c.
References EditVert::co, DO_MINMAX, EditMeshDerivedMesh::em, ListBase::first, i, EditVert::next, EditMeshDerivedMesh::vertexCos, and EditMesh::verts.
Referenced by editmesh_get_derived().
| static int emDM_getNumEdges | ( | DerivedMesh * | dm | ) | [static] |
Definition at line 1086 of file DerivedMesh.c.
References BLI_countlist(), EditMesh::edges, and EditMeshDerivedMesh::em.
Referenced by editmesh_get_derived().
| static int emDM_getNumFaces | ( | DerivedMesh * | dm | ) | [static] |
Definition at line 1093 of file DerivedMesh.c.
References BLI_countlist(), EditMeshDerivedMesh::em, and EditMesh::faces.
Referenced by editmesh_get_derived().
| static int emDM_getNumVerts | ( | DerivedMesh * | dm | ) | [static] |
Definition at line 1079 of file DerivedMesh.c.
References BLI_countlist(), EditMeshDerivedMesh::em, and EditMesh::verts.
Referenced by editmesh_get_derived().
| static void emDM_getVert | ( | DerivedMesh * | dm, |
| int | index, | ||
| MVert * | vert_r | ||
| ) | [static] |
Definition at line 1115 of file DerivedMesh.c.
References MVert::bweight, EditVert::bweight, EditVert::co, MVert::co, i, EditVert::next, EditVert::no, MVert::no, normal_float_to_short_v3(), and VECCOPY.
Referenced by editmesh_get_derived().
| static void emDM_getVertCos | ( | DerivedMesh * | dm, |
| float(*) | cos_r[3] | ||
| ) | [static] |
Definition at line 1100 of file DerivedMesh.c.
References EditVert::co, copy_v3_v3(), EditMeshDerivedMesh::em, ListBase::first, i, EditVert::next, EditMeshDerivedMesh::vertexCos, and EditMesh::verts.
Referenced by editmesh_get_derived().
| static void emDM_release | ( | DerivedMesh * | dm | ) | [static] |
Definition at line 1317 of file DerivedMesh.c.
References DM_release(), EditMeshDerivedMesh::faceNos, MEM_freeN(), EditMeshDerivedMesh::vertexCos, and EditMeshDerivedMesh::vertexNos.
Referenced by DM_vertex_attributes_from_gpu(), and editmesh_get_derived().
| static float* get_editmesh_orco_verts | ( | EditMesh * | em | ) | [static] |
Definition at line 1462 of file DerivedMesh.c.
References EditVert::co, ListBase::first, MEM_mallocN(), EditVert::next, VECCOPY, and EditMesh::verts.
Referenced by get_orco_coords_dm().
Definition at line 1485 of file DerivedMesh.c.
References CD_CLOTH_ORCO, CD_ORCO, KeyBlock::data, eModifierType_Cloth, get_editmesh_orco_verts(), get_mesh_orco_verts(), key_get_keyblock(), modifiers_findByType(), NULL, ob_get_key(), ClothSimSettings::shapekey_rest, and ClothModifierData::sim_parms.
Referenced by add_orco_dm(), and create_orco_dm().
| static void GetNormal | ( | const SMikkTSpaceContext * | pContext, |
| float | fNorm[], | ||
| const int | face_num, | ||
| const int | vert_index | ||
| ) | [static] |
Definition at line 2544 of file DerivedMesh.c.
References MVert::co, MFace::flag, SMikkTSpaceContext::m_pUserData, ME_SMOOTH, SGLSLMeshToTangent::mface, SGLSLMeshToTangent::mvert, normal_quad_v3(), normal_short_to_float_v3(), normal_tri_v3(), SGLSLMeshToTangent::precomputedFaceNormals, MFace::v1, MFace::v2, MFace::v3, MFace::v4, and VECCOPY.
Referenced by calc_vertexnormals(), and DM_add_tangent_layer().
| static int GetNumFaces | ( | const SMikkTSpaceContext * | pContext | ) | [static] |
Definition at line 2509 of file DerivedMesh.c.
References SMikkTSpaceContext::m_pUserData, and SGLSLMeshToTangent::numFaces.
Referenced by DM_add_tangent_layer().
| static int GetNumVertsOfFace | ( | const SMikkTSpaceContext * | pContext, |
| const int | face_num | ||
| ) | [static] |
Definition at line 2515 of file DerivedMesh.c.
References SMikkTSpaceContext::m_pUserData, SGLSLMeshToTangent::mface, and MFace::v4.
Referenced by DM_add_tangent_layer().
| static void GetPosition | ( | const SMikkTSpaceContext * | pContext, |
| float | fPos[], | ||
| const int | face_num, | ||
| const int | vert_index | ||
| ) | [static] |
Definition at line 2521 of file DerivedMesh.c.
References MVert::co, co, SMikkTSpaceContext::m_pUserData, SGLSLMeshToTangent::mface, SGLSLMeshToTangent::mvert, MFace::v1, and VECCOPY.
Referenced by calc_vertexnormals(), and DM_add_tangent_layer().
| static void GetTextureCoordinate | ( | const SMikkTSpaceContext * | pContext, |
| float | fUV[], | ||
| const int | face_num, | ||
| const int | vert_index | ||
| ) | [static] |
Definition at line 2529 of file DerivedMesh.c.
References SMikkTSpaceContext::m_pUserData, map_to_sphere(), SGLSLMeshToTangent::mface, SGLSLMeshToTangent::mtface, NULL, SGLSLMeshToTangent::orco, MTFace::uv, and MFace::v1.
Referenced by DM_add_tangent_layer().
| static void make_vertexcosnos__mapFunc | ( | void * | userData, |
| int | index, | ||
| float * | co, | ||
| float * | no_f, | ||
| short * | no_s | ||
| ) | [static] |
Definition at line 2438 of file DerivedMesh.c.
References VECCOPY.
Referenced by mesh_get_mapped_verts_nors().
| void makeDerivedMesh | ( | Scene * | scene, |
| Object * | ob, | ||
| EditMesh * | em, | ||
| CustomDataMask | dataMask | ||
| ) |
Definition at line 2301 of file DerivedMesh.c.
References editmesh_build_data(), and mesh_build_data().
Referenced by crazyspace_get_mapped_editverts(), and object_handle_update().
| static void mesh_build_data | ( | Scene * | scene, |
| Object * | ob, | ||
| CustomDataMask | dataMask | ||
| ) | [static] |
Definition at line 2256 of file DerivedMesh.c.
References Scene::basact, clear_mesh_caches(), Object::derivedDeform, Object::derivedFinal, DM_set_object_boundbox(), Object::lastDataMask, mesh_calc_modifiers(), Object::mode, DerivedMesh::needsFree, NULL, OB_MODE_VERTEX_PAINT, OB_MODE_WEIGHT_PAINT, Base::object, and paint_facesel_test().
Referenced by makeDerivedMesh(), mesh_get_derived_deform(), and mesh_get_derived_final().
| static void mesh_calc_modifiers | ( | Scene * | scene, |
| Object * | ob, | ||
| float(*) | inputVertexCos[3], | ||
| DerivedMesh ** | deform_r, | ||
| DerivedMesh ** | final_r, | ||
| int | useRenderParams, | ||
| int | useDeform, | ||
| int | needMapping, | ||
| CustomDataMask | dataMask, | ||
| int | index, | ||
| int | useCache | ||
| ) | [static] |
Definition at line 1664 of file DerivedMesh.c.
References add_orco_dm(), add_weight_mcol_dm(), ModifierTypeInfo::applyModifier, BLI_linklist_free(), CD_CALLOC, CD_CLOTH_ORCO, CD_DEFAULT, CD_MASK_CLOTH_ORCO, CD_MASK_ORCO, CD_MASK_ORIGINDEX, CD_MASK_ORIGSPACE, CD_MASK_WEIGHT_MCOL, CD_ORCO, CD_ORIGINDEX, CD_ORIGSPACE, CDDM_apply_vert_coords(), CDDM_calc_normals(), CDDM_copy(), CDDM_from_mesh(), create_orco_dm(), CustomData_has_layer(), Object::data, ModifierTypeInfo::deformVerts, ModifierTypeInfo::dependsOnNormals, dependsOnTime(), ModifierTypeInfo::dependsOnTime, DM_add_edge_layer(), DM_add_face_layer(), DM_add_vert_layer(), DM_get_edge_data_layer(), DM_get_face_data_layer(), DM_get_vert_data_layer(), DM_set_only_copy(), DM_TYPE_CDDM, eModifierMode_Realtime, eModifierMode_Render, eModifierType_Armature, eModifierType_Multires, eModifierTypeFlag_RequiresOriginalData, eModifierTypeType_OnlyDeform, DerivedMesh::faceData, FALSE, ListBase::first, ModifierTypeInfo::flags, Sculpt::flags, GET_INT_FROM_POINTER, get_multires_modifier(), DerivedMesh::getNumVerts, DerivedMesh::getVertCos, LinkNode::link, MEM_freeN(), MEM_mallocN(), mesh_getVertexCos(), Object::mode, modifier_freeTemporaryData(), modifier_isEnabled(), modifier_setError(), modifier_supportsMapping(), Object::modifiers, modifiers_calcDataMasks(), modifiers_clearErrors(), modifiers_getVirtualModifierList(), modifiers_indexInObject(), modifierType_getInfo(), mti, LinkNode::next, ModifierData::next, NULL, DerivedMesh::numEdgeData, DerivedMesh::numFaceData, DerivedMesh::numVertData, OB_MODE_SCULPT, OB_MODE_WEIGHT_PAINT, range_vni(), DerivedMesh::release, ModifierTypeInfo::requiredDataMask, ModifierData::scene, Object::sculpt, ToolSettings::sculpt, SCULPT_ONLY_DEFORM, MultiresModifierData::sculptlvl, Scene::toolsettings, Mesh::totvert, ModifierData::type, DerivedMesh::type, and ModifierTypeInfo::type.
Referenced by mesh_build_data(), mesh_create_derived_index_render(), mesh_create_derived_no_deform(), mesh_create_derived_no_deform_render(), mesh_create_derived_no_virtual(), mesh_create_derived_physics(), mesh_create_derived_render(), and mesh_create_derived_view().
| DerivedMesh* mesh_create_derived | ( | Mesh * | me, |
| Object * | ob, | ||
| float(*) | vertCos[3] | ||
| ) |
Definition at line 440 of file DerivedMesh.c.
References CDDM_apply_vert_coords(), CDDM_calc_normals(), CDDM_from_mesh(), and NULL.
Referenced by mesh_create_derived_for_modifier(), and sculpt_get_first_deform_matrices().
| DerivedMesh* mesh_create_derived_for_modifier | ( | Scene * | scene, |
| Object * | ob, | ||
| ModifierData * | md | ||
| ) |
Definition at line 1433 of file DerivedMesh.c.
References ModifierTypeInfo::applyModifier, Object::data, ModifierTypeInfo::deformVerts, eModifierMode_Realtime, eModifierTypeType_OnlyDeform, ModifierTypeInfo::isDisabled, MEM_freeN(), mesh_create_derived(), mesh_getVertexCos(), ModifierData::mode, modifierType_getInfo(), mti, NULL, DerivedMesh::release, ModifierData::scene, ModifierData::type, and ModifierTypeInfo::type.
Referenced by modifier_apply_obdata(), and modifier_apply_shape().
| DerivedMesh* mesh_create_derived_index_render | ( | Scene * | scene, |
| Object * | ob, | ||
| CustomDataMask | dataMask, | ||
| int | index | ||
| ) |
Definition at line 2343 of file DerivedMesh.c.
References mesh_calc_modifiers(), and NULL.
Referenced by initElbeemMesh().
| DerivedMesh* mesh_create_derived_no_deform | ( | Scene * | scene, |
| Object * | ob, | ||
| float(*) | vertCos[3], | ||
| CustomDataMask | dataMask | ||
| ) |
Definition at line 2361 of file DerivedMesh.c.
References mesh_calc_modifiers(), and NULL.
Referenced by mesh_deform_bind().
| DerivedMesh* mesh_create_derived_no_deform_render | ( | Scene * | scene, |
| Object * | ob, | ||
| float(*) | vertCos[3], | ||
| CustomDataMask | dataMask | ||
| ) |
Definition at line 2391 of file DerivedMesh.c.
References mesh_calc_modifiers(), and NULL.
| DerivedMesh* mesh_create_derived_no_virtual | ( | Scene * | scene, |
| Object * | ob, | ||
| float(*) | vertCos[3], | ||
| CustomDataMask | dataMask | ||
| ) |
Definition at line 2371 of file DerivedMesh.c.
References mesh_calc_modifiers(), and NULL.
Referenced by BL_ModifierDeformer::Update().
| DerivedMesh* mesh_create_derived_physics | ( | Scene * | scene, |
| Object * | ob, | ||
| float(*) | vertCos[3], | ||
| CustomDataMask | dataMask | ||
| ) |
Definition at line 2381 of file DerivedMesh.c.
References mesh_calc_modifiers(), and NULL.
Referenced by BL_ModifierDeformer::GetPhysicsMesh().
| DerivedMesh* mesh_create_derived_render | ( | Scene * | scene, |
| Object * | ob, | ||
| CustomDataMask | dataMask | ||
| ) |
Definition at line 2334 of file DerivedMesh.c.
References mesh_calc_modifiers(), and NULL.
Referenced by dupli_render_particle_set(), init_render_mesh(), init_render_object_data(), object_handle_update(), pointdensity_cache_object(), pointdensity_cache_psys(), and project_paint_begin().
| DerivedMesh* mesh_create_derived_view | ( | Scene * | scene, |
| Object * | ob, | ||
| CustomDataMask | dataMask | ||
| ) |
Definition at line 2352 of file DerivedMesh.c.
References mesh_calc_modifiers(), and NULL.
Referenced by meshdeform_bind_exec(), and NewBooleanMesh().
| DerivedMesh* mesh_get_derived_deform | ( | Scene * | scene, |
| Object * | ob, | ||
| CustomDataMask | dataMask | ||
| ) |
Definition at line 2323 of file DerivedMesh.c.
References Object::derivedDeform, Object::lastDataMask, and mesh_build_data().
Referenced by brush_add(), connect_hair(), draw_mesh_text(), face_duplilist(), get_multires_dm(), join_mesh_shapes_exec(), multires_apply_smat(), particle_intersect_dm(), and vertex_duplilist().
| DerivedMesh* mesh_get_derived_final | ( | Scene * | scene, |
| Object * | ob, | ||
| CustomDataMask | dataMask | ||
| ) |
Definition at line 2312 of file DerivedMesh.c.
References Object::derivedFinal, Object::lastDataMask, and mesh_build_data().
Referenced by add_verts_to_dgroups(), bbs_mesh_solid(), convert_exec(), draw_mesh_fancy(), draw_object_mesh_instance(), imapaint_pick_uv(), mesh_get_mapped_verts_nors(), mesh_to_curve(), multiresModifier_reshape(), NewBooleanMesh(), GeometryExporter::operator()(), particle_intersect_dm(), peelObjects(), project_paint_begin(), sculpt_undo_restore(), sculpt_update_mesh_elements(), snapObject(), and weight_sample_invoke().
Definition at line 2462 of file DerivedMesh.c.
References CD_MASK_BAREMESH, Object::data, DerivedMesh::foreachMappedVert, DerivedMesh::getVertCo, DerivedMesh::getVertNo, make_vertexcosnos__mapFunc(), MEM_callocN(), mesh_get_derived_final(), NULL, OB_MESH, DerivedMesh::release, Mesh::totvert, and Object::type.
Referenced by vpaint_stroke_test_start(), and wpaint_stroke_test_start().
| static void SetTSpace | ( | const SMikkTSpaceContext * | pContext, |
| const float | fvTangent[], | ||
| const float | fSign, | ||
| const int | face_num, | ||
| const int | iVert | ||
| ) | [static] |
Definition at line 2574 of file DerivedMesh.c.
References SMikkTSpaceContext::m_pUserData, SGLSLMeshToTangent::tangent, and VECCOPY.
Referenced by DM_add_tangent_layer().
| void vDM_ColorBand_store | ( | ColorBand * | coba | ) |
Definition at line 1632 of file DerivedMesh.c.
Referenced by init_userdef_do_versions().
| void weight_to_rgb | ( | float | input, |
| float * | fr, | ||
| float * | fg, | ||
| float * | fb | ||
| ) |
Definition at line 1577 of file DerivedMesh.c.
References blend().
Referenced by calc_weightpaint_vert_color(), draw_new_particle_system(), draw_uvs_stretch(), drawlattice__point(), and psys_cache_edit_paths().
Definition at line 1630 of file DerivedMesh.c.
Referenced by add_weight_mcol_dm().