Blender V2.61 - r43446
Classes | Public Types | Public Member Functions | Public Attributes

Mesh Class Reference

#include <DNA_mesh_types.h>

List of all members.

Classes

struct  Triangle

Public Types

enum  DisplacementMethod { DISPLACE_BUMP, DISPLACE_TRUE, DISPLACE_BOTH }

Public Member Functions

 Mesh ()
 ~Mesh ()
void reserve (int numverts, int numfaces)
void clear ()
void add_triangle (int v0, int v1, int v2, int shader, bool smooth)
void compute_bounds ()
void add_face_normals ()
void add_vertex_normals ()
void pack_normals (Scene *scene, float4 *normal, float4 *vnormal)
void pack_verts (float4 *tri_verts, float4 *tri_vindex, size_t vert_offset)
void compute_bvh (SceneParams *params, Progress &progress)
void tag_update (Scene *scene, bool rebuild)

Public Attributes

ID id
struct AnimData * adt
struct BoundBox * bb
struct Ipo *ipo DNA_DEPRECATED
struct Key * key
struct Material ** mat
struct MPoly * mpoly
struct MTexPoly * mtpoly
struct MLoop * mloop
struct MLoopUV * mloopuv
struct MLoopCol * mloopcol
struct MFace * mface
struct MTFace * mtface
struct TFace * tface
struct MVert * mvert
struct MEdge * medge
struct MDeformVert * dvert
struct MCol * mcol
struct MSticky * msticky
struct Mesh * texcomesh
struct MSelect * mselect
struct EditMesh * edit_mesh
struct CustomData vdata edata fdata
struct CustomData pdata ldata
int totvert
int totedge
int totface
int totselect
int totpoly
int totloop
int act_face
float loc [3]
float size [3]
float rot [3]
short texflag
short drawflag
short smoothresh
short flag
short subdiv DNA_DEPRECATED
short subdiv subdivr DNA_DEPRECATED
char subsurftype DNA_DEPRECATED
char editflag
short totcol
struct Multires *mr DNA_DEPRECATED
ustring name
vector< float3 > verts
vector< Triangle > triangles
vector< uint > shader
vector< bool > smooth
vector< uint > used_shaders
AttributeSet attributes
BoundBox bounds
bool transform_applied
bool transform_negative_scaled
DisplacementMethod displacement_method
bool need_update
bool need_update_rebuild
BVH * bvh
size_t tri_offset
size_t vert_offset

Detailed Description

Definition at line 62 of file DNA_mesh_types.h.


Member Enumeration Documentation

Enumerator:
DISPLACE_BUMP 
DISPLACE_TRUE 
DISPLACE_BOTH 

Definition at line 54 of file mesh.h.


Constructor & Destructor Documentation

CCL_NAMESPACE_BEGIN Mesh::Mesh ( )
Mesh::~Mesh ( )

Definition at line 54 of file mesh.cpp.

References bvh.


Member Function Documentation

void Mesh::add_face_normals ( )
void Mesh::add_triangle ( int  v0,
int  v1,
int  v2,
int  shader,
bool  smooth 
)

Definition at line 84 of file mesh.cpp.

References shader, smooth, triangles, and Mesh::Triangle::v.

Referenced by EdgeDice::add_triangle(), create_mesh(), and xml_read_mesh().

void Mesh::add_vertex_normals ( )
void Mesh::clear ( )
void Mesh::compute_bounds ( )
void Mesh::compute_bvh ( SceneParams *  params,
Progress &  progress 
)
void Mesh::pack_normals ( Scene *  scene,
float4 *  normal,
float4 *  vnormal 
)
void Mesh::pack_verts ( float4 *  tri_verts,
float4 *  tri_vindex,
size_t  vert_offset 
)
void Mesh::reserve ( int  numverts,
int  numfaces 
)

Definition at line 59 of file mesh.cpp.

References attributes, AttributeSet::reserve(), shader, smooth, triangles, and verts.

Referenced by EdgeDice::reserve().

void Mesh::tag_update ( Scene *  scene,
bool  rebuild 
)

Member Data Documentation

Definition at line 116 of file DNA_mesh_types.h.

Referenced by load_editMesh(), make_editMesh(), and paintface_mouse_select().

