Blender V4.3
transform_snap_object_mesh.cc File Reference

Go to the source code of this file.

Classes

class  SnapData_Mesh
 

Functions

eSnapMode snap_object_mesh (SnapObjectContext *sctx, const Object *ob_eval, const ID *id, const float4x4 &obmat, eSnapMode snap_to_flag, bool skip_hidden, bool is_editmesh)
 
Snap Object Data
static void snap_object_data_mesh_get (const Mesh *mesh_eval, bool skip_hidden, BVHTreeFromMesh *r_treedata)
 
Ray Cast Functions
static void mesh_corner_tris_raycast_backface_culling_cb (void *userdata, int index, const BVHTreeRay *ray, BVHTreeRayHit *hit)
 
static bool raycastMesh (SnapObjectContext *sctx, const Object *ob_eval, const Mesh *mesh_eval, const float4x4 &obmat, const uint ob_index, bool use_hide)
 
Surface Snap Functions
static bool nearest_world_mesh (SnapObjectContext *sctx, const Object *ob_eval, const Mesh *mesh_eval, const float4x4 &obmat, bool use_hide)
 
Subclass for Snapping to Edges or Points of a Mesh
static void cb_snap_edge_verts (void *userdata, int index, const DistProjectedAABBPrecalc *precalc, const float(*clip_plane)[4], const int clip_plane_len, BVHTreeNearest *nearest)
 
static void cb_snap_tri_verts (void *userdata, int index, const DistProjectedAABBPrecalc *precalc, const float(*clip_plane)[4], const int clip_plane_len, BVHTreeNearest *nearest)
 
static void cb_snap_tri_edges (void *userdata, int index, const DistProjectedAABBPrecalc *precalc, const float(*clip_plane)[4], const int clip_plane_len, BVHTreeNearest *nearest)
 
Internal Object Snapping API
eSnapMode snap_polygon_mesh (SnapObjectContext *sctx, const Object *ob_eval, const ID *id, const float4x4 &obmat, eSnapMode snap_to_flag, int face_index)
 
eSnapMode snap_edge_points_mesh (SnapObjectContext *sctx, const Object *ob_eval, const ID *id, const float4x4 &obmat, float dist_px_sq_orig, int edge_index)
 
static eSnapMode mesh_snap_mode_supported (const Mesh *mesh, bool skip_hidden)
 
static eSnapMode snapMesh (SnapObjectContext *sctx, const Object *ob_eval, const Mesh *mesh_eval, const float4x4 &obmat, bool skip_hidden, bool is_editmesh, eSnapMode snap_to)
 

Function Documentation

◆ cb_snap_edge_verts()

static void cb_snap_edge_verts ( void * userdata,
int index,
const DistProjectedAABBPrecalc * precalc,
const float(*) clip_plane[4],
const int clip_plane_len,
BVHTreeNearest * nearest )
static

Definition at line 260 of file transform_snap_object_mesh.cc.

References cb_snap_vert(), and SnapData_Mesh::get_edge_verts_index().

Referenced by snapMesh().

◆ cb_snap_tri_edges()

static void cb_snap_tri_edges ( void * userdata,
int index,
const DistProjectedAABBPrecalc * precalc,
const float(*) clip_plane[4],
const int clip_plane_len,
BVHTreeNearest * nearest )
static

◆ cb_snap_tri_verts()

static void cb_snap_tri_verts ( void * userdata,
int index,
const DistProjectedAABBPrecalc * precalc,
const float(*) clip_plane[4],
const int clip_plane_len,
BVHTreeNearest * nearest )
static

◆ mesh_corner_tris_raycast_backface_culling_cb()

static void mesh_corner_tris_raycast_backface_culling_cb ( void * userdata,
int index,
const BVHTreeRay * ray,
BVHTreeRayHit * hit )
static

◆ mesh_snap_mode_supported()

static eSnapMode mesh_snap_mode_supported ( const Mesh * mesh,
bool skip_hidden )
static

◆ nearest_world_mesh()

static bool nearest_world_mesh ( SnapObjectContext * sctx,
const Object * ob_eval,
const Mesh * mesh_eval,
const float4x4 & obmat,
bool use_hide )
static

◆ raycastMesh()

◆ snap_edge_points_mesh()

eSnapMode snap_edge_points_mesh ( SnapObjectContext * sctx,
const Object * ob_eval,
const ID * id,
const float4x4 & obmat,
float dist_px_sq_orig,
int edge_index )

◆ snap_object_data_mesh_get()

static void snap_object_data_mesh_get ( const Mesh * mesh_eval,
bool skip_hidden,
BVHTreeFromMesh * r_treedata )
static

◆ snap_object_mesh()

◆ snap_polygon_mesh()

◆ snapMesh()