|
Blender V4.3
|
Go to the source code of this file.
Classes | |
| struct | SnapObjectContext |
| struct | SnapObjectContext::SnapCache |
| struct | RayCastAll_Data |
| class | SnapData |
Macros | |
| #define | MAX_CLIPPLANE_LEN 6 |
| #define | SNAP_TO_EDGE_ELEMENTS |
Functions | |
| void | raycast_all_cb (void *userdata, int index, const BVHTreeRay *ray, BVHTreeRayHit *hit) |
| bool | raycast_tri_backface_culling_test (const float dir[3], const float v0[3], const float v1[3], const float v2[3], float no[3]) |
| void | cb_snap_vert (void *userdata, int index, const DistProjectedAABBPrecalc *precalc, const float(*clip_plane)[4], const int clip_plane_len, BVHTreeNearest *nearest) |
| void | cb_snap_edge (void *userdata, int index, const DistProjectedAABBPrecalc *precalc, const float(*clip_plane)[4], const int clip_plane_len, BVHTreeNearest *nearest) |
| bool | nearest_world_tree (SnapObjectContext *sctx, BVHTree *tree, BVHTree_NearestPointCallback nearest_cb, const blender::float4x4 &obmat, void *treedata, BVHTreeNearest *r_nearest) |
| eSnapMode | snap_object_center (SnapObjectContext *sctx, const Object *ob_eval, const blender::float4x4 &obmat, eSnapMode snap_to_flag) |
| eSnapMode | snapArmature (SnapObjectContext *sctx, const Object *ob_eval, const blender::float4x4 &obmat, bool is_object_active) |
| eSnapMode | snapCamera (SnapObjectContext *sctx, const Object *object, const blender::float4x4 &obmat, eSnapMode snap_to_flag) |
| eSnapMode | snapCurve (SnapObjectContext *sctx, const Object *ob_eval, const blender::float4x4 &obmat) |
| eSnapMode | snap_object_editmesh (SnapObjectContext *sctx, const Object *ob_eval, const ID *id, const blender::float4x4 &obmat, eSnapMode snap_to_flag, bool use_hide) |
| eSnapMode | snap_object_mesh (SnapObjectContext *sctx, const Object *ob_eval, const ID *id, const blender::float4x4 &obmat, eSnapMode snap_to_flag, bool skip_hidden, bool is_editmesh=false) |
| eSnapMode | snap_polygon_mesh (SnapObjectContext *sctx, const Object *ob_eval, const ID *id, const blender::float4x4 &obmat, eSnapMode snap_to_flag, int face_index) |
| eSnapMode | snap_edge_points_mesh (SnapObjectContext *sctx, const Object *ob_eval, const ID *id, const blender::float4x4 &obmat, float dist_px_sq_orig, int edge_index) |
| #define MAX_CLIPPLANE_LEN 6 |
Definition at line 14 of file transform_snap_object.hh.
| #define SNAP_TO_EDGE_ELEMENTS |
Definition at line 16 of file transform_snap_object.hh.
Referenced by ED_transform_snap_object_project_view3d_ex(), editmesh_snap_mode_supported(), mesh_snap_mode_supported(), snap_object_mesh(), and snapMesh().
| void cb_snap_edge | ( | void * | userdata, |
| int | index, | ||
| const DistProjectedAABBPrecalc * | precalc, | ||
| const float(*) | clip_plane[4], | ||
| const int | clip_plane_len, | ||
| BVHTreeNearest * | nearest ) |
Definition at line 802 of file transform_snap_object.cc.
References SnapData::get_edge_verts_index(), sub_v3_v3v3(), and test_projected_edge_dist().
Referenced by cb_snap_tri_edges(), snap_polygon_mesh(), and snapMesh().
| void cb_snap_vert | ( | void * | userdata, |
| int | index, | ||
| const DistProjectedAABBPrecalc * | precalc, | ||
| const float(*) | clip_plane[4], | ||
| const int | clip_plane_len, | ||
| BVHTreeNearest * | nearest ) |
Definition at line 784 of file transform_snap_object.cc.
References SnapData::get_vert_co(), and test_projected_vert_dist().
Referenced by cb_snap_edge_verts(), cb_snap_tri_verts(), snap_polygon_mesh(), and snapMesh().
| bool nearest_world_tree | ( | SnapObjectContext * | sctx, |
| BVHTree * | tree, | ||
| BVHTree_NearestPointCallback | nearest_cb, | ||
| const blender::float4x4 & | obmat, | ||
| void * | treedata, | ||
| BVHTreeNearest * | r_nearest ) |
Definition at line 667 of file transform_snap_object.cc.
References SnapObjectContext::curr_co, BVHTreeNearest::dist_sq, SnapObjectParams::face_nearest_steps, SnapObjectContext::init_co, blender::math::invert(), SnapObjectParams::keep_on_same_target, blender::math::length_squared(), max_ff(), nearest_world_tree_co(), SnapObjectContext::params, SnapObjectContext::runtime, blender::math::transform_direction(), blender::math::transform_point(), and tree.
Referenced by nearest_world_mesh().
| void raycast_all_cb | ( | void * | userdata, |
| int | index, | ||
| const BVHTreeRay * | ray, | ||
| BVHTreeRayHit * | hit ) |
Definition at line 548 of file transform_snap_object.cc.
References BLI_addtail(), hit_depth_create(), mul_v3_m4v3(), and RayCastAll_Data::raycast_callback.
Referenced by raycastMesh().
| bool raycast_tri_backface_culling_test | ( | const float | dir[3], |
| const float | v0[3], | ||
| const float | v1[3], | ||
| const float | v2[3], | ||
| float | no[3] ) |
Definition at line 566 of file transform_snap_object.cc.
References cross_tri_v3(), dot_v3v3(), and v2.
Referenced by cb_snap_tri_edges(), cb_snap_tri_verts(), and mesh_corner_tris_raycast_backface_culling_cb().
| eSnapMode snap_edge_points_mesh | ( | SnapObjectContext * | sctx, |
| const Object * | ob_eval, | ||
| const ID * | id, | ||
| const blender::float4x4 & | obmat, | ||
| float | dist_px_sq_orig, | ||
| int | edge_index ) |
Definition at line 418 of file transform_snap_object_mesh.cc.
References BVHTreeNearest::index, SnapData::nearest_point, SnapData::register_result(), and SnapData::snap_edge_points_impl().
Referenced by snap_edge_points().
| eSnapMode snap_object_center | ( | SnapObjectContext * | sctx, |
| const Object * | ob_eval, | ||
| const blender::float4x4 & | obmat, | ||
| eSnapMode | snap_to_flag ) |
Definition at line 852 of file transform_snap_object.cc.
References SnapData::clip_planes_enable(), Object::data, OB_DUPLI, SnapData::register_result(), SCE_SNAP_TO_NONE, SCE_SNAP_TO_POINT, SnapData::snap_point(), and Object::transflag.
Referenced by snap_obj_fn(), and snapCamera().
| eSnapMode snap_object_editmesh | ( | SnapObjectContext * | sctx, |
| const Object * | ob_eval, | ||
| const ID * | id, | ||
| const blender::float4x4 & | obmat, | ||
| eSnapMode | snap_to_flag, | ||
| bool | use_hide ) |
Definition at line 239 of file transform_snap_object_editmesh.cc.
References editmesh_snapdata_init(), Mesh::id, SnapCache_EditMesh::mesh, SCE_SNAP_TO_NONE, and snap_object_mesh().
Referenced by nearest_world_object_fn(), raycast_obj_fn(), and snap_obj_fn().
| eSnapMode snap_object_mesh | ( | SnapObjectContext * | sctx, |
| const Object * | ob_eval, | ||
| const ID * | id, | ||
| const blender::float4x4 & | obmat, | ||
| eSnapMode | snap_to_flag, | ||
| bool | skip_hidden, | ||
| bool | is_editmesh = false ) |
Definition at line 606 of file transform_snap_object_mesh.cc.
References nearest_world_mesh(), SnapObjectContext::object_index, raycastMesh(), SnapObjectContext::runtime, SCE_SNAP_INDIVIDUAL_NEAREST, SCE_SNAP_TO_FACE, SCE_SNAP_TO_NONE, SCE_SNAP_TO_POINT, SNAP_TO_EDGE_ELEMENTS, and snapMesh().
Referenced by nearest_world_object_fn(), raycast_obj_fn(), snap_obj_fn(), and snap_object_editmesh().
| eSnapMode snap_polygon_mesh | ( | SnapObjectContext * | sctx, |
| const Object * | ob_eval, | ||
| const ID * | id, | ||
| const blender::float4x4 & | obmat, | ||
| eSnapMode | snap_to_flag, | ||
| int | face_index ) |
Definition at line 358 of file transform_snap_object_mesh.cc.
References BLI_assert, cb_snap_edge(), cb_snap_vert(), SnapData::clip_planes, SnapData::clip_planes_enable(), SnapData_Mesh::corner_edges, SnapData_Mesh::corner_verts, SnapObjectContext::dist_px_sq, SnapData_Mesh::edges, BVHTreeNearest::index, SnapData::nearest_point, SnapData::nearest_precalc, SnapData::register_result(), SnapObjectContext::ret, SCE_SNAP_TO_EDGE, SCE_SNAP_TO_EDGE_ENDPOINT, SCE_SNAP_TO_EDGE_MIDPOINT, SCE_SNAP_TO_EDGE_PERPENDICULAR, and SCE_SNAP_TO_NONE.
Referenced by snap_polygon().
| eSnapMode snapArmature | ( | SnapObjectContext * | sctx, |
| const Object * | ob_eval, | ||
| const blender::float4x4 & | obmat, | ||
| bool | is_object_active ) |
Referenced by snap_obj_fn().
| eSnapMode snapCamera | ( | SnapObjectContext * | sctx, |
| const Object * | object, | ||
| const blender::float4x4 & | obmat, | ||
| eSnapMode | snap_to_flag ) |
Definition at line 21 of file transform_snap_object_camera.cc.
References BKE_object_movieclip_get(), BKE_tracking_camera_get_reconstructed_interpolate(), BKE_tracking_get_camera_object_matrix(), SnapData::clip_planes_enable(), blender::math::invert(), LISTBASE_FOREACH, OB_DUPLI, blender::MatBase< T, NumCol, NumRow, Alignment >::ptr(), SnapData::register_result(), SnapObjectContext::runtime, SCE_SNAP_TO_NONE, SCE_SNAP_TO_POINT, SnapObjectContext::scene, snap_object_center(), SnapData::snap_point(), SnapObjectContext::snap_to_flag, TRACK_HAS_BUNDLE, TRACKING_OBJECT_CAMERA, and blender::math::transform_point().
Referenced by snap_obj_fn().
| eSnapMode snapCurve | ( | SnapObjectContext * | sctx, |
| const Object * | ob_eval, | ||
| const blender::float4x4 & | obmat ) |
Referenced by snap_obj_fn().