|
Blender
V2.59
|
Go to the source code of this file.
Classes | |
| struct | UvVertMap |
| struct | UvMapVert |
| struct | IndexNode |
Defines | |
| #define | STD_UV_CONNECT_LIMIT 0.0001f |
Typedefs | |
| typedef struct UvVertMap | UvVertMap |
| typedef struct UvMapVert | UvMapVert |
| typedef struct IndexNode | IndexNode |
Functions | |
| struct EditMesh * | BKE_mesh_get_editmesh (struct Mesh *me) |
| void | BKE_mesh_end_editmesh (struct Mesh *me, struct EditMesh *em) |
| void | unlink_mesh (struct Mesh *me) |
| void | free_mesh (struct Mesh *me) |
| struct Mesh * | add_mesh (const char *name) |
| struct Mesh * | copy_mesh (struct Mesh *me) |
| void | mesh_update_customdata_pointers (struct Mesh *me) |
| void | make_local_mesh (struct Mesh *me) |
| void | boundbox_mesh (struct Mesh *me, float *loc, float *size) |
| void | tex_space_mesh (struct Mesh *me) |
| float * | get_mesh_orco_verts (struct Object *ob) |
| void | transform_mesh_orco_verts (struct Mesh *me, float(*orco)[3], int totvert, int invert) |
| int | test_index_face (struct MFace *mface, struct CustomData *mfdata, int mfindex, int nr) |
| struct Mesh * | get_mesh (struct Object *ob) |
| void | set_mesh (struct Object *ob, struct Mesh *me) |
| void | mball_to_mesh (struct ListBase *lb, struct Mesh *me) |
| int | nurbs_to_mdata (struct Object *ob, struct MVert **allvert, int *_totvert, struct MEdge **alledge, int *_totedge, struct MFace **allface, int *_totface) |
| int | nurbs_to_mdata_customdb (struct Object *ob, struct ListBase *dispbase, struct MVert **allvert, int *_totvert, struct MEdge **alledge, int *_totedge, struct MFace **allface, int *_totface) |
| void | nurbs_to_mesh (struct Object *ob) |
| void | mesh_to_curve (struct Scene *scene, struct Object *ob) |
| void | free_dverts (struct MDeformVert *dvert, int totvert) |
| void | copy_dverts (struct MDeformVert *dst, struct MDeformVert *src, int totvert) |
| void | mesh_delete_material_index (struct Mesh *me, int index) |
| void | mesh_set_smooth_flag (struct Object *meshOb, int enableSmooth) |
| struct BoundBox * | mesh_get_bb (struct Object *ob) |
| void | mesh_get_texspace (struct Mesh *me, float *loc_r, float *rot_r, float *size_r) |
| void | make_edges (struct Mesh *me, int old) |
| void | mesh_strip_loose_faces (struct Mesh *me) |
| void | mesh_strip_loose_edges (struct Mesh *me) |
| void | mesh_calc_normals (struct MVert *mverts, int numVerts, struct MFace *mfaces, int numFaces, float(*faceNors_r)[3]) |
| float(* | mesh_getVertexCos (struct Mesh *me, int *numVerts_r))[3] |
| UvVertMap * | make_uv_vert_map (struct MFace *mface, struct MTFace *tface, unsigned int totface, unsigned int totvert, int selected, float *limit) |
| UvMapVert * | get_uv_map_vert (UvVertMap *vmap, unsigned int v) |
| void | free_uv_vert_map (UvVertMap *vmap) |
| void | create_vert_face_map (ListBase **map, IndexNode **mem, const struct MFace *mface, const int totvert, const int totface) |
| void | create_vert_edge_map (ListBase **map, IndexNode **mem, const struct MEdge *medge, const int totvert, const int totedge) |
| struct PartialVisibility * | mesh_pmv_copy (struct PartialVisibility *) |
| void | mesh_pmv_free (struct PartialVisibility *) |
| void | mesh_pmv_revert (struct Mesh *me) |
| void | mesh_pmv_off (struct Mesh *me) |
| int | mesh_layers_menu_charlen (struct CustomData *data, int type) |
| void | mesh_layers_menu_concat (struct CustomData *data, int type, char *str) |
| int | mesh_layers_menu (struct CustomData *data, int type) |
| int | minmax_mesh (struct Mesh *me, float min[3], float max[3]) |
| int | mesh_center_median (struct Mesh *me, float cent[3]) |
| int | mesh_center_bounds (struct Mesh *me, float cent[3]) |
| void | mesh_translate (struct Mesh *me, float offset[3], int do_keys) |
| int | BKE_mesh_validate_arrays (struct Mesh *me, struct MVert *mverts, unsigned int totvert, struct MEdge *medges, unsigned int totedge, struct MFace *mfaces, unsigned int totface, const short do_verbose, const short do_fixes) |
| int | BKE_mesh_validate (struct Mesh *me, int do_verbose) |
| int | BKE_mesh_validate_dm (struct DerivedMesh *dm) |
| void | BKE_mesh_calc_edges (struct Mesh *mesh, int update) |
Definition in file BKE_mesh.h.
| #define STD_UV_CONNECT_LIMIT 0.0001f |
Definition at line 112 of file BKE_mesh.h.
Referenced by ss_sync_from_uv().
| struct Mesh* add_mesh | ( | const char * | name | ) | [read] |
Definition at line 192 of file mesh.c.
References alloc_libblock(), AUTOSPACE, Mesh::bb, Mesh::drawflag, Mesh::flag, G, ID_ME, Global::main, ME_DRAWCREASES, ME_DRAWEDGES, ME_DRAWFACES, ME_TWOSIDED, Main::mesh, Mesh::size, Mesh::smoothresh, Mesh::texflag, and unit_boundbox().
Referenced by add_obdata_from_type(), AddNewBlenderMesh(), convert_exec(), mesh_separate_selected(), nurbs_to_mesh(), and MeshImporter::write_geometry().
| void BKE_mesh_calc_edges | ( | struct Mesh * | mesh, |
| int | update | ||
| ) |
Definition at line 321 of file mesh_validate.c.
References BLI_edgehash_free(), BLI_edgehash_haskey(), BLI_edgehash_insert(), BLI_edgehash_new(), BLI_edgehash_size(), BLI_edgehashIterator_free(), BLI_edgehashIterator_getKey(), BLI_edgehashIterator_getValue(), BLI_edgehashIterator_isDone(), BLI_edgehashIterator_new(), BLI_edgehashIterator_step(), CD_CALLOC, CD_MEDGE, CustomData_add_layer(), CustomData_free(), CustomData_get_layer(), MEdge::flag, i, ME_EDGEDRAW, ME_EDGERENDER, Mesh::medge, Mesh::mface, NULL, SELECT, Mesh::totedge, Mesh::totface, MFace::v1, MEdge::v1, MFace::v2, MEdge::v2, MFace::v3, and MFace::v4.
Referenced by BKE_mesh_validate_arrays(), and ED_mesh_update().
Referenced by act_vert_def(), addedgeface_mesh_exec(), average_islands_scale_exec(), beautify_fill_exec(), blend_from_shape_exec(), border_select_exec(), circle_select_exec(), clear_fgon_exec(), contarget_get_mesh_mat(), cube_project_exec(), cylinder_project_exec(), delete_mesh_exec(), do_uvedit_vertex(), do_view3d_header_buttons(), draw_uvs(), draw_uvs_shadow(), ED_operator_uvmap(), ED_space_image_show_uvedit(), ED_space_image_show_uvshadow(), ED_unwrap_lscm(), ED_uvedit_assign_image(), ED_uvedit_ensure_uvs(), ED_uvedit_live_unwrap_begin(), ED_uvedit_median(), ED_uvedit_minmax(), ED_uvedit_nearest_uv(), ED_uvedit_test(), ED_vgroup_mirror(), edge_flip_exec(), edge_rotate_selected(), editmesh_mark_seam(), editmesh_mark_sharp(), extrude_repeat_mesh_exec(), face_duplilist(), fill_mesh_exec(), flip_normals(), give_parvert(), hide_exec(), hide_mesh_exec(), image_refresh(), knife_cut_exec(), loop_multiselect(), loop_to_region(), make_fgon_exec(), make_prim(), merge_exec(), mesh_duplicate_exec(), mesh_extrude_exec(), mesh_extrude_invoke(), mesh_faces_shade_smooth_exec(), mesh_mirror_colors(), mesh_mirror_uvs(), mesh_noise_exec(), mesh_rip_invoke(), mesh_rotate_colors(), mesh_rotate_uvs(), mesh_select_nth_exec(), mesh_select_random_exec(), mesh_separate_loose(), mesh_separate_material(), mesh_separate_selected(), meshdeformModifier_do(), minimize_stretch_init(), mouse_select(), normals_make_consistent_exec(), object_get_derived_final(), object_handle_update(), object_hook_index_array(), object_origin_set_exec(), pack_islands_exec(), pin_exec(), quads_convert_to_tris_exec(), region_to_loop(), removedoublesflag_exec(), reset_exec(), reveal_exec(), reveal_mesh_exec(), screw_mesh_exec(), select_all_exec(), select_editmesh_hook(), select_inverse_mesh_exec(), select_less(), select_linked_exec(), select_linked_flat_faces_exec(), select_linked_internal(), select_more(), select_non_manifold_exec(), select_pinned_exec(), select_sharp_edges_exec(), select_vertex_path_exec(), similar_edge_select_exec(), similar_face_select_exec(), similar_vert_select_exec(), smooth_vertex(), snap_uvs_to_adjacent_unselected(), snap_uvs_to_cursor(), snap_uvs_to_pixels(), solidify_exec(), sphere_project_exec(), spin_mesh(), split_mesh(), stitch_exec(), tris_convert_to_quads_exec(), uiTemplateEditModeSelection(), unlink_selection_exec(), unwrap_exec(), uv_faces_do_sticky(), uv_from_view_exec(), uv_map_transform(), uvedit_center(), uvedit_set_tile(), uvedit_vertex_buttons(), v3d_editvertex_buts(), vertex_duplilist(), vertex_parent_set_exec(), vgroup_active_remove_verts(), vgroup_assign_verts(), vgroup_delete_edit_mode(), vgroup_select_verts(), and weld_align_uv().
Definition at line 74 of file mesh.c.
References Mesh::edit_mesh.
Referenced by act_vert_def(), addedgeface_mesh_exec(), average_islands_scale_exec(), beautify_fill_exec(), blend_from_shape_exec(), border_select_exec(), calc_manipulator_stats(), calculateCenter(), circle_select_exec(), clear_fgon_exec(), contarget_get_mesh_mat(), cube_project_exec(), cylinder_project_exec(), delete_mesh_exec(), do_uvedit_vertex(), do_view3d_header_buttons(), draw_uvs(), draw_uvs_shadow(), ED_operator_uvmap(), ED_space_image_show_uvedit(), ED_space_image_show_uvshadow(), ED_unwrap_lscm(), ED_uvedit_assign_image(), ED_uvedit_ensure_uvs(), ED_uvedit_live_unwrap_begin(), ED_uvedit_median(), ED_uvedit_minmax(), ED_uvedit_nearest_uv(), ED_uvedit_test(), ED_vgroup_mirror(), edge_flip_exec(), edge_rotate_selected(), editmesh_mark_seam(), editmesh_mark_sharp(), editvert_mirror_update(), extrude_repeat_mesh_exec(), face_duplilist(), fill_mesh_exec(), flip_normals(), give_parvert(), hide_exec(), hide_mesh_exec(), image_refresh(), knife_cut_exec(), linked_limit_default(), loop_multiselect(), loop_to_region(), make_fgon_exec(), make_prim(), merge_exec(), merge_type_itemf(), mesh_duplicate_exec(), mesh_extrude_exec(), mesh_extrude_invoke(), mesh_extrude_itemf(), mesh_faces_shade_flat_exec(), mesh_faces_shade_smooth_exec(), mesh_mirror_colors(), mesh_mirror_uvs(), mesh_noise_exec(), mesh_rip_invoke(), mesh_rotate_colors(), mesh_rotate_uvs(), mesh_select_nth_exec(), mesh_select_random_exec(), mesh_separate_loose(), mesh_separate_material(), mesh_separate_selected(), mesh_shortest_path_select_poll(), mesh_vertices_randomize_exec(), meshdeformModifier_do(), minimize_stretch_init(), mouse_select(), normals_make_consistent_exec(), object_get_derived_final(), object_handle_update(), object_hook_index_array(), object_origin_set_exec(), pack_islands_exec(), pin_exec(), quads_convert_to_tris_exec(), region_to_loop(), removedoublesflag_exec(), reset_exec(), reveal_exec(), reveal_mesh_exec(), ringsel_finish(), ringsel_init(), screw_mesh_exec(), select_all_exec(), select_axis_exec(), select_by_number_vertices_exec(), select_editmesh_hook(), select_inverse_mesh_exec(), select_less(), select_linked_exec(), select_linked_flat_faces_exec(), select_linked_internal(), select_mirror_exec(), select_more(), select_non_manifold_exec(), select_pinned_exec(), select_sharp_edges_exec(), select_similar_type_itemf(), select_vertex_path_exec(), shape_propagate_to_all_exec(), similar_edge_select_exec(), similar_face_select_exec(), similar_vert_select_exec(), smooth_vertex(), snap_uvs_to_adjacent_unselected(), snap_uvs_to_cursor(), snap_uvs_to_pixels(), solidify_exec(), sphere_project_exec(), spin_mesh(), split_mesh(), stats_object_edit(), stitch_exec(), subdivide_exec(), tris_convert_to_quads_exec(), uiTemplateEditModeSelection(), unlink_selection_exec(), unwrap_exec(), uv_faces_do_sticky(), uv_from_view_exec(), uv_map_transform(), uvedit_center(), uvedit_set_tile(), uvedit_vertex_buttons(), v3d_editvertex_buts(), vertex_duplilist(), vertex_parent_set_exec(), vgroup_active_remove_verts(), vgroup_assign_verts(), vgroup_blend(), vgroup_copy_active_to_sel(), vgroup_copy_active_to_sel_single(), vgroup_delete_edit_mode(), vgroup_do_remap(), vgroup_select_verts(), and weld_align_uv().
| int BKE_mesh_validate | ( | struct Mesh * | me, |
| int | do_verbose | ||
| ) |
Definition at line 308 of file mesh_validate.c.
References BKE_mesh_validate_arrays(), Mesh::id, Mesh::medge, Mesh::mface, Mesh::mvert, ID::name, Mesh::totedge, Mesh::totface, Mesh::totvert, and TRUE.
| int BKE_mesh_validate_arrays | ( | struct Mesh * | me, |
| struct MVert * | mverts, | ||
| unsigned int | totvert, | ||
| struct MEdge * | medges, | ||
| unsigned int | totedge, | ||
| struct MFace * | mfaces, | ||
| unsigned int | totface, | ||
| const short | do_verbose, | ||
| const short | do_fixes | ||
| ) |
Referenced by BKE_mesh_validate(), and BKE_mesh_validate_dm().
| int BKE_mesh_validate_dm | ( | struct DerivedMesh * | dm | ) |
Definition at line 316 of file mesh_validate.c.
References BKE_mesh_validate_arrays(), FALSE, DerivedMesh::getEdgeArray, DerivedMesh::getFaceArray, DerivedMesh::getNumEdges, DerivedMesh::getNumFaces, DerivedMesh::getNumVerts, DerivedMesh::getVertArray, NULL, and TRUE.
| void boundbox_mesh | ( | struct Mesh * | me, |
| float * | loc, | ||
| float * | size | ||
| ) |
Definition at line 338 of file mesh.c.
References Mesh::bb, boundbox_set_from_min_max(), INIT_MINMAX, max, MEM_callocN(), mid_v3_v3v3(), min, minmax_mesh(), and NULL.
Referenced by tex_space_mesh().
| void copy_dverts | ( | struct MDeformVert * | dst, |
| struct MDeformVert * | src, | ||
| int | totvert | ||
| ) |
Definition at line 156 of file mesh.c.
References MDeformVert::dw, i, and MEM_callocN().
Referenced by copy_lattice(), copy_wpaint_prev(), load_editLatt(), and make_editLatt().
Definition at line 208 of file mesh.c.
References Mesh::bb, CD_DUPLICATE, CD_MASK_MESH, CD_MTFACE, copy_key(), copy_libblock(), CustomData_copy(), CustomDataLayer::data, Mesh::edit_mesh, Mesh::fdata, Key::from, i, id_lib_extern(), id_us_plus(), Mesh::key, CustomData::layers, Mesh::mat, MEM_dupallocN(), mesh_update_customdata_pointers(), Mesh::mselect, NULL, Mesh::pv, Mesh::texcomesh, Mesh::totcol, Mesh::totedge, Mesh::totface, CustomData::totlayer, Mesh::totvert, MTFace::tpage, and CustomDataLayer::type.
Referenced by convert_exec(), KX_BlenderSceneConverter::ConvertMeshSpecial(), id_copy(), make_local_mesh(), object_add_duplicate_internal(), and single_obdata_users().
| void create_vert_edge_map | ( | ListBase ** | map, |
| IndexNode ** | mem, | ||
| const struct MEdge * | medge, | ||
| const int | totvert, | ||
| const int | totedge | ||
| ) |
| void create_vert_face_map | ( | ListBase ** | map, |
| IndexNode ** | mem, | ||
| const struct MFace * | mface, | ||
| const int | totvert, | ||
| const int | totface | ||
| ) |
Referenced by ccgDM_getFaceMap(), and cdDM_getFaceMap().
| void free_dverts | ( | struct MDeformVert * | dvert, |
| int | totvert | ||
| ) |
Definition at line 175 of file mesh.c.
References i, and MEM_freeN().
Referenced by copy_wpaint_prev(), free_editLatt(), free_lattice(), load_editLatt(), and resizelattice().
| void free_mesh | ( | struct Mesh * | me | ) |
Definition at line 125 of file mesh.c.
References Mesh::adt, Mesh::bb, BKE_free_animdata(), CustomData_free(), PartialVisibility::edge_map, Mesh::edit_mesh, Mesh::fdata, Mesh::id, Mesh::mat, MEM_freeN(), Mesh::mselect, NULL, PartialVisibility::old_edges, PartialVisibility::old_faces, Mesh::pv, Mesh::totedge, PartialVisibility::totedge, Mesh::totface, PartialVisibility::totface, Mesh::totvert, PartialVisibility::totvert, unlink_mesh(), and PartialVisibility::vert_map.
Referenced by free_libblock().
| void free_uv_vert_map | ( | UvVertMap * | vmap | ) |
Definition at line 1434 of file mesh.c.
References UvVertMap::buf, MEM_freeN(), and UvVertMap::vert.
Referenced by EM_make_uv_vert_map(), make_uv_vert_map(), and ss_sync_from_uv().
Definition at line 526 of file mesh.c.
References Object::data, NULL, OB_MESH, and Object::type.
Referenced by do_paintface_box_select(), EM_selectmode_to_scene(), image_paint_sample_color_poll(), make_vertexcol(), minmax_object(), multires_force_external_reload(), multiresModifier_base_apply(), multiresModifier_del_levels(), paintface_deselect_all_visible(), paintface_flush_flags(), paintface_hide(), paintface_minmax(), paintface_mouse_select(), paintface_reveal(), paintface_select_linked(), sculpt_update_mesh_elements(), set_vpaint(), set_wpaint(), special_editmenu(), texture_paint_init(), texture_paint_toggle_exec(), vpaint_fill(), vpaint_paint_face(), vpaint_stroke_test_start(), weight_paint_sample_enum_itemf(), weight_sample_invoke(), and wpaint_stroke_test_start().
| float* get_mesh_orco_verts | ( | struct Object * | ob | ) |
Definition at line 409 of file mesh.c.
References MVert::co, copy_v3_v3(), Object::data, MEM_callocN(), MIN2, Mesh::mvert, NULL, Mesh::texcomesh, and Mesh::totvert.
Referenced by distribute_threads_init_data(), face_duplilist(), get_dm(), get_orco_coords_dm(), and vertex_duplilist().
Definition at line 1429 of file mesh.c.
References UvVertMap::vert.
Referenced by get_face_uv_map_vert(), and ss_sync_from_uv().
| void make_edges | ( | struct Mesh * | me, |
| int | old | ||
| ) |
Definition at line 684 of file mesh.c.
References CD_ASSIGN, CD_MEDGE, CustomData_add_layer(), make_edges_mdata(), Mesh::medge, mesh_strip_loose_faces(), Mesh::mface, Mesh::mvert, Mesh::totedge, Mesh::totface, and Mesh::totvert.
Referenced by do_versions(), mball_to_mesh(), and MeshImporter::write_geometry().
| void make_local_mesh | ( | struct Mesh * | me | ) |
Definition at line 289 of file mesh.c.
References copy_mesh(), Object::data, ELEM, expand_local_mesh(), ListBase::first, ID::flag, G, Mesh::id, Object::id, ID::lib, LIB_LOCAL, Global::main, Main::mesh, new_id(), ID::next, NULL, Main::object, set_mesh(), and ID::us.
Referenced by id_make_local().
| UvVertMap* make_uv_vert_map | ( | struct MFace * | mface, |
| struct MTFace * | tface, | ||
| unsigned int | totface, | ||
| unsigned int | totvert, | ||
| int | selected, | ||
| float * | limit | ||
| ) |
Definition at line 1334 of file mesh.c.
References UvVertMap::buf, UvMapVert::f, fabsf, free_uv_vert_map(), i, ME_FACE_SEL, ME_HIDE, MEM_callocN(), UvMapVert::next, next, NULL, UvMapVert::separate, sub_v2_v2v2(), UvMapVert::tfindex, and UvVertMap::vert.
Referenced by ss_sync_from_uv().
Definition at line 738 of file mesh.c.
References CD_CALLOC, CD_MFACE, CD_MVERT, MVert::co, CustomData_add_layer(), DL_INDEX4, Mesh::fdata, ListBase::first, MFace::flag, DispList::index, make_edges(), ME_SMOOTH, Mesh::mface, Mesh::mvert, MVert::no, normal_float_to_short_v3(), DispList::nors, DispList::nr, NULL, DispList::parts, test_index_face(), Mesh::totface, Mesh::totvert, DispList::type, MFace::v1, MFace::v2, MFace::v3, MFace::v4, VECCOPY, and DispList::verts.
Referenced by convert_exec().
| void mesh_calc_normals | ( | struct MVert * | mverts, |
| int | numVerts, | ||
| struct MFace * | mfaces, | ||
| int | numFaces, | ||
| float(*) | faceNors_r[3] | ||
| ) |
Definition at line 1284 of file mesh.c.
References accumulate_vertex_normals(), MVert::co, i, MEM_callocN(), MEM_freeN(), MVert::no, normal_float_to_short_v3(), normal_quad_v3(), normal_tri_v3(), normalize_v3(), normalize_v3_v3(), NULL, MFace::v1, MFace::v2, MFace::v3, and MFace::v4.
Referenced by apply_objects_internal(), BLI_pbvh_apply_vertCos(), CDDM_calc_normals(), do_versions(), ED_mesh_calc_normals(), ED_mesh_transform(), ED_mesh_update(), load_editMesh(), mesh_set_smooth_flag(), nurbs_to_mesh(), sculpt_flush_stroke_deform(), sculpt_undo_restore(), sculpt_vertcos_to_key(), and MeshImporter::write_geometry().
| int mesh_center_bounds | ( | struct Mesh * | me, |
| float | cent[3] | ||
| ) |
Definition at line 1579 of file mesh.c.
References INIT_MINMAX, max, mid_v3_v3v3(), min, and minmax_mesh().
Referenced by object_origin_set_exec().
| int mesh_center_median | ( | struct Mesh * | me, |
| float | cent[3] | ||
| ) |
Definition at line 1563 of file mesh.c.
References add_v3_v3(), MVert::co, i, mul_v3_fl(), Mesh::mvert, Mesh::totvert, and zero_v3().
Referenced by object_origin_set_exec().
| void mesh_delete_material_index | ( | struct Mesh * | me, |
| int | index | ||
| ) |
Definition at line 1255 of file mesh.c.
References i, MFace::mat_nr, and Mesh::mface.
Referenced by data_delete_material_index_id().
Definition at line 385 of file mesh.c.
References Mesh::bb, Object::bb, Object::data, and tex_space_mesh().
Referenced by draw_bounding_volume(), minmax_object(), and object_get_boundbox().
| void mesh_get_texspace | ( | struct Mesh * | me, |
| float * | loc_r, | ||
| float * | rot_r, | ||
| float * | size_r | ||
| ) |
Definition at line 398 of file mesh.c.
References Mesh::bb, Mesh::loc, Mesh::rot, Mesh::size, tex_space_mesh(), and VECCOPY.
Referenced by calc_edge_stress(), drawtexspace(), image_aspect(), psys_render_simplify_distribution(), and transform_mesh_orco_verts().
| float(* mesh_getVertexCos | ( | struct Mesh * | me, |
| int * | numVerts_r | ||
| ) | )[3] |
Definition at line 1322 of file mesh.c.
References MVert::co, cos(), i, MEM_mallocN(), Mesh::mvert, Mesh::totvert, and VECCOPY.
Referenced by crazyspace_build_sculpt(), mesh_calc_modifiers(), mesh_create_derived_for_modifier(), sculpt_get_first_deform_matrices(), and sculpt_update_mesh_elements().
| int mesh_layers_menu | ( | struct CustomData * | data, |
| int | type | ||
| ) |
Definition at line 1345 of file editmesh_mods.c.
References MEM_freeN(), MEM_mallocN(), mesh_layers_menu_charlen(), mesh_layers_menu_concat(), pupmenu(), and str.
Referenced by EM_mesh_copy_face_layer().
| int mesh_layers_menu_charlen | ( | struct CustomData * | data, |
| int | type | ||
| ) |
Definition at line 1313 of file editmesh_mods.c.
References i, CustomData::layers, and CustomData::totlayer.
Referenced by mesh_layers_menu().
| void mesh_layers_menu_concat | ( | struct CustomData * | data, |
| int | type, | ||
| char * | str | ||
| ) |
Definition at line 1329 of file editmesh_mods.c.
References i, CustomData::layers, CustomDataLayer::name, str, CustomData::totlayer, and CustomDataLayer::type.
Referenced by mesh_layers_menu().
| struct PartialVisibility* mesh_pmv_copy | ( | struct PartialVisibility * | ) | [read] |
Definition at line 1486 of file mesh.c.
References PartialVisibility::edge_map, MEM_dupallocN(), PartialVisibility::old_edges, PartialVisibility::old_faces, and PartialVisibility::vert_map.
| void mesh_pmv_free | ( | struct PartialVisibility * | ) |
Definition at line 1496 of file mesh.c.
References PartialVisibility::edge_map, MEM_freeN(), PartialVisibility::old_edges, PartialVisibility::old_faces, and PartialVisibility::vert_map.
| void mesh_pmv_off | ( | struct Mesh * | me | ) |
Definition at line 1542 of file mesh.c.
References MEM_freeN(), mesh_pmv_revert(), NULL, and Mesh::pv.
Referenced by ED_object_enter_editmode(), modifier_apply_obdata(), and modifier_apply_shape().
| void mesh_pmv_revert | ( | struct Mesh * | me | ) |
Definition at line 1505 of file mesh.c.
References CD_ASSIGN, CD_MEDGE, CD_MFACE, CD_MVERT, CustomData_add_layer(), CustomData_free_layer_active(), PartialVisibility::edge_map, Mesh::fdata, i, MEM_freeN(), MEM_mallocN(), mesh_update_customdata_pointers(), Mesh::mvert, NULL, PartialVisibility::old_edges, PartialVisibility::old_faces, Mesh::pv, Mesh::totedge, PartialVisibility::totedge, Mesh::totface, PartialVisibility::totface, Mesh::totvert, PartialVisibility::totvert, and PartialVisibility::vert_map.
Referenced by mesh_pmv_off().
| void mesh_set_smooth_flag | ( | struct Object * | meshOb, |
| int | enableSmooth | ||
| ) |
Definition at line 1266 of file mesh.c.
References Object::data, MFace::flag, i, ME_SMOOTH, mesh_calc_normals(), Mesh::mface, Mesh::mvert, NULL, Mesh::totface, and Mesh::totvert.
Referenced by shade_smooth_exec().
| void mesh_strip_loose_edges | ( | struct Mesh * | me | ) |
Definition at line 721 of file mesh.c.
References CustomData_copy_data(), CustomData_free_elem(), Mesh::medge, Mesh::totedge, MEdge::v1, and MEdge::v2.
Referenced by BKE_mesh_validate_arrays().
| void mesh_strip_loose_faces | ( | struct Mesh * | me | ) |
Definition at line 704 of file mesh.c.
References CustomData_copy_data(), CustomData_free_elem(), Mesh::fdata, Mesh::mface, Mesh::totface, and MFace::v3.
Referenced by BKE_mesh_validate_arrays(), do_versions(), and make_edges().
Definition at line 1084 of file mesh.c.
References add_curve(), appendPolyLineVert(), Object::bb, BLI_addtail(), BLI_edgehash_free(), BLI_edgehash_haskey(), BLI_edgehash_insert(), BLI_edgehash_new(), BLI_findlink(), BLI_freelinkN(), BLI_freelistN(), Nurb::bp, CD_MASK_MESH, MVert::co, copy_v3_v3(), CU_3D, CU_NURB_CYCLIC, CU_NURB_ENDPOINT, Object::data, Object::derivedFinal, EdgeLink::edge, BPoint::f1, FALSE, ListBase::first, Curve::flag, Nurb::flagu, DerivedMesh::getEdgeArray, DerivedMesh::getFaceArray, DerivedMesh::getNumEdges, DerivedMesh::getNumFaces, DerivedMesh::getVertArray, i, Object::id, VertLink::index, ListBase::last, MEM_callocN(), MEM_freeN(), mesh_get_derived_final(), ID::name, DerivedMesh::needsFree, VertLink::next, NULL, Curve::nurb, OB_CURVE, Nurb::orderu, Nurb::pntsu, Nurb::pntsv, prependPolyLineVert(), BPoint::radius, DerivedMesh::release, Nurb::resolu, SELECT, TRUE, Object::type, MFace::v1, MEdge::v1, MFace::v2, MEdge::v2, MFace::v3, MFace::v4, BPoint::vec, and BPoint::weight.
Referenced by convert_exec().
| void mesh_translate | ( | struct Mesh * | me, |
| float | offset[3], | ||
| int | do_keys | ||
| ) |
Definition at line 1591 of file mesh.c.
References add_v3_v3(), Key::block, MVert::co, KeyBlock::data, ListBase::first, i, Mesh::key, Mesh::mvert, KeyBlock::next, KeyBlock::totelem, and Mesh::totvert.
Referenced by object_origin_set_exec().
| void mesh_update_customdata_pointers | ( | struct Mesh * | me | ) |
Definition at line 84 of file mesh.c.
References CD_MCOL, CD_MDEFORMVERT, CD_MEDGE, CD_MFACE, CD_MSTICKY, CD_MTFACE, CD_MVERT, CustomData_get_layer(), Mesh::dvert, Mesh::fdata, Mesh::mcol, Mesh::medge, Mesh::mface, Mesh::msticky, Mesh::mtface, and Mesh::mvert.
Referenced by copy_mesh(), customdata_version_242(), delete_customdata_layer(), DM_to_mesh(), ED_mesh_color_add(), ED_mesh_uv_texture_add(), join_mesh_exec(), load_editMesh(), make_vertexcol(), mesh_add_edges(), mesh_add_faces(), mesh_add_verts(), and mesh_pmv_revert().
| int minmax_mesh | ( | struct Mesh * | me, |
| float | min[3], | ||
| float | max[3] | ||
| ) |
Definition at line 1552 of file mesh.c.
References MVert::co, DO_MINMAX, i, Mesh::mvert, and Mesh::totvert.
Referenced by boundbox_mesh(), and mesh_center_bounds().
| int nurbs_to_mdata | ( | struct Object * | ob, |
| struct MVert ** | allvert, | ||
| int * | _totvert, | ||
| struct MEdge ** | alledge, | ||
| int * | _totedge, | ||
| struct MFace ** | allface, | ||
| int * | _totface | ||
| ) |
Definition at line 790 of file mesh.c.
References Object::disp, and nurbs_to_mdata_customdb().
Referenced by nurbs_to_mesh().
| int nurbs_to_mdata_customdb | ( | struct Object * | ob, |
| struct ListBase * | dispbase, | ||
| struct MVert ** | allvert, | ||
| int * | _totvert, | ||
| struct MEdge ** | alledge, | ||
| int * | _totedge, | ||
| struct MFace ** | allface, | ||
| int * | _totface | ||
| ) |
Definition at line 799 of file mesh.c.
References MVert::co, DispList::col, CU_3D, CU_SMOOTH, Object::data, DL_CYCL_U, DL_CYCL_V, DL_INDEX3, DL_POLY, DL_SEGM, DL_SURF, ListBase::first, MFace::flag, DispList::flag, Curve::flag, DispList::index, make_edges_mdata(), MFace::mat_nr, ME_SMOOTH, MEM_callocN(), mfaces_strip_loose(), DispList::next, DispList::nr, NULL, OB_SURF, DispList::parts, DispList::rt, smooth(), test_index_face(), DispList::type, Object::type, MFace::v1, MFace::v2, MFace::v3, MFace::v4, VECCOPY, and DispList::verts.
Referenced by CDDM_from_curve_customDB(), and nurbs_to_mdata().
| void nurbs_to_mesh | ( | struct Object * | ob | ) |
Definition at line 997 of file mesh.c.
References add_mesh(), CD_ASSIGN, CD_MEDGE, CD_MFACE, CD_MVERT, Main::curve, CustomData_add_layer(), Object::data, Object::derivedFinal, DM_to_mesh(), Mesh::fdata, ListBase::first, free_libblock(), G, Object::id, id_us_plus(), Global::main, Mesh::mat, Curve::mat, Mesh::medge, mesh_calc_normals(), Mesh::mface, Mesh::mvert, ID::next, NULL, nurbs_to_mdata(), OB_MESH, Main::object, tex_space_mesh(), Mesh::totcol, Curve::totcol, Mesh::totedge, Mesh::totface, Mesh::totvert, and Object::type.
Referenced by curvetomesh().
Definition at line 534 of file mesh.c.
References Object::data, Mesh::id, id_us_plus(), multires_force_update(), NULL, OB_MESH, test_object_materials(), test_object_modifiers(), Object::type, and ID::us.
Referenced by MeshImporter::create_mesh_object(), and make_local_mesh().
| int test_index_face | ( | struct MFace * | mface, |
| struct CustomData * | mfdata, | ||
| int | mfindex, | ||
| int | nr | ||
| ) |
Definition at line 454 of file mesh.c.
References CustomData_swap(), SWAP, MFace::v1, MFace::v2, MFace::v3, and MFace::v4.
Referenced by applyModifier(), arrayModifier_doArray(), BME_bmesh_to_derivedmesh(), CDDM_from_editmesh(), ConvertCSGDescriptorsToDerivedMesh(), cutEdges(), doMirrorOnAxis(), emDM_copyFaceArray(), emDM_getFace(), explodeMesh(), fluidsim_read_obj(), load_editMesh(), mball_to_mesh(), nurbs_to_mdata_customdb(), and test_index_face_maxvert().
| void tex_space_mesh | ( | struct Mesh * | me | ) |
Definition at line 365 of file mesh.c.
References AUTOSPACE, boundbox_mesh(), copy_v3_v3(), Mesh::loc, Mesh::rot, size(), Mesh::size, Mesh::texflag, and zero_v3().
Referenced by mesh_get_bb(), mesh_get_texspace(), and nurbs_to_mesh().
| void transform_mesh_orco_verts | ( | struct Mesh * | me, |
| float(*) | orco[3], | ||
| int | totvert, | ||
| int | invert | ||
| ) |
Definition at line 429 of file mesh.c.
References co, madd_v3_v3v3v3(), mesh_get_texspace(), NULL, size(), and Mesh::texcomesh.
Referenced by add_orco_dm(), distribute_threads_exec(), distribute_threads_init_data(), face_duplilist(), psys_face_mat(), psys_mat_hair_to_orco(), and vertex_duplilist().
| void unlink_mesh | ( | struct Mesh * | me | ) |
Definition at line 102 of file mesh.c.
References Key::id, Material::id, Ipo::id, Key::ipo, Mesh::key, Mesh::mat, NULL, Mesh::texcomesh, Mesh::totcol, and ID::us.
Referenced by free_mesh(), and free_object().