Blender
V3.3
|
Go to the source code of this file.
Functions | |
float(* | BKE_crazyspace_get_mapped_editverts (struct Depsgraph *depsgraph, struct Object *obedit))[3] |
void | BKE_crazyspace_set_quats_editmesh (struct BMEditMesh *em, float(*origcos)[3], float(*mappedcos)[3], float(*quats)[4], bool use_select) |
void | BKE_crazyspace_set_quats_mesh (struct Mesh *me, float(*origcos)[3], float(*mappedcos)[3], float(*quats)[4]) |
int | BKE_crazyspace_get_first_deform_matrices_editbmesh (struct Depsgraph *depsgraph, struct Scene *, struct Object *, struct BMEditMesh *em, float(**deformmats)[3][3], float(**deformcos)[3]) |
int | BKE_sculpt_get_first_deform_matrices (struct Depsgraph *depsgraph, struct Scene *scene, struct Object *ob, float(**deformmats)[3][3], float(**deformcos)[3]) |
void | BKE_crazyspace_build_sculpt (struct Depsgraph *depsgraph, struct Scene *scene, struct Object *ob, float(**deformmats)[3][3], float(**deformcos)[3]) |
Crazy-Space API | |
void | BKE_crazyspace_api_eval (struct Depsgraph *depsgraph, struct Scene *scene, struct Object *object, struct ReportList *reports) |
void | BKE_crazyspace_api_displacement_to_deformed (struct Object *object, struct ReportList *reports, int vertex_index, float displacement[3], float r_displacement_deformed[3]) |
void | BKE_crazyspace_api_displacement_to_original (struct Object *object, struct ReportList *reports, int vertex_index, float displacement_deformed[3], float r_displacement[3]) |
void | BKE_crazyspace_api_eval_clear (struct Object *object) |
void BKE_crazyspace_api_displacement_to_deformed | ( | struct Object * | object, |
struct ReportList * | reports, | ||
int | vertex_index, | ||
float | displacement[3], | ||
float | r_displacement_deformed[3] | ||
) |
Definition at line 541 of file crazyspace.cc.
References BKE_reportf(), Object_Runtime::crazyspace_deform_imats, Object_Runtime::crazyspace_verts_num, mul_v3_m3v3(), RPT_ERROR, and Object::runtime.
void BKE_crazyspace_api_displacement_to_original | ( | struct Object * | object, |
struct ReportList * | reports, | ||
int | vertex_index, | ||
float | displacement_deformed[3], | ||
float | r_displacement[3] | ||
) |
Definition at line 561 of file crazyspace.cc.
References BKE_reportf(), copy_v3_v3(), Object_Runtime::crazyspace_deform_imats, Object_Runtime::crazyspace_verts_num, invert_m3_m3(), mul_v3_m3v3(), RPT_ERROR, and Object::runtime.
void BKE_crazyspace_api_eval | ( | struct Depsgraph * | depsgraph, |
struct Scene * | scene, | ||
struct Object * | object, | ||
struct ReportList * | reports | ||
) |
Definition at line 515 of file crazyspace.cc.
References BKE_crazyspace_build_sculpt(), BKE_report(), Object_Runtime::crazyspace_deform_cos, Object_Runtime::crazyspace_deform_imats, Object_Runtime::crazyspace_verts_num, Object::data, depsgraph, mesh, OB_MESH, RPT_ERROR, Object::runtime, scene, Mesh::totvert, and Object::type.
Definition at line 585 of file crazyspace.cc.
References Object_Runtime::crazyspace_deform_cos, Object_Runtime::crazyspace_deform_imats, MEM_SAFE_FREE, and Object::runtime.
Referenced by BKE_object_free_derived_caches().
void BKE_crazyspace_build_sculpt | ( | struct Depsgraph * | depsgraph, |
struct Scene * | scene, | ||
struct Object * | ob, | ||
float(**) | deformmats[3][3], | ||
float(**) | deformcos[3] | ||
) |
Definition at line 424 of file crazyspace.cc.
References Freestyle::a, BKE_crazyspace_set_quats_mesh(), BKE_id_free(), BKE_mesh_copy_for_eval(), BKE_mesh_vert_coords_alloc(), BKE_modifier_get_info(), BKE_modifier_is_enabled(), BKE_modifiers_get_virtual_modifierlist(), BKE_sculpt_get_first_deform_matrices(), copy_m3_m3(), crazyspace_init_object_for_eval(), crazyspace_init_verts_and_matrices(), crazyspace_modifier_supports_deform(), Object::data, ModifierTypeInfo::deformMatrices, ModifierTypeInfo::deformVerts, depsgraph, eModifierMode_Realtime, float(), if(), MEM_callocN, MEM_dupallocN, MEM_freeN, MEM_mallocN, mesh, mul_m3_m3m3(), ModifierData::next, quat_to_mat3(), scene, Mesh::totvert, ModifierData::type, and unit_m3().
Referenced by BKE_crazyspace_api_eval(), and sculpt_update_object().
int BKE_crazyspace_get_first_deform_matrices_editbmesh | ( | struct Depsgraph * | depsgraph, |
struct Scene * | scene, | ||
struct Object * | ob, | ||
struct BMEditMesh * | em, | ||
float(**) | deformmats[3][3], | ||
float(**) | deformcos[3] | ||
) |
Returns an array of deform matrices for crazy-space correction, and the number of modifiers left.
Definition at line 233 of file crazyspace.cc.
References Freestyle::a, BKE_id_free(), BKE_mesh_wrapper_from_editmesh_with_coords(), BKE_modifier_calc_data_masks(), BKE_modifier_get_info(), BKE_modifier_is_correctable_deformed(), BKE_modifiers_clear_errors(), BKE_modifiers_get_cage_index(), BKE_modifiers_get_virtual_modifierlist(), BLI_linklist_free(), CD_MASK_BAREMESH, Object::data, ModifierTypeInfo::deformMatricesEM, depsgraph, editbmesh_modifier_is_enabled(), editbmesh_vert_coords_alloc(), eModifierMode_Editmode, eModifierMode_Realtime, eModifierTypeType_OnlyDeform, float(), CDMaskLink::mask, MEM_mallocN, ModifierData::next, scene, ModifierTypeInfo::type, ModifierData::type, and unit_m3().
Referenced by transform_convert_mesh_crazyspace_detect().
float(* BKE_crazyspace_get_mapped_editverts | ( | struct Depsgraph * | depsgraph, |
struct Object * | obedit | ||
) | )[3] |
Disable subdivision-surface temporal, get mapped coordinates, and enable it.
Definition at line 89 of file crazyspace.cc.
References BMEditMesh::bm, CD_MASK_BAREMESH, Object::data, DEG_get_evaluated_object(), DEG_get_evaluated_scene(), DEG_get_input_scene(), depsgraph, Mesh::edit_mesh, editbmesh_get_eval_cage_from_orig(), float(), makeDerivedMesh(), MEM_mallocN, mesh_get_mapped_verts_coords(), modifiers_disable_subsurf_temporary(), scene, and BMesh::totvert.
Referenced by transform_convert_mesh_crazyspace_detect().
void BKE_crazyspace_set_quats_editmesh | ( | struct BMEditMesh * | em, |
float(*) | origcos[3], | ||
float(*) | mappedcos[3], | ||
float(*) | quats[4], | ||
bool | use_select | ||
) |
Definition at line 118 of file crazyspace.cc.
References BMEditMesh::bm, BM_elem_flag_disable, BM_elem_flag_enable, BM_elem_flag_test, BM_ELEM_HIDDEN, BM_elem_index_get, BM_elem_index_set, BM_ELEM_SELECT, BM_ELEM_TAG, BM_FACE_FIRST_LOOP, BM_FACES_OF_MESH, BM_ITER_MESH, BM_ITER_MESH_INDEX, BM_VERT, BM_VERTS_OF_MESH, BMVert::co, BMesh::elem_index_dirty, BMLoop::next, BMLoop::prev, set_crazy_vertex_quat(), BMLoop::v, and v.
Referenced by transform_convert_mesh_crazyspace_detect().
void BKE_crazyspace_set_quats_mesh | ( | struct Mesh * | me, |
float(*) | origcos[3], | ||
float(*) | mappedcos[3], | ||
float(*) | quats[4] | ||
) |
Definition at line 180 of file crazyspace.cc.
References BLI_BITMAP_ENABLE, BLI_BITMAP_NEW, BLI_BITMAP_TEST, MVert::co, MPoly::loopstart, MEM_freeN, Mesh::mloop, Mesh::mpoly, Mesh::mvert, set_crazy_vertex_quat(), MPoly::totloop, Mesh::totpoly, Mesh::totvert, and MLoop::v.
Referenced by BKE_crazyspace_build_sculpt().
int BKE_sculpt_get_first_deform_matrices | ( | struct Depsgraph * | depsgraph, |
struct Scene * | scene, | ||
struct Object * | ob, | ||
float(**) | deformmats[3][3], | ||
float(**) | deformcos[3] | ||
) |
Definition at line 352 of file crazyspace.cc.
References BKE_id_free(), BKE_mesh_copy_for_eval(), BKE_modifier_get_info(), BKE_modifier_is_enabled(), BKE_modifiers_get_virtual_modifierlist(), BLI_assert, crazyspace_init_object_for_eval(), crazyspace_init_verts_and_matrices(), crazyspace_modifier_supports_deform(), crazyspace_modifier_supports_deform_matrices(), Object::data, ModifierTypeInfo::deformMatrices, depsgraph, eModifierMode_Realtime, float(), get_multires_modifier(), ModifierData::next, OB_MODE_SCULPT, scene, MultiresModifierData::sculptlvl, Mesh::totvert, and ModifierData::type.
Referenced by BKE_crazyspace_build_sculpt().