|
Blender V4.3
|
Go to the source code of this file.
Classes | |
| struct | blender::bke::crazyspace::GeometryDeformation |
Namespaces | |
| namespace | blender |
| namespace | blender::bke |
| namespace | blender::bke::crazyspace |
| void BKE_crazyspace_api_displacement_to_deformed | ( | Object * | object, |
| ReportList * | reports, | ||
| int | vertex_index, | ||
| const float | displacement[3], | ||
| float | r_displacement_deformed[3] ) |
Definition at line 512 of file crazyspace.cc.
References BKE_reportf(), mul_v3_m3v3(), and RPT_ERROR.
| void BKE_crazyspace_api_displacement_to_original | ( | Object * | object, |
| ReportList * | reports, | ||
| int | vertex_index, | ||
| const float | displacement_deformed[3], | ||
| float | r_displacement[3] ) |
Definition at line 532 of file crazyspace.cc.
References BKE_reportf(), copy_v3_v3(), invert_m3_m3(), mul_v3_m3v3(), and RPT_ERROR.
| void BKE_crazyspace_api_eval | ( | Depsgraph * | depsgraph, |
| Scene * | scene, | ||
| Object * | object, | ||
| ReportList * | reports ) |
Definition at line 487 of file crazyspace.cc.
References BKE_crazyspace_build_sculpt(), BKE_report(), depsgraph, OB_MESH, and RPT_ERROR.
| void BKE_crazyspace_api_eval_clear | ( | Object * | object | ) |
Definition at line 556 of file crazyspace.cc.
Referenced by BKE_object_free_derived_caches().
| void BKE_crazyspace_build_sculpt | ( | Depsgraph * | depsgraph, |
| Scene * | scene, | ||
| Object * | ob, | ||
| blender::Array< blender::float3x3, 0 > & | deformmats, | ||
| blender::Array< blender::float3, 0 > & | deformcos ) |
Definition at line 398 of file crazyspace.cc.
References BKE_crazyspace_set_quats_mesh(), BKE_id_free(), BKE_mesh_copy_for_eval(), BKE_modifier_get_info(), BKE_modifier_is_enabled(), BKE_modifiers_get_virtual_modifierlist(), BKE_sculpt_get_first_deform_matrices(), BLI_SCOPED_DEFER, copy_m3_m3(), crazyspace_init_object_for_eval(), crazyspace_modifier_supports_deform(), ModifierTypeInfo::deform_matrices, ModifierTypeInfo::deform_verts, depsgraph, eModifierMode_Realtime, blender::Array< T, InlineBufferCapacity, Allocator >::fill(), float, blender::MatBase< float, 3, 3 >::identity(), blender::Array< T, InlineBufferCapacity, Allocator >::is_empty(), MEM_freeN(), MEM_mallocN, mul_m3_m3m3(), ptr, quat_to_mat3(), blender::Array< T, InlineBufferCapacity, Allocator >::reinitialize(), and Object::runtime.
Referenced by BKE_crazyspace_api_eval(), and sculpt_update_object().
| int BKE_crazyspace_get_first_deform_matrices_editbmesh | ( | Depsgraph * | depsgraph, |
| Scene * | scene, | ||
| Object * | ob, | ||
| BMEditMesh * | em, | ||
| blender::Array< blender::float3x3, 0 > & | deformmats, | ||
| blender::Array< blender::float3, 0 > & | deformcos ) |
Returns an array of deform matrices for crazy-space correction, and the number of modifiers left.
Definition at line 224 of file crazyspace.cc.
References BKE_id_free(), BKE_mesh_wrapper_from_editmesh(), BKE_mesh_wrapper_vert_coords_copy(), 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(), BMEditMesh::bm, CD_MASK_BAREMESH, Object::data, ModifierTypeInfo::deform_matrices_EM, depsgraph, blender::bke::editbmesh_modifier_is_enabled(), eModifierMode_Editmode, eModifierMode_Realtime, blender::Array< T, InlineBufferCapacity, Allocator >::fill(), blender::MatBase< float, 3, 3 >::identity(), blender::Array< T, InlineBufferCapacity, Allocator >::is_empty(), CDMaskLink::mask, ModifierData::next, OnlyDeform, blender::Array< T, InlineBufferCapacity, Allocator >::reinitialize(), BMesh::totvert, ModifierData::type, and ModifierTypeInfo::type.
Referenced by transform_convert_mesh_crazyspace_detect().
| blender::Array< blender::float3 > BKE_crazyspace_get_mapped_editverts | ( | Depsgraph * | depsgraph, |
| Object * | obedit ) |
Disable subdivision-surface temporal, get mapped coordinates, and enable it.
Definition at line 89 of file crazyspace.cc.
References BKE_editmesh_from_object(), BKE_modifiers_get_cage_index(), BMEditMesh::bm, CD_MASK_BAREMESH, DEG_get_evaluated_object(), DEG_get_evaluated_scene(), DEG_id_tag_update(), depsgraph, blender::bke::editbmesh_get_eval_cage(), Object::id, ID_RECALC_GEOMETRY, blender::bke::mesh_data_update(), blender::bke::mesh_get_mapped_verts_coords(), modifiers_disable_subsurf_temporary(), and BMesh::totvert.
Referenced by transform_convert_mesh_crazyspace_detect().
| void BKE_crazyspace_set_quats_editmesh | ( | BMEditMesh * | em, |
| blender::Span< blender::float3 > | origcos, | ||
| blender::Span< blender::float3 > | mappedcos, | ||
| float(*) | quats[4], | ||
| bool | use_select ) |
Definition at line 120 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_VERTS_OF_MESH, BMVert::co, BMesh::elem_index_dirty, blender::Span< T >::is_empty(), 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 | ( | Mesh * | mesh, |
| blender::Span< blender::float3 > | origcos, | ||
| blender::Span< blender::float3 > | mappedcos, | ||
| float(*) | quats[4] ) |
Definition at line 184 of file crazyspace.cc.
References blender::Span< T >::is_empty(), and set_crazy_vertex_quat().
Referenced by BKE_crazyspace_build_sculpt().
| int BKE_sculpt_get_first_deform_matrices | ( | Depsgraph * | depsgraph, |
| Scene * | scene, | ||
| Object * | ob, | ||
| blender::Array< blender::float3x3, 0 > & | deformmats, | ||
| blender::Array< blender::float3, 0 > & | deformcos ) |
Definition at line 327 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, BLI_SCOPED_DEFER, crazyspace_init_object_for_eval(), crazyspace_modifier_supports_deform(), crazyspace_modifier_supports_deform_matrices(), Object::data, ModifierTypeInfo::deform_matrices, depsgraph, eModifierMode_Realtime, blender::Array< T, InlineBufferCapacity, Allocator >::fill(), get_multires_modifier(), blender::MatBase< float, 3, 3 >::identity(), blender::Array< T, InlineBufferCapacity, Allocator >::is_empty(), ModifierData::next, OB_MODE_SCULPT, blender::Array< T, InlineBufferCapacity, Allocator >::reinitialize(), Object::runtime, and ModifierData::type.
Referenced by BKE_crazyspace_build_sculpt().