struct BoundBox* Mesh::bb

Definition at line 71 of file mesh.h.

Referenced by Object::compute_bounds(), and compute_bounds().

Definition at line 81 of file mesh.h.

Referenced by BVH::clear_cache_except(), compute_bvh(), Mesh(), BVH::pack_instances(), and ~Mesh().

Definition at line 74 of file mesh.h.

Referenced by MeshManager::displace(), ShaderManager::get_shader_id(), Mesh(), and xml_read_mesh().

Definition at line 68 of file DNA_mesh_types.h.

short subdiv Mesh::DNA_DEPRECATED

Definition at line 126 of file DNA_mesh_types.h.

short subdiv subdivr Mesh::DNA_DEPRECATED

Definition at line 126 of file DNA_mesh_types.h.

char subsurftype Mesh::DNA_DEPRECATED

Definition at line 127 of file DNA_mesh_types.h.

Definition at line 132 of file DNA_mesh_types.h.

struct CustomData vdata edata Mesh::fdata

Definition at line 96 of file DNA_mesh_types.h.

Referenced by alphasort_version_246(), applyModifier(), MeshImporter::assign_material_to_geom(), MeshImporter::assign_textures_to_uvlayer(), BKE_mesh_ensure_navmesh(), BKE_mesh_validate(), bpath_traverse_id(), CDDM_from_mesh(), convert_tfacematerial(), copy_mesh(), GeometryExporter::createPolylist(), GeometryExporter::createTexcoordsSource(), GeometryExporter::createVertexColorSource(), customdata_version_242(), customdata_version_243(), delete_customdata_layer(), direct_link_mesh(), DM_to_mesh(), do_version_tface(), dynamicPaint_outputLayerExists(), ED_mesh_color_add(), ED_mesh_color_remove(), ED_mesh_color_remove_named(), ED_mesh_uv_texture_add(), ED_mesh_uv_texture_remove(), ED_object_modifier_convert(), expand_local_mesh(), expand_mesh(), free_mesh(), get_levels_from_disps(), getActiveUVLayerName(), join_mesh_exec(), lib_link_mesh(), load_editMesh(), make_editMesh(), make_local_image(), make_vertexcol(), mball_to_mesh(), mesh_add_faces(), mesh_strip_loose_faces(), mesh_update_customdata_pointers(), modifier_apply_obdata(), multires_apply_smat(), multires_del_higher(), multires_dm_create_from_derived(), multires_external_pack_exec(), multires_external_save_exec(), multires_external_save_invoke(), multires_force_external_reload(), multires_load_old(), multires_load_old_250(), multires_load_old_vcols(), multires_set_tot_mdisps(), multires_subdivide(), multires_sync_levels(), multires_topology_changed(), multiresModifier_del_levels(), multiresModifier_disp_run(), multiresModifier_set_levels_from_disps(), multiresModifier_update(), navmesh_clear_exec(), navmesh_obmode_data_poll(), navmesh_reset_exec(), nurbs_to_mesh(), object_modifier_remove(), GeometryExporter::operator()(), sculpt_multires_active(), sort_faces_exec(), texture_paint_toggle_exec(), and write_meshs().

short Mesh::flag
struct Key* Mesh::key
struct CustomData pdata Mesh::ldata

Definition at line 100 of file DNA_mesh_types.h.

Referenced by direct_link_mesh().

float Mesh::loc[3]
struct Material** Mesh::mat
struct MCol* Mesh::mcol
struct MEdge* Mesh::medge
struct MFace* Mesh::mface

Definition at line 83 of file DNA_mesh_types.h.

