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 AnimDataadt
struct BoundBoxbb
struct Ipo *ipo DNA_DEPRECATED
struct Keykey
struct Material ** mat
struct MPolympoly
struct MTexPolymtpoly
struct MLoopmloop
struct MLoopUVmloopuv
struct MLoopColmloopcol
struct MFacemface
struct MTFacemtface
struct TFacetface
struct MVertmvert
struct MEdgemedge
struct MDeformVertdvert
struct MColmcol
struct MStickymsticky
struct Meshtexcomesh
struct MSelectmselect
struct EditMeshedit_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< float3verts
vector< Triangletriangles
vector< uintshader
vector< bool > smooth
vector< uintused_shaders
AttributeSet attributes
BoundBox bounds
bool transform_applied
bool transform_negative_scaled
DisplacementMethod displacement_method
bool need_update
bool need_update_rebuild
BVHbvh
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: