Blender V2.61 - r43446
|
Go to the source code of this file.
Functions | |
void | multires_mark_as_modified (struct Object *ob) |
void | multires_force_update (struct Object *ob) |
void | multires_force_render_update (struct Object *ob) |
void | multires_force_external_reload (struct Object *ob) |
void | multiresModifier_set_levels_from_disps (struct MultiresModifierData *mmd, struct Object *ob) |
struct DerivedMesh * | multires_dm_create_from_derived (struct MultiresModifierData *, int local_mmd, struct DerivedMesh *, struct Object *, int, int) |
struct MultiresModifierData * | find_multires_modifier_before (struct Scene *scene, struct ModifierData *lastmd) |
struct MultiresModifierData * | get_multires_modifier (struct Scene *scene, struct Object *ob, int use_first) |
struct DerivedMesh * | get_multires_dm (struct Scene *scene, struct MultiresModifierData *mmd, struct Object *ob) |
void | multiresModifier_del_levels (struct MultiresModifierData *, struct Object *, int direction) |
void | multiresModifier_base_apply (struct MultiresModifierData *mmd, struct Object *ob) |
void | multiresModifier_subdivide (struct MultiresModifierData *mmd, struct Object *ob, int updateblock, int simple) |
int | multiresModifier_reshape (struct Scene *scene, struct MultiresModifierData *mmd, struct Object *dst, struct Object *src) |
int | multiresModifier_reshapeFromDM (struct Scene *scene, struct MultiresModifierData *mmd, struct Object *ob, struct DerivedMesh *srcdm) |
int | multiresModifier_reshapeFromDeformMod (struct Scene *scene, struct MultiresModifierData *mmd, struct Object *ob, struct ModifierData *md) |
void | multires_stitch_grids (struct Object *) |
void | multires_free (struct Multires *mr) |
void | multires_load_old (struct Object *ob, struct Mesh *me) |
void | multires_load_old_250 (struct Mesh *) |
void | multiresModifier_scale_disp (struct Scene *scene, struct Object *ob) |
void | multiresModifier_prepare_join (struct Scene *scene, struct Object *ob, struct Object *to_ob) |
int | multires_mdisp_corners (struct MDisps *s) |
void | multires_mdisp_smooth_bounds (struct MDisps *disps) |
void | multires_topology_changed (struct Scene *scene, struct Object *ob) |
void | old_mdisps_bilinear (float out[3], float(*disps)[3], const int st, float u, float v) |
void | mdisp_rot_crn_to_face (const int S, const int corners, const int face_side, const float x, const float y, float *u, float *v) |
int | mdisp_rot_face_to_crn (const int corners, const int face_side, const float u, const float v, float *x, float *y) |
int | mdisp_rot_face_to_quad_crn (const int corners, const int face_side, const float u, const float v, float *x, float *y) |
void | mdisp_apply_weight (const int S, const int corners, int x, int y, const int face_side, float crn_weight[4][2], float *u_r, float *v_r) |
void | mdisp_flip_disp (const int S, const int corners, const float axis_x[2], const float axis_y[2], float disp[3]) |
void | mdisp_join_tris (struct MDisps *dst, struct MDisps *tri1, struct MDisps *tri2) |
Definition in file BKE_multires.h.
struct MultiresModifierData* find_multires_modifier_before | ( | struct Scene * | scene, |
struct ModifierData * | lastmd | ||
) | [read] |
Definition at line 87 of file multires.c.
References eModifierMode_Realtime, eModifierType_Multires, modifier_isEnabled(), NULL, ModifierData::prev, and ModifierData::type.
Referenced by modifier_apply_obdata().
struct DerivedMesh* get_multires_dm | ( | struct Scene * | scene, |
struct MultiresModifierData * | mmd, | ||
struct Object * | ob | ||
) | [read] |
Definition at line 72 of file multires.c.
References ModifierTypeInfo::applyModifier, CD_MASK_BAREMESH, CDDM_copy(), mesh_get_derived_deform(), modifierType_getInfo(), mti, and ModifierData::type.
Referenced by multires_apply_smat(), multiresModifier_reshapeFromDeformMod(), and multiresModifier_reshapeFromDM().
struct MultiresModifierData* get_multires_modifier | ( | struct Scene * | scene, |
struct Object * | ob, | ||
int | use_first | ||
) | [read] |
Definition at line 104 of file multires.c.
References eModifierMode_Realtime, eModifierType_Multires, ListBase::first, modifier_isEnabled(), Object::modifiers, ModifierData::next, NULL, and ModifierData::type.
Referenced by mesh_calc_modifiers(), multires_apply_smat(), multires_sync_levels(), multires_topology_changed(), multiresbake_check(), multiresbake_create_hiresdm(), multiresbake_create_loresdm(), and sculpt_get_first_deform_matrices().
void mdisp_apply_weight | ( | const int | S, |
const int | corners, | ||
int | x, | ||
int | y, | ||
const int | face_side, | ||
float | crn_weight[4][2], | ||
float * | u_r, | ||
float * | v_r | ||
) |
Definition at line 2105 of file multires.c.
References mdisp_rot_crn_to_face().
Referenced by layerInterp_mdisps().
void mdisp_flip_disp | ( | const int | S, |
const int | corners, | ||
const float | axis_x[2], | ||
const float | axis_y[2], | ||
float | disp[3] | ||
) |
Definition at line 2139 of file multires.c.
References add_v2_v2v2(), copy_v2_v2(), dot_v2v2(), len_v2(), mul_v2_v2fl(), and project_v2_v2v2().
Referenced by layerInterp_mdisps().
Definition at line 2182 of file multires.c.
References MDisps::disps, mdisp_rot_crn_to_face(), mdisp_rot_face_to_quad_crn(), MEM_callocN(), MEM_freeN(), old_mdisps_bilinear(), sqrt(), and MDisps::totdisp.
Referenced by layerInterp_mdisps().
void mdisp_rot_crn_to_face | ( | const int | S, |
const int | corners, | ||
const int | face_side, | ||
const float | x, | ||
const float | y, | ||
float * | u, | ||
float * | v | ||
) |
Definition at line 1977 of file multires.c.
References interp_v2_v2v2(), isect_seg_seg_v2_point(), mdisp_get_crn_rect(), and p.
Referenced by mdisp_apply_weight(), and mdisp_join_tris().
int mdisp_rot_face_to_crn | ( | const int | corners, |
const int | face_side, | ||
const float | u, | ||
const float | v, | ||
float * | x, | ||
float * | y | ||
) |
Definition at line 2005 of file multires.c.
References simple_enum_gen::w.
Referenced by get_ccgdm_data().
int mdisp_rot_face_to_quad_crn | ( | const int | corners, |
const int | face_side, | ||
const float | u, | ||
const float | v, | ||
float * | x, | ||
float * | y | ||
) |
Definition at line 2060 of file multires.c.
References face_to_crn_interp(), mdisp_get_crn_rect(), mdisp_pt_in_crn(), and p.
Referenced by layerInterp_mdisps(), and mdisp_join_tris().
struct DerivedMesh* multires_dm_create_from_derived | ( | struct MultiresModifierData * | , |
int | local_mmd, | ||
struct DerivedMesh * | , | ||
struct Object * | , | ||
int | , | ||
int | |||
) | [read] |
void multires_force_external_reload | ( | struct Object * | ob | ) |
Definition at line 179 of file multires.c.
References CD_MASK_MDISPS, CustomData_external_reload(), Mesh::fdata, get_mesh(), Mesh::id, multires_force_update(), and Mesh::totface.
void multires_force_render_update | ( | struct Object * | ob | ) |
Definition at line 187 of file multires.c.
References eModifierType_Multires, Object::mode, modifiers_findByType(), multires_force_update(), and OB_MODE_SCULPT.
Referenced by screen_render_invoke().
void multires_force_update | ( | struct Object * | ob | ) |
Definition at line 164 of file multires.c.
References BLI_pbvh_free(), Object::derivedFinal, DerivedMesh::needsFree, NULL, SculptSession::pbvh, DerivedMesh::release, and Object::sculpt.
Referenced by ED_sculpt_force_update(), init_multiresbake_job(), modifier_apply_obdata(), multires_del_higher(), multires_force_external_reload(), multires_force_render_update(), multires_subdivide(), multiresbake_image_exec_locked(), multiresModifier_base_apply(), multiresModifier_del_levels(), multiresModifier_reshapeFromDM(), sculpt_toggle_mode(), and set_mesh().
void multires_free | ( | struct Multires * | mr | ) |
Definition at line 1082 of file multires.c.
References BLI_freelistN(), CustomData_free(), Multires::edge_creases, Multires::edge_flags, Multires::fdata, ListBase::first, Multires::levels, MEM_freeN(), multires_free_level(), MultiresLevel::next, MultiresLevel::totface, MultiresLevel::totvert, Multires::vdata, and Multires::verts.
Referenced by direct_link_mesh(), and multires_load_old().
Definition at line 1511 of file multires.c.
References BLI_insertlinkbefore(), CD_CALLOC, CD_MEDGE, CD_MFACE, CD_MVERT, CD_REFERENCE, CDDM_from_mesh(), CustomData_add_layer(), CustomData_free_layers(), CustomDataLayer::data, MultiresLevel::edges, eModifierType_Multires, eModifierTypeType_OnlyDeform, MultiresLevel::faces, Mesh::fdata, ListBase::first, i, CustomData::layers, MultiresModifierData::lvl, MultiresFace::mat_nr, MFace::mat_nr, Mesh::medge, Mesh::mface, modifier_new(), Object::modifiers, modifierType_getInfo(), multires_dm_create_from_derived(), multires_dm_mark_as_modified(), multires_free(), multires_load_old_dm(), multires_load_old_face_flags(), multires_load_old_vcols(), multiresModifier_subdivide(), Mesh::mvert, ModifierData::next, NULL, DerivedMesh::release, Mesh::totedge, MultiresLevel::totedge, Mesh::totface, MultiresLevel::totface, MultiresModifierData::totlvl, Mesh::totvert, MultiresLevel::totvert, CustomDataLayer::type, ModifierTypeInfo::type, ModifierData::type, MultiresFace::v, MultiresEdge::v, MFace::v1, MEdge::v1, MFace::v2, MEdge::v2, MFace::v3, MFace::v4, and Mesh::verts.
Referenced by do_versions().
void multires_load_old_250 | ( | struct Mesh * | ) |
Definition at line 1058 of file multires.c.
References CD_MDISPS, CustomData_get_layer(), Mesh::fdata, Mesh::mface, old_mdisps_convert(), and Mesh::totface.
Referenced by do_versions().
void multires_mark_as_modified | ( | struct Object * | ob | ) |
Definition at line 158 of file multires.c.
References Object::derivedFinal, and multires_dm_mark_as_modified().
Referenced by sculpt_flush_update(), and sculpt_undo_restore().
int multires_mdisp_corners | ( | struct MDisps * | s | ) |
Definition at line 1696 of file multires.c.
References MDisps::totdisp.
Referenced by layerInterp_mdisps(), layerSwap_mdisps(), layerValidate_mdisps(), multires_mdisp_smooth_bounds(), and multires_topology_changed().
void multires_mdisp_smooth_bounds | ( | struct MDisps * | disps | ) |
Definition at line 1786 of file multires.c.
References data, MDisps::disps, mul_v3_fl(), multires_mdisp_corners(), sqrt(), and MDisps::totdisp.
Referenced by layerInterp_mdisps().
void multires_stitch_grids | ( | struct Object * | ) |
Definition at line 899 of file multires.c.
References BLI_pbvh_get_grid_updates(), ccgSubSurf_stitchFaces(), Object::derivedFinal, MEM_freeN(), CCGDerivedMesh::pbvh, and CCGDerivedMesh::ss.
Referenced by sculpt_fix_noise_tear(), and smooth().
Definition at line 1734 of file multires.c.
References CD_MASK_MDISPS, CD_MDISPS, CustomData_external_read(), CustomData_get_layer(), Object::data, Mesh::fdata, get_multires_modifier(), i, Mesh::id, MEM_callocN(), MEM_freeN(), Mesh::mface, multires_mdisp_corners(), multires_set_tot_mdisps(), NULL, Mesh::totface, MultiresModifierData::totlvl, and MFace::v4.
Referenced by load_editMesh().
void multiresModifier_base_apply | ( | struct MultiresModifierData * | mmd, |
struct Object * | ob | ||
) |
Definition at line 495 of file multires.c.
References add_v3_v3(), CD_MASK_BAREMESH, CDDM_from_mesh(), MVert::co, copy_v3_v3(), DM_set_only_copy(), eMultiresModifierFlag_PlainUv, MultiresModifierData::flags, get_mesh(), DerivedMesh::getFaceMap, DerivedMesh::getGridData, DerivedMesh::getNumVerts, DerivedMesh::getVertCo, i, IndexNode::index, MEM_callocN(), MEM_freeN(), Mesh::mface, mul_v3_fl(), multires_dm_create_local(), multires_force_update(), multiresModifier_disp_run(), Mesh::mvert, IndexNode::next, normal_quad_v3(), normal_tri_v3(), normalize_v3(), NULL, DerivedMesh::release, subsurf_dm_create_local(), MultiresModifierData::totlvl, Mesh::totvert, MFace::v1, v3_dist_from_plane(), and MFace::v4.
Referenced by multires_base_apply_exec().
void multiresModifier_del_levels | ( | struct MultiresModifierData * | , |
struct Object * | , | ||
int | direction | ||
) |
Definition at line 436 of file multires.c.
References CD_MASK_MDISPS, CD_MDISPS, CustomData_external_read(), CustomData_get_layer(), Mesh::fdata, get_mesh(), Mesh::id, multires_del_higher(), multires_force_update(), multires_get_level(), multires_set_tot_level(), multires_set_tot_mdisps(), Mesh::totface, and MultiresModifierData::totlvl.
Referenced by multires_higher_levels_delete_exec().
void multiresModifier_prepare_join | ( | struct Scene * | scene, |
struct Object * | ob, | ||
struct Object * | to_ob | ||
) |
Definition at line 1719 of file multires.c.
References invert_m3(), mul_m3_m3m3(), multires_apply_smat(), multires_sync_levels(), and object_scale_to_mat3().
Referenced by join_mesh_exec().
int multiresModifier_reshape | ( | struct Scene * | scene, |
struct MultiresModifierData * | mmd, | ||
struct Object * | dst, | ||
struct Object * | src | ||
) |
Definition at line 215 of file multires.c.
References CD_MASK_BAREMESH, mesh_get_derived_final(), and multiresModifier_reshapeFromDM().
Referenced by multires_reshape_exec().
int multiresModifier_reshapeFromDeformMod | ( | struct Scene * | scene, |
struct MultiresModifierData * | mmd, | ||
struct Object * | ob, | ||
struct ModifierData * | md | ||
) |
Definition at line 221 of file multires.c.
References CDDM_apply_vert_coords(), CDDM_copy(), ModifierTypeInfo::deformVerts, get_multires_dm(), DerivedMesh::getNumVerts, DerivedMesh::getVertCos, MEM_callocN(), MEM_freeN(), modifierType_getInfo(), mti, multires_get_level(), multiresModifier_reshapeFromDM(), DerivedMesh::release, and ModifierData::type.
Referenced by modifier_apply_obdata().
int multiresModifier_reshapeFromDM | ( | struct Scene * | scene, |
struct MultiresModifierData * | mmd, | ||
struct Object * | ob, | ||
struct DerivedMesh * | srcdm | ||
) |
Definition at line 193 of file multires.c.
References get_multires_dm(), DerivedMesh::getNumVerts, DerivedMesh::getVertArray, multires_dm_mark_as_modified(), multires_force_update(), multires_mvert_to_ss(), and DerivedMesh::release.
Referenced by multiresModifier_reshape(), and multiresModifier_reshapeFromDeformMod().
Definition at line 1709 of file multires.c.
References multires_apply_smat(), and object_scale_to_mat3().
Referenced by apply_objects_internal().
void multiresModifier_set_levels_from_disps | ( | struct MultiresModifierData * | mmd, |
struct Object * | ob | ||
) |
Definition at line 286 of file multires.c.
References CD_MDISPS, CustomData_get_layer(), Object::data, Mesh::edit_mesh, Mesh::fdata, EditMesh::fdata, get_levels_from_disps(), MultiresModifierData::lvl, MIN2, MultiresModifierData::renderlvl, MultiresModifierData::sculptlvl, and MultiresModifierData::totlvl.
Referenced by ED_object_modifier_add(), and test_object_modifiers().
void multiresModifier_subdivide | ( | struct MultiresModifierData * | mmd, |
struct Object * | ob, | ||
int | updateblock, | ||
int | simple | ||
) |
Definition at line 683 of file multires.c.
References multires_subdivide(), and MultiresModifierData::totlvl.
Referenced by multires_load_old(), and multires_subdivide_exec().
void old_mdisps_bilinear | ( | float | out[3], |
float(*) | disps[3], | ||
const int | st, | ||
float | u, | ||
float | v | ||
) |
Definition at line 973 of file multires.c.
References add_v3_v3v3(), simple_enum_gen::d, mul_v3_fl(), and mul_v3_v3fl().
Referenced by layerInterp_mdisps(), mdisp_join_tris(), and old_mdisps_convert().