Referenced by add_mesh_quad_diag_springs(), add_weight_mcol_dm(), alphasort_version_246(), apply_objects_internal(), applyModifier(), bbs_mesh_solid_hide2__setDrawOpts(), bbs_mesh_solid_hide__setDrawOpts(), BKE_mesh_calc_edges(), BKE_mesh_validate(), ccgDM_getFaceMap(), ccgDM_getPBVH(), cdDM_getFaceMap(), cdDM_getPBVH(), convert_tfacematerial(), count_mesh_quads(), crazyspace_set_quats_mesh(), GeometryExporter::create_normals(), GeometryExporter::createPolylist(), GeometryExporter::createTexcoordsSource(), GeometryExporter::createVertexColorSource(), customdata_version_242(), direct_link_mesh(), do_paintface_box_select(), do_shared_vertexcol(), do_version_tface(), do_versions(), draw_mesh_face_select__drawFaceOptsInv(), draw_mesh_fancy(), draw_mesh_text(), draw_mesh_textured_old(), draw_tface_mapped__set_draw(), draw_uvs_other(), ED_mesh_calc_normals(), ED_mesh_transform(), ED_mesh_update(), ED_object_modifier_convert(), EM_backbuf_checkAndSelectTFaces(), get_levels_from_disps(), get_tface_mesh_marked_edge_info(), getSurroundingVerts(), heat_bone_weighting(), imapaint_face_image(), imapaint_paint_stroke(), init_render_mesh(), load_editMesh(), make_edges(), make_editMesh(), mball_to_mesh(), mesh_add_faces(), mesh_delete_material_index(), mesh_faces_to_scratch(), mesh_get_x_mirror_faces(), mesh_set_smooth_flag(), mesh_strip_loose_faces(), mesh_update_customdata_pointers(), multires_apply_smat(), multires_del_higher(), multires_load_old(), multires_load_old_250(), multires_load_old_face_flags(), multires_reallocate_mdisps(), multires_set_tot_mdisps(), multires_topology_changed(), multiresModifier_base_apply(), multiresModifier_disp_run(), nurbs_to_mesh(), paintface_deselect_all_visible(), paintface_flush_flags(), paintface_hide(), paintface_minmax(), paintface_mouse_select(), paintface_reveal(), PE_mirror_x(), sculpt_flush_stroke_deform(), sculpt_undo_restore(), sculpt_update_mesh_elements(), sculpt_vertcos_to_key(), select_linked_tfaces_with_seams(), sort_faces_exec(), tex_mat_set_face_mesh_cb(), vcol_to_fcol(), vpaint_fill(), vpaint_paint_face(), weight_paint_sample_enum_itemf(), weight_sample_invoke(), wpaint__setSolidDrawOptions_facemask(), wpaint__setSolidDrawOptions_material(), wpaint_fill(), wpaint_stroke_update_step(), and MeshImporter::write_geometry().

struct MLoop* Mesh::mloop

Definition at line 77 of file DNA_mesh_types.h.

Referenced by direct_link_mesh().

Definition at line 79 of file DNA_mesh_types.h.

Definition at line 78 of file DNA_mesh_types.h.

struct MPoly* Mesh::mpoly

Definition at line 75 of file DNA_mesh_types.h.

Referenced by direct_link_mesh().

Definition at line 92 of file DNA_mesh_types.h.

Referenced by copy_mesh(), direct_link_mesh(), free_mesh(), load_editMesh(), and make_editMesh().

Definition at line 76 of file DNA_mesh_types.h.

struct MVert* Mesh::mvert

Definition at line 86 of file DNA_mesh_types.h.

Referenced by add_verts_to_dgroups(), BL_MeshDeformer::Apply(), apply_objects_internal(), applyModifier(), bbs_obmode_mesh_verts(), BKE_mesh_validate(), can_pbvh_draw(), ccgDM_getPBVH(), cdDM_getPBVH(), crazyspace_set_quats_mesh(), GeometryExporter::create_normals(), GeometryExporter::createVertsSource(), customdata_version_242(), direct_link_mesh(), do_paintvert_box_select(), do_versions(), drawSelectedVertices(), ED_mesh_calc_normals(), ED_mesh_transform(), ED_mesh_update(), ED_object_modifier_convert(), ED_vgroup_give_parray(), ED_vgroup_mirror(), EM_backbuf_checkAndSelectVerts_obmode(), get_mesh_orco_verts(), heat_bone_weighting(), init_render_mesh(), key_to_mesh(), load_editMesh(), make_edges(), make_editMesh(), mball_to_mesh(), mesh_add_verts(), mesh_center_median(), mesh_get_x_mirror_faces(), mesh_get_x_mirror_vert_spacial(), mesh_getVertexCos(), mesh_octree_table(), mesh_to_key(), mesh_translate(), mesh_update_customdata_pointers(), minmax_mesh(), mouse_weight_paint_vertex_select(), multires_load_old(), multiresModifier_base_apply(), my_boundbox_mesh(), nurbs_to_mesh(), object_shape_key_mirror(), paintface_minmax(), paintvert_deselect_all_visible(), paintvert_flush_flags(), RE_make_sticky(), sculpt_flush_pbvhvert_deform(), sculpt_flush_stroke_deform(), sculpt_undo_restore(), sculpt_update_mesh_elements(), sculpt_vertcos_to_key(), sort_faces_exec(), springs_from_mesh(), BL_SkinDeformer::UpdateInternal(), vgroup_active_remove_verts(), vgroup_assign_verts(), vgroup_fix(), vgroup_select_verts(), wpaint_fill(), wpaint_stroke_update_step(), and MeshImporter::write_geometry().

