Blender V4.3
transform_snap_object.hh File Reference
#include "BLI_map.hh"
#include "BLI_math_geom.h"

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)
 

Macro Definition Documentation

◆ MAX_CLIPPLANE_LEN

#define MAX_CLIPPLANE_LEN   6

Definition at line 14 of file transform_snap_object.hh.

◆ SNAP_TO_EDGE_ELEMENTS

Function Documentation

◆ cb_snap_edge()

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

◆ cb_snap_vert()

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

◆ nearest_world_tree()

◆ raycast_all_cb()

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

◆ raycast_tri_backface_culling_test()

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] )

◆ snap_edge_points_mesh()

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 )

◆ snap_object_center()

◆ snap_object_editmesh()

eSnapMode snap_object_editmesh ( SnapObjectContext * sctx,
const Object * ob_eval,
const ID * id,
const blender::float4x4 & obmat,
eSnapMode snap_to_flag,
bool use_hide )

◆ snap_object_mesh()

◆ snap_polygon_mesh()

◆ snapArmature()

eSnapMode snapArmature ( SnapObjectContext * sctx,
const Object * ob_eval,
const blender::float4x4 & obmat,
bool is_object_active )

Referenced by snap_obj_fn().

◆ snapCamera()

◆ snapCurve()

eSnapMode snapCurve ( SnapObjectContext * sctx,
const Object * ob_eval,
const blender::float4x4 & obmat )

Referenced by snap_obj_fn().