|
Blender V4.3
|
conversion and adaptation of different datablocks to a common struct. More...
Go to the source code of this file.
Classes | |
| struct | TransConvertTypeInfo |
| struct | TransDataEdgeSlideVert |
| struct | TransDataVertSlideVert |
| struct | CurvesTransformData |
| struct | TransIslandData |
| struct | MirrorDataVert |
| struct | TransMirrorData |
| struct | TransMeshDataCrazySpace |
conversion and adaptation of different datablocks to a common struct.
Definition in file transform_convert.hh.
For the realtime animation recording feature, handle overlapping data.
Definition at line 1173 of file transform_convert.cc.
References AnimData::act_blendmode, AnimData::act_extendmode, AnimData::act_influence, AnimData::action, ADT_NLA_EDIT_ON, ANIMPLAY_FLAG_JUMPED, TransInfo::animtimer, blender::animrig::nla::assign_action_slot_handle(), AUTOKEY_FLAG_INSERTAVAILABLE, AUTOKEY_FLAG_LAYERED_RECORD, BKE_animdata_from_id(), BKE_nlastack_add_strip(), BKE_nlastrip_validate_fcurves(), NlaStrip::blendmode, BLI_assert, BLI_assert_msg, wmTimer::customdata, ELEM, NlaStrip::extendmode, ListBase::first, AnimData::flag, NlaStrip::flag, ScreenAnimData::flag, ID_IS_OVERRIDE_LIBRARY, NlaStrip::influence, blender::animrig::is_keying_flag(), AnimData::nla_tracks, NLASTRIP_EXTEND_NOTHING, NLASTRIP_FLAG_ACTIVE, NLASTRIP_FLAG_AUTO_BLENDS, NLASTRIP_FLAG_SELECT, NLASTRIP_FLAG_USR_INFLUENCE, TransInfo::scene, AnimData::slot_handle, blender::animrig::unassign_action(), and UNUSED_VARS_NDEBUG.
Referenced by recalcData_objects(), recalcData_pose(), and recalcData_sequencer_image().
Definition at line 395 of file transform_convert.cc.
References BLI_LINKSTACK_DECLARE, BLI_LINKSTACK_FREE, BLI_LINKSTACK_INIT, BLI_LINKSTACK_POP, BLI_LINKSTACK_PUSH, TransData::dist, FLT_MAX, len_v3(), TransData::mtx, mul_m3_v3(), sub_v3_v3v3(), and TD_SELECTED.
Referenced by createTransCurveVerts(), createTransGPencil_curves(), createTransGPencil_strokes(), and createTransParticleVerts().
| void clipUVData | ( | TransInfo * | t | ) |
Definition at line 476 of file transform_convert.cc.
References TransInfo::aspect, FOREACH_TRANS_DATA_CONTAINER, max_ff(), min_ff(), and TD_SKIP.
Referenced by apply_shear(), applyResize(), applyRotation(), and applyTranslation().
Little helper function for ObjectToTransData used to give certain constraints (ChildOf, FollowPath, and others that may be added) inverse corrections for transform, so that they aren't in CrazySpace. These particular constraints benefit from this, but others don't, hence this semi-hack ;-) - Aligorith
Definition at line 546 of file transform_convert.cc.
References ACTCON_MIX_BEFORE, ACTCON_MIX_BEFORE_FULL, ACTCON_MIX_BEFORE_SPLIT, CHILDOF_LOCX, CHILDOF_LOCY, CHILDOF_LOCZ, CONSTRAINT_DISABLE, CONSTRAINT_OFF, CONSTRAINT_TYPE_ACTION, CONSTRAINT_TYPE_ARMATURE, CONSTRAINT_TYPE_CHILDOF, CONSTRAINT_TYPE_CLAMPTO, CONSTRAINT_TYPE_FOLLOWPATH, CONSTRAINT_TYPE_FOLLOWTRACK, CONSTRAINT_TYPE_OBJECTSOLVER, CONSTRAINT_TYPE_ROTLIKE, CONSTRAINT_TYPE_TRANSFORM, CONSTRAINT_TYPE_TRANSLIKE, ELEM, LISTBASE_FOREACH, TransInfo::mode, ROTLIKE_MIX_BEFORE, ROTLIKE_MIX_OFFSET, TFM_ROTATION, TFM_TRANSLATION, TRANS_MIXROT_BEFORE, TRANS_ROTATION, TRANSLIKE_MIX_BEFORE, TRANSLIKE_MIX_BEFORE_FULL, and TRANSLIKE_MIX_BEFORE_SPLIT.
Referenced by add_pose_transdata(), and ObjectToTransData().
| void copy_positions_from_curves_transform_custom_data | ( | const TransCustomData & | custom_data, |
| const int | layer, | ||
| blender::MutableSpan< blender::float3 > | positions_dst ) |
Definition at line 306 of file transform_convert_curves.cc.
References TransCustomData::data, CurvesTransformData::layer_offsets, CurvesTransformData::positions, and CurvesTransformData::selection_by_layer.
Referenced by blender::ed::transform::curves::recalcData_curves(), and blender::ed::transform::greasepencil::recalcData_grease_pencil().
| CurvesTransformData * create_curves_transform_custom_data | ( | TransCustomData & | custom_data | ) |
Definition at line 293 of file transform_convert_curves.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), TransCustomData::data, TransCustomData::free_cb, and CurvesTransformData::layer_offsets.
Referenced by blender::ed::transform::curves::createTransCurvesVerts(), and blender::ed::transform::greasepencil::createTransGreasePencilVerts().
Definition at line 1017 of file transform_convert.cc.
References BKE_scene_graph_evaluated_ensure(), BKE_view_layer_active_object_get(), BKE_view_layer_synced_ensure(), BLI_assert, View3D::camera, TransInfo::context, convert_type_get(), countAndCleanTransDataContainer(), TransConvertTypeInfo::create_trans_data, CTX_CAMERA, CTX_data_main(), CTX_OBJECT, CTX_OBMODE_XFORM_OBDATA, CTX_OBMODE_XFORM_SKIP_CHILDREN, CTX_POSE_BONE, TransInfo::data_len_all, TransInfo::data_type, TransInfo::depsgraph, NumInput::flag, TransInfo::flag, TransConvertTypeInfo::flags, Object::id, ID_TAG_DOIT, init_proportional_edit(), init_TransDataContainers(), TransInfo::num, NUM_NO_FRACTION, View3D::ob_center, TransInfo::obedit_type, TransInfo::options, RegionView3D::persp, printf, TransInfo::region, ARegion::regiondata, ARegion::regiontype, RGN_TYPE_WINDOW, RV3D_CAMOB, SCE_XFORM_DATA_ORIGIN, SCE_XFORM_SKIP_CHILDREN, TransInfo::scene, TransInfo::settings, SPACE_VIEW3D, TransInfo::spacetype, ID::tag, TransConvertType_Object, TransConvertType_Pose, TransConvertType_Sequencer, TransConvertType_SequencerImage, ToolSettings::transform_flag, TransInfo::view, and TransInfo::view_layer.
Referenced by calculateTransformCenter(), and initTransform().
| void curve_populate_trans_data_structs | ( | TransDataContainer & | tc, |
| blender::bke::CurvesGeometry & | curves, | ||
| const blender::float4x4 & | transform, | ||
| std::optional< blender::MutableSpan< float > > | value_attribute, | ||
| const blender::Span< blender::IndexMask > | points_to_transform_indices, | ||
| const blender::IndexMask & | affected_curves, | ||
| bool | use_connected_only, | ||
| const blender::IndexMask & | bezier_curves ) |
Used for both curves and grease pencil objects.
Definition at line 321 of file transform_convert_curves.cc.
References copy_m3_m4(), TransDataContainer::custom, TransDataContainer::data, TransDataContainer::data_len, blender::Span< T >::index_range(), PSEUDOINVERSE_EPSILON, pseudoinverse_m3_m3(), blender::Span< T >::size(), blender::MutableSpan< T >::slice(), and TransCustomDataContainer::type.
Referenced by blender::ed::transform::curves::createTransCurvesVerts(), and blender::ed::transform::greasepencil::createTransGreasePencilVerts().
This function tests if a point is on the "mouse" side of the cursor/frame-marking.
Definition at line 526 of file transform_convert.cc.
Referenced by ActionFCurveToTransData(), count_fcurve_keys(), count_gplayer_frames(), count_grease_pencil_frames(), count_masklayer_frames(), createTransActionData(), createTransGraphEditData(), createTransNlaData(), GPLayerToTransData(), graph_key_shortest_dist(), GreasePencilLayerToTransData(), and MaskLayerToTransData().
| TransDataCurveHandleFlags * initTransDataCurveHandles | ( | TransData * | td, |
| BezTriple * | bezt ) |
Utility function for getting the handle data from bezier's.
Definition at line 457 of file transform_convert.cc.
References BezTriple::h1, TransDataCurveHandleFlags::h1, BezTriple::h2, TransDataCurveHandleFlags::h2, TransData::hdata, TransDataCurveHandleFlags::ih1, TransDataCurveHandleFlags::ih2, MEM_mallocN, and TD_BEZTRIPLE.
Referenced by createTransCurveVerts(), createTransGPencil_curves(), and createTransGraphEditData().
| void recalc_data | ( | TransInfo * | t | ) |
Called for updating while transform acts, once per redraw.
Definition at line 1275 of file transform_convert.cc.
References TransInfo::data_type, and TransConvertTypeInfo::recalc_data.
Referenced by apply_shear(), apply_value_impl(), applyAlign(), applyBakeTime(), applyBoneEnvelope(), applyBoneRoll(), applyBoneSize(), applyCurveShrinkFatten(), applyEdgeSlide(), applyGPOpacity(), applyGPShrinkFatten(), applyMaskShrinkFatten(), applyMirror(), applyNormalRotation(), applyPushPull(), applyResize(), applyRotation(), applySeqSlide(), applyShrinkFatten(), applySkinResize(), applyTilt(), applyTimeScale(), applyTimeSlide(), applyTimeTranslate(), applyToSphere(), applyTrackball(), applyTranslation(), applyTransObjects(), applyVertSlide(), Bend(), BKE_object_handle_update_ex(), and restoreTransObjects().
| bool seq_transform_check_overlap | ( | blender::Span< Sequence * > | transformed_strips | ) |
Definition at line 289 of file transform_convert_sequencer.cc.
References SEQ_OVERLAP.
Referenced by freeSeqData(), and freeSeqData().
| void sort_trans_data_dist | ( | TransInfo * | t | ) |
Definition at line 131 of file transform_convert.cc.
References FOREACH_TRANS_DATA_CONTAINER, and sort_trans_data_dist_container().
Referenced by init_proportional_edit(), and transformEvent().
Inserting keys, point-cache, redraw events.
Definition at line 638 of file transform_convert.cc.
References BLI_assert, TransInfo::context, CTX_data_main(), TransInfo::data_len_all, TransInfo::data_type, TransInfo::mode, TransConvertTypeInfo::special_aftertrans_update, and TFM_DUMMY.
Referenced by calculateTransformCenter(), and transformEnd().
Definition at line 657 of file transform_convert.cc.
References CTX_CURSOR, CTX_OBJECT, CTX_POSE_BONE, CTX_TEXTURE_SPACE, TransInfo::flag, G_TRANSFORM_CURSOR, G_TRANSFORM_EDIT, G_TRANSFORM_FCURVES, G_TRANSFORM_OBJ, G_TRANSFORM_SEQ, TransInfo::options, SPACE_GRAPH, SPACE_SEQ, TransInfo::spacetype, and T_EDIT.
Referenced by transformops_data().
| void transform_around_single_fallback | ( | TransInfo * | t | ) |
Definition at line 76 of file transform_convert.cc.
References TransInfo::data_len_all, and transform_around_single_fallback_ex().
Referenced by createTransArmatureVerts().
Transforming around ourselves is no use, fallback to individual origins, useful for curve/armatures.
Definition at line 58 of file transform_convert.cc.
References TransInfo::around, ELEM, TransInfo::flag, T_OVERRIDE_CENTER, transform_mode_use_local_origins(), V3D_AROUND_ACTIVE, V3D_AROUND_CENTER_BOUNDS, V3D_AROUND_CENTER_MEDIAN, and V3D_AROUND_LOCAL_ORIGINS.
Referenced by createTransCurveVerts(), createTransGPencil_curves(), and transform_around_single_fallback().
| void transform_autoik_update | ( | TransInfo * | t, |
| short | mode ) |
Change the chain-length of auto-IK.
Definition at line 346 of file transform_convert.cc.
References ToolSettings::autoik_chainlen, TransInfo::context, CTX_data_main(), DEG_relations_tag_update(), ELEM, FOREACH_TRANS_DATA_CONTAINER, LISTBASE_FOREACH, pchan_autoik_adjust(), and TransInfo::settings.
Referenced by createTransPose(), and transformEvent().
| void transform_convert_clip_mirror_modifier_apply | ( | TransDataContainer * | tc | ) |
Definition at line 1094 of file transform_convert.cc.
References copy_v3_v3(), TransDataContainer::data, TransDataContainer::data_len, eModifierMode_Realtime, eModifierType_Mirror, fabsf, ListBase::first, MirrorModifierData::flag, invert_m4_m4(), MirrorModifierData::mirror_ob, MOD_MIR_AXIS_X, MOD_MIR_AXIS_Y, MOD_MIR_AXIS_Z, MOD_MIR_CLIPPING, ModifierData::mode, Object::modifiers, mul_m4_m4m4(), mul_m4_v3(), ModifierData::next, TransDataContainer::obedit, TD_SKIP, MirrorModifierData::tolerance, and ModifierData::type.
Referenced by recalcData_curve(), and recalcData_mesh().
| void transform_convert_flush_handle2D | ( | TransData * | td, |
| TransData2D * | td2d, | ||
| float | y_fac ) |
Definition at line 1255 of file transform_convert.cc.
References TransData2D::h1, TransData2D::h2, TransData2D::ih1, TransData2D::ih2, TD_MOVEHANDLE1, and TD_MOVEHANDLE2.
Referenced by flushTransGraphData(), and recalcData_actedit().
Used for TFM_TIME_EXTEND.
Definition at line 504 of file transform_convert.cc.
References TransInfo::flag, MouseInput::imval, TransInfo::mouse, T_MODAL, T_NO_MIRROR, UI_view2d_region_to_view(), and TransInfo::view.
Referenced by createTransActionData(), createTransGraphEditData(), createTransNlaData(), and createTransSeqData().
| void transform_convert_mesh_connectivity_distance | ( | BMesh * | bm, |
| const float | mtx[3][3], | ||
| float * | dists, | ||
| int * | index ) |
| mtx | Measure distance in this space. |
| dists | Store the closest connected distance to selected vertices. |
| index | Optionally store the original index we're measuring the distance to (can be NULL). |
Definition at line 1024 of file transform_convert_mesh.cc.
References BLI_assert, BLI_LINKSTACK_DECLARE, BLI_LINKSTACK_FREE, BLI_LINKSTACK_INIT, BLI_LINKSTACK_POP, BLI_LINKSTACK_PUSH, BLI_LINKSTACK_SIZE, BLI_LINKSTACK_SWAP, bm, BM_edge_other_vert(), BM_EDGES_OF_MESH, BM_EDGES_OF_VERT, BM_elem_flag_disable, BM_elem_flag_enable, BM_elem_flag_set, BM_elem_flag_test, BM_ELEM_HIDDEN, BM_elem_index_get, BM_elem_index_set, BM_ELEM_SELECT, BM_ELEM_TAG, BM_ELEM_TAG_ALT, BM_ITER_ELEM, BM_ITER_MESH, BM_iter_mesh_count_flag(), BM_ITER_MESH_INDEX, BM_LOOPS_OF_EDGE, BM_VERTS_OF_MESH, bmesh_test_dist_add(), bmesh_test_loose_edge(), e, ELEM, BMesh::elem_index_dirty, BMLoop::f, FLT_MAX, l, BMLoop::next, LinkNode::next, v, and v2.
Referenced by createTransEditVerts(), createTransMeshSkin(), and createTransMeshVertCData().
| void transform_convert_mesh_crazyspace_detect | ( | TransInfo * | t, |
| TransDataContainer * | tc, | ||
| BMEditMesh * | em, | ||
| TransMeshDataCrazySpace * | r_crazyspace_data ) |
Detect CrazySpace (Blender term). Vertices with space affected by quaternions are marked with BM_ELEM_TAG.
Definition at line 1334 of file transform_convert_mesh.cc.
References BKE_crazyspace_get_first_deform_matrices_editbmesh(), BKE_crazyspace_get_mapped_editverts(), BKE_crazyspace_set_quats_editmesh(), BKE_editmesh_from_object(), BKE_modifiers_get_cage_index(), BKE_modifiers_is_correctable_deformed(), BKE_scene_graph_evaluated_ensure(), BMEditMesh::bm, TransInfo::context, CTX_data_main(), TransMeshDataCrazySpace::defmats, DEG_get_evaluated_id(), TransInfo::depsgraph, TransInfo::flag, float, Object::id, Scene::id, MEM_mallocN, TransDataContainer::obedit, TransMeshDataCrazySpace::quats, TransInfo::scene, T_PROP_EDIT, T_PROP_EDIT_ALL, and BMesh::totvert.
Referenced by createTransEditVerts(), createTransMeshSkin(), and createTransMeshVertCData().
| void transform_convert_mesh_crazyspace_free | ( | TransMeshDataCrazySpace * | r_crazyspace_data | ) |
Definition at line 1413 of file transform_convert_mesh.cc.
References MEM_freeN(), and TransMeshDataCrazySpace::quats.
Referenced by createTransEditVerts(), createTransMeshSkin(), and createTransMeshVertCData().
| void transform_convert_mesh_crazyspace_transdata_set | ( | const float | mtx[3][3], |
| const float | smtx[3][3], | ||
| const float | defmat[3][3], | ||
| const float | quat[4], | ||
| TransData * | r_td ) |
Definition at line 1377 of file transform_convert_mesh.cc.
References copy_m3_m3(), invert_m3_m3(), TransData::mtx, mul_m3_m3m3(), mul_m3_series, quat_to_mat3(), and TransData::smtx.
Referenced by createTransEditVerts(), createTransMeshSkin(), and createTransMeshVertCData().
| void transform_convert_mesh_customdatacorrect_init | ( | TransInfo * | t | ) |
Definition at line 464 of file transform_convert_mesh.cc.
References TransCustomDataMesh::cd_layer_correct, ELEM, FOREACH_TRANS_DATA_CONTAINER, mesh_customdatacorrect_create(), mesh_customdatacorrect_free(), TransInfo::mode, TransInfo::settings, TFM_ALIGN, TFM_BEND, TFM_EDGE_SLIDE, TFM_PUSHPULL, TFM_RESIZE, TFM_ROTATION, TFM_SHEAR, TFM_SHRINKFATTEN, TFM_TOSPHERE, TFM_TRACKBALL, TFM_TRANSLATION, TFM_VERT_SLIDE, ToolSettings::uvcalc_flag, UVCALC_TRANSFORM_CORRECT, UVCALC_TRANSFORM_CORRECT_KEEP_CONNECTED, and UVCALC_TRANSFORM_CORRECT_SLIDE.
Referenced by transform_mode_init().
| void transform_convert_mesh_islanddata_free | ( | TransIslandData * | island_data | ) |
Definition at line 931 of file transform_convert_mesh.cc.
References TransIslandData::axismtx, TransIslandData::center, TransIslandData::island_vert_map, and MEM_freeN().
Referenced by createTransEditVerts(), createTransMeshSkin(), and createTransMeshVertCData().
| void transform_convert_mesh_islands_calc | ( | BMEditMesh * | em, |
| bool | calc_single_islands, | ||
| bool | calc_island_center, | ||
| bool | calc_island_axismtx, | ||
| TransIslandData * | r_island_data ) |
Definition at line 744 of file transform_convert_mesh.cc.
References add_v3_v3(), axis_dominant_v3_to_m3(), BLI_assert, bm, BMEditMesh::bm, BM_EDGE, BM_editselection_center(), BM_editselection_normal(), BM_editselection_plane(), BM_elem_flag_test, BM_elem_index_get, BM_ELEM_SELECT, BM_FACE, BM_ITER_ELEM, BM_ITER_MESH_INDEX, BM_mesh_calc_edge_groups(), BM_mesh_calc_face_groups(), BM_mesh_elem_index_ensure(), BM_mesh_elem_table_ensure(), BM_VERT, BM_VERTS_OF_EDGE, BM_VERTS_OF_FACE, BM_VERTS_OF_MESH, BMVert::co, copy_v3_v3(), copy_vn_i(), createSpaceNormalTangent(), data, BMEditSelection::ele, BMesh::etable, BMesh::ftable, BMEditSelection::htype, int, invert_m3(), is_zero_v3(), itype, MEM_freeN(), MEM_mallocN, MEM_reallocN, mul_v3_v3fl(), BMVert::no, normalize_v3(), SCE_SELECT_EDGE, SCE_SELECT_VERTEX, BMEditMesh::selectmode, BMesh::totedgesel, BMesh::totfacesel, BMesh::totvert, unit_m3(), v, and zero_v3().
Referenced by createTransEditVerts(), createTransMeshSkin(), and createTransMeshVertCData().
| void transform_convert_mesh_mirrordata_calc | ( | BMEditMesh * | em, |
| bool | use_select, | ||
| bool | use_topology, | ||
| const bool | mirror_axis[3], | ||
| TransMirrorData * | r_mirror_data ) |
Definition at line 1203 of file transform_convert_mesh.cc.
References add_v3_v3(), bm, BMEditMesh::bm, BM_elem_flag_test, BM_ELEM_HIDDEN, BM_ELEM_SELECT, BM_ITER_MESH_INDEX, BM_VERTS_OF_MESH, BMVert::co, EDBM_verts_mirror_cache_begin_ex(), flag, MirrorDataVert::flag, MirrorDataVert::index, is_in_quadrant_v3(), MEM_callocN, MEM_freeN(), MEM_mallocN, MEM_SAFE_FREE, TransMirrorData::mirror_elem_len, TD_MIRROR_X, BMesh::totvert, TRANSFORM_MAXDIST_MIRROR, and TransMirrorData::vert_map.
Referenced by createTransEditVerts(), and createTransMeshSkin().
| void transform_convert_mesh_mirrordata_free | ( | TransMirrorData * | mirror_data | ) |
Definition at line 1321 of file transform_convert_mesh.cc.
References MEM_freeN(), and TransMirrorData::vert_map.
Referenced by createTransEditVerts(), and createTransMeshSkin().
Sets transform flags in the bones. Returns total number of bones with BONE_TRANSFORM.
Definition at line 1491 of file transform_convert_armature.cc.
References bone_children_clear_transflag(), BONE_SELECTED, BONE_TRANSFORM, bPose::chanbase, Bone::childbase, Object::data, ELEM, Bone::flag, LISTBASE_FOREACH, PBONE_VISIBLE, Object::pose, TFM_BONE_ENVELOPE_DIST, and TFM_BONESIZE.
Referenced by createTransPose(), gizmo_3d_foreach_selected(), and special_aftertrans_update__pose().
Definition at line 726 of file transform_convert_sequencer.cc.
References round_fl_to_int(), TransSeq::selection_channel_range_max, TransSeq::selection_channel_range_min, SEQ_MAX_CHANNELS, and TRANS_DATA_CONTAINER_FIRST_SINGLE.
Referenced by applySeqSlide().
| blender::Array< TransDataEdgeSlideVert > transform_mesh_edge_slide_data_create | ( | const TransDataContainer * | tc, |
| int * | r_group_len ) |
We need at least 3 points to calculate the intersection of prev-curr and next-curr destinations. next_next is only required to identify the edge in next.e.
| | | | | prev.e | curr.e | next.e | prev.v -— curr.v -— next.v -— next_next.v
Find the best direction to slide among the ones already computed.
| curr_side_other | previous state of the #SlideTempDataMesh where the faces are linked to the previous edge. |
| l_src | the source corner in the edge to slide. |
| l_dst | the current destination corner. |
Definition at line 2306 of file transform_convert_mesh.cc.
References BKE_editmesh_from_object(), bm, BMEditMesh::bm, BM_edge_exists(), BM_edge_is_boundary(), BM_edge_is_manifold(), BM_EDGES_OF_MESH, BM_EDGES_OF_VERT, BM_elem_flag_test, BM_elem_index_get, BM_elem_index_set, BM_ELEM_SELECT, BM_ITER_ELEM, BM_iter_elem_count_flag(), BM_ITER_MESH, BM_LOOPS_OF_EDGE, BM_VERT, BM_VERTS_OF_MESH, BMVert::co, TransDataContainer::data, TransDataContainer::data_len, TransDataEdgeSlideVert::dir_side, blender::math::distance(), blender::math::dot(), BMLoop::e, e, ELEM, BMesh::elem_index_dirty, BMLoop::f, blender::Array< T, InlineBufferCapacity, Allocator >::index_range(), int, isect_face_dst(), isect_line_line_epsilon_v3(), l, TransDataEdgeSlideVert::loop_nr, mesh_vert_is_inner(), blender::math::midpoint(), BMLoop::next, next, blender::math::normalize(), TransDataContainer::obedit, BMLoop::prev, BMLoop::radial_next, TransDataEdgeSlideVert::td, TD_SELECTED, BMLoop::v, and v.
Referenced by createEdgeSlideVerts().
| blender::Array< TransDataEdgeSlideVert > transform_mesh_uv_edge_slide_data_create | ( | const TransInfo * | t, |
| TransDataContainer * | tc, | ||
| int * | r_group_len ) |
We need at least 3 points to calculate the intersection of prev-curr and next-curr destinations.
| | | | | | prev -— curr -— next
Find the best direction to slide among the ones already computed.
| curr_prev | prev state of the #SlideTempDataUV where the faces are linked to the previous edge. |
| l_src | the source corner in the edge to slide. |
| l_dst | the current destination corner. |
Definition at line 826 of file transform_convert_mesh_uv.cc.
References TransInfo::aspect, BKE_editmesh_from_object(), BLI_assert, bm, BMEditMesh::bm, BM_ELEM_CD_GET_FLOAT_P, BM_elem_index_get, BM_elem_index_set, BM_LOOP, BM_uv_map_get_offsets(), compare_v2v2(), TransDataContainer::data, TransDataContainer::data_len, blender::math::distance(), blender::math::dot(), ED_uvedit_select_mode_get(), ELEM, BMesh::elem_index_dirty, BMLoop::f, UVGroups::groups(), blender::Array< T, InlineBufferCapacity, Allocator >::index_range(), int, isect_face_dst(), ISECT_LINE_LINE_COLINEAR, isect_line_line_v2_point(), l, mesh_uv_group_is_inner(), mesh_uv_groups_get(), blender::math::midpoint(), BMLoop::next, next, blender::math::normalize(), TransDataContainer::obedit, BMLoop::prev, BMLoop::radial_next, TransInfo::scene, UVGroups::sd_array_create_and_init_edge(), UVGroups::sd_group_get(), TransInfo::settings, TransDataEdgeSlideVert::td, UVGroups::td_indices_get(), TD_SELECTED, BMUVOffsets::uv, UV_SELECT_EDGE, uvedit_edge_select_test_ex(), and BMLoop::v.
Referenced by createEdgeSlideVerts().
| blender::Array< TransDataVertSlideVert > transform_mesh_uv_vert_slide_data_create | ( | const TransInfo * | t, |
| TransDataContainer * | tc, | ||
| blender::Vector< blender::float3 > & | r_loc_dst_buffer ) |
Referenced by createVertSlideVerts().
| blender::Array< TransDataVertSlideVert > transform_mesh_vert_slide_data_create | ( | const TransDataContainer * | tc, |
| blender::Vector< blender::float3 > & | r_loc_dst_buffer ) |
Referenced by createVertSlideVerts().
| bool transform_mode_use_local_origins | ( | const TransInfo * | t | ) |
Definition at line 53 of file transform_convert.cc.
References ELEM, TransInfo::mode, TFM_RESIZE, TFM_ROTATION, and TFM_TRACKBALL.
Referenced by createTransCurveVerts(), createTransGPencil_curves(), and transform_around_single_fallback_ex().
|
extern |
Definition at line 1432 of file transform_convert_action.cc.
Referenced by convert_type_get(), and init_proportional_edit().
|
extern |
Definition at line 207 of file transform_convert_cursor.cc.
Referenced by convert_type_get(), and translate_snap_increment_init().
|
extern |
Definition at line 193 of file transform_convert_cursor.cc.
Referenced by convert_type_get().
|
extern |
Definition at line 200 of file transform_convert_cursor.cc.
Referenced by convert_type_get().
|
extern |
Definition at line 456 of file transform_convert_curve.cc.
Referenced by convert_type_get(), init_proportional_edit(), and init_TransDataContainers().
|
extern |
Definition at line 458 of file transform_convert_curves.cc.
Referenced by convert_type_get(), init_proportional_edit(), and init_TransDataContainers().
|
extern |
Definition at line 1745 of file transform_convert_armature.cc.
Referenced by convert_type_get(), and init_TransDataContainers().
|
extern |
Definition at line 781 of file transform_convert_gpencil_legacy.cc.
Referenced by convert_type_get(), init_proportional_edit(), and init_TransDataContainers().
|
extern |
Definition at line 1051 of file transform_convert_graph.cc.
Referenced by convert_type_get(), and init_proportional_edit().
|
extern |
Definition at line 273 of file transform_convert_grease_pencil.cc.
Referenced by convert_type_get(), init_proportional_edit(), and init_TransDataContainers().
|
extern |
Definition at line 130 of file transform_convert_lattice.cc.
Referenced by convert_type_get(), init_proportional_edit(), and init_TransDataContainers().
|
extern |
Definition at line 469 of file transform_convert_mask.cc.
Referenced by convert_type_get(), and init_proportional_edit().
|
extern |
Definition at line 140 of file transform_convert_mball.cc.
Referenced by convert_type_get(), init_proportional_edit(), and init_TransDataContainers().
|
extern |
Definition at line 2651 of file transform_convert_mesh.cc.
Referenced by convert_type_get(), init_proportional_edit(), init_TransDataContainers(), snap_object_context_init(), transform_modal_item_poll(), transform_mode_init(), transform_mode_snap_source_init(), transformEvent(), and viewRedrawPost().
|
extern |
Definition at line 127 of file transform_convert_mesh_edge.cc.
Referenced by convert_type_get(), init_proportional_edit(), and init_TransDataContainers().
|
extern |
Definition at line 291 of file transform_convert_mesh_skin.cc.
Referenced by convert_type_get(), init_proportional_edit(), and init_TransDataContainers().
|
extern |
Definition at line 1156 of file transform_convert_mesh_uv.cc.
Referenced by convert_type_get(), createEdgeSlideVerts(), createVertSlideVerts(), init_proportional_edit(), init_TransDataContainers(), and transform_modal_item_poll().
|
extern |
Definition at line 225 of file transform_convert_mesh_vert_cdata.cc.
Referenced by convert_type_get(), init_proportional_edit(), and init_TransDataContainers().
|
extern |
Definition at line 994 of file transform_convert_nla.cc.
Referenced by convert_type_get().
|
extern |
Definition at line 299 of file transform_convert_node.cc.
Referenced by convert_type_get(), init_proportional_edit(), and initTransform().
|
extern |
Definition at line 983 of file transform_convert_object.cc.
Referenced by convert_type_get(), create_trans_data(), ElementResize(), and init_proportional_edit().
|
extern |
Definition at line 113 of file transform_convert_object_texspace.cc.
Referenced by convert_type_get(), and ElementResize().
|
extern |
Definition at line 217 of file transform_convert_paintcurve.cc.
Referenced by convert_type_get().
|
extern |
Definition at line 254 of file transform_convert_particle.cc.
Referenced by convert_type_get(), and init_proportional_edit().
|
extern |
Definition at line 1752 of file transform_convert_armature.cc.
Referenced by convert_type_get(), create_trans_data(), ElementResize(), and init_TransDataContainers().
|
extern |
Definition at line 134 of file transform_convert_sculpt.cc.
Referenced by convert_type_get(), and ElementResize().
|
extern |
Definition at line 743 of file transform_convert_sequencer.cc.
Referenced by convert_type_get(), create_trans_data(), ED_transform_snap_sequencer_to_closest_strip_calc(), transform_snap_sequencer_calc(), and transform_snap_sequencer_data_alloc().
|
extern |
Definition at line 286 of file transform_convert_sequencer_image.cc.
Referenced by convert_type_get(), create_trans_data(), and transform_event_modal_constraint().
|
extern |
Definition at line 170 of file transform_convert_sequencer_retiming.cc.
Referenced by convert_type_get(), and transform_snap_sequencer_data_alloc().
|
extern |
Definition at line 623 of file transform_convert_tracking.cc.
Referenced by convert_type_get(), transform_modal_item_poll(), and transformEvent().
|
extern |
Definition at line 302 of file transform_convert_tracking_curves.cc.
Referenced by convert_type_get().