ustring Mesh::name

Definition at line 60 of file mesh.h.

Referenced by MeshManager::device_update().

Definition at line 77 of file mesh.h.

Referenced by MeshManager::device_update(), Mesh(), Object::tag_update(), and tag_update().

Definition at line 78 of file mesh.h.

Referenced by compute_bvh(), MeshManager::device_update(), and tag_update().

float Mesh::rot[3]
vector<uint> Mesh::shader
float Mesh::size[3]
vector<bool> Mesh::smooth

Definition at line 66 of file mesh.h.

Referenced by add_triangle(), clear(), pack_normals(), and reserve().

struct TFace* Mesh::tface
short Mesh::totcol

Definition at line 104 of file DNA_mesh_types.h.

Referenced by add_mesh_quad_diag_springs(), add_weight_mcol_dm(), apply_objects_internal(), applyModifier(), BKE_mesh_calc_edges(), BKE_mesh_ensure_navmesh(), BKE_mesh_validate(), ccgDM_getFaceMap(), ccgDM_getPBVH(), CDDM_from_mesh(), cdDM_getFaceMap(), cdDM_getPBVH(), copy_mesh(), count_mesh_quads(), GeometryExporter::create_normals(), GeometryExporter::createPolylist(), GeometryExporter::createTexcoordsSource(), customdata_version_242(), delete_customdata_layer(), direct_link_mesh(), DM_to_mesh(), do_lasso_select_paintface(), do_paintface_box_select(), do_shared_vertexcol(), do_versions(), draw_mesh_object(), draw_mesh_text(), draw_uvs_other(), ED_mesh_calc_normals(), ED_mesh_color_add(), ED_mesh_transform(), ED_mesh_update(), ED_mesh_uv_texture_add(), EM_backbuf_checkAndSelectTFaces(), expand_mesh(), facesel_face_pick(), free_mesh(), get_indexarray(), get_levels_from_disps(), get_tface_mesh_marked_edge_info(), getSurroundingVerts(), heat_bone_weighting(), imapaint_pick_face(), init_render_mesh(), join_mesh_exec(), lib_link_mesh(), load_editMesh(), make_edges(), make_editMesh(), make_vertexcol(), mball_to_mesh(), mesh_add_faces(), mesh_faces_to_scratch(), mesh_get_x_mirror_faces(), mesh_set_smooth_flag(), mesh_strip_loose_faces(), modifier_apply_obdata(), multires_apply_smat(), multires_del_higher(), multires_dm_create_from_derived(), multires_external_pack_exec(), multires_external_save_exec(), multires_force_external_reload(), multires_load_old(), multires_load_old_250(), multires_load_old_face_flags(), multires_load_old_vcols(), multires_reallocate_mdisps(), multires_set_tot_mdisps(), multires_subdivide(), multires_sync_levels(), multires_topology_changed(), multiresbake_check(), multiresbake_image_exec_locked(), multiresModifier_del_levels(), multiresModifier_disp_run(), multiresModifier_update(), navmesh_clear_exec(), navmesh_reset_exec(), nurbs_to_mesh(), object_modifier_remove(), paint_facesel_circle_select(), paintface_deselect_all_visible(), paintface_hide(), paintface_minmax(), paintface_mouse_select(), paintface_reveal(), paintface_select_linked(), psys_calc_dmcache(), psys_particle_dm_face_lookup(), psys_render_simplify_distribution(), sculpt_flush_stroke_deform(), sculpt_undo_restore(), sculpt_update_mesh_elements(), sculpt_vertcos_to_key(), select_linked_tfaces_with_seams(), sort_faces_exec(), stats_object_paint(), texture_paint_toggle_exec(), vcol_to_fcol(), vpaint_fill(), vpaint_stroke_test_start(), vpaint_stroke_update_step(), wpaint_fill(), wpaint_stroke_test_start(), wpaint_stroke_update_step(), MeshImporter::write_geometry(), and write_meshs().

Definition at line 108 of file DNA_mesh_types.h.

Referenced by direct_link_mesh().

Definition at line 108 of file DNA_mesh_types.h.

Referenced by direct_link_mesh().

Definition at line 104 of file DNA_mesh_types.h.

Referenced by load_editMesh(), and make_editMesh().

Definition at line 104 of file DNA_mesh_types.h.

Referenced by add_verts_to_dgroups(), apply_objects_internal(), applyModifier(), armature_deform_verts(), BL_SkinDeformer::BGEDeformVerts(), BKE_mesh_validate(), BL_SkinDeformer::BlenderDeformVerts(), calc_weightpaint_vert_array(), ccgDM_getFaceMap(), ccgDM_getPBVH(), CDDM_from_mesh(), cdDM_getFaceMap(), cdDM_getPBVH(), RAS_MeshObject::CheckWeightCache(), copy_mesh(), count_duplilist(), crazyspace_build_sculpt(), crazyspace_set_quats_mesh(), GeometryExporter::createVertsSource(), customdata_version_242(), direct_link_mesh(), DM_to_mesh(), DM_to_meshkey(), do_lasso_select_paintvert(), do_ob_key(), do_paintvert_box_select(), do_shared_vertexcol(), do_versions(), do_view3d_region_buttons(), draw_mesh_object(), draw_object_backbufsel(), ED_mesh_calc_normals(), ED_mesh_mirrtopo_init(), ED_mesh_mirrtopo_recalc_check(), ED_mesh_transform(), ED_mesh_update(), ED_object_modifier_convert(), ED_vgroup_data_create(), ED_vgroup_give_array(), ED_vgroup_give_parray(), EM_backbuf_checkAndSelectVerts_obmode(), envelope_bone_weighting(), face_duplilist(), free_mesh(), get_mesh_orco_verts(), get_vert_def_nr(), get_weights_array(), heat_bone_weighting(), init_render_mesh(), insert_meshkey(), join_mesh_exec(), join_mesh_shapes_exec(), key_to_mesh(), key_to_vertcos(), load_editMesh(), make_edges(), make_editMesh(), mball_to_mesh(), mesh_add_verts(), mesh_calc_modifiers(), mesh_center_median(), mesh_get_mapped_verts_nors(), mesh_get_x_mirror_faces(), mesh_getVertexCos(), mesh_to_key(), mesh_to_softbody(), mesh_translate(), meshdeformModifier_do(), minmax_mesh(), modifier_mdef_compact_influences(), multires_load_old(), multiresModifier_base_apply(), my_boundbox_mesh(), nurbs_to_mesh(), paint_vertsel_circle_select(), paintvert_deselect_all_visible(), psys_calc_dmcache(), RE_make_sticky(), BL_MeshDeformer::RecalcNormals(), sculpt_flush_stroke_deform(), sculpt_undo_restore(), sculpt_update_mesh_elements(), sculpt_vertcos_to_key(), springs_from_mesh(), stats_object_paint(), sticky_remove_exec(), BL_ShapeDeformer::Update(), BL_SkinDeformer::UpdateInternal(), BL_MeshDeformer::VerifyStorage(), vertcos_to_key(), vertex_duplilist(), vertsel_vert_pick(), vgroup_active_remove_verts(), vgroup_assign_verts(), vgroup_delete_all(), vgroup_delete_edit_mode(), vgroup_fix(), vgroup_select_verts(), wpaint_fill(), wpaint_stroke_test_start(), MeshImporter::write_geometry(), and write_meshs().

Definition at line 73 of file mesh.h.

Referenced by add_face_normals(), add_vertex_normals(), Object::apply_transform(), clear(), and Mesh().


The documentation for this class was generated from the following files: