42 const int mode = tvs->
mode;
64 if (bezt->
hide == 0) {
65 bool skip_handle =
false;
70 if ((bezt->
f1 &
SELECT) && !skip_handle) {
78 if (((bezt->
f1 &
SELECT) && !skip_handle) == 0) {
83 if (((bezt->
f3 &
SELECT) && !skip_handle) == 0) {
92 if ((bezt->
f3 &
SELECT) && !skip_handle) {
125 if (a < tvs->transverts_tot) {
158static void set_mapped_co(
void *vuserdata,
int index,
const float co[3],
const float[3] )
160 void **userdata =
static_cast<void **
>(vuserdata);
212 void *userdata[2] = {em,
nullptr};
328 const bool tipsel = (ebo->flag &
BONE_TIPSEL) != 0;
330 const bool rootok = !(ebo->parent && (ebo->flag &
BONE_CONNECTED) &&
333 if ((tipsel && rootsel) || (rootsel)) {
371 totmalloc += 3 * nu->
pntsu;
386 if (bezt->
hide == 0) {
387 bool skip_handle =
false;
392 if ((bezt->
f1 &
SELECT) && !skip_handle) {
418 if ((bezt->
f3 &
SELECT) && !skip_handle) {
C++ functions to deal with Armature collections (i.e. the successor of bone layers).
bool ANIM_bonecoll_is_visible_editbone(const bArmature *armature, const EditBone *ebone)
Object * CTX_data_edit_object(const bContext *C)
void BKE_nurb_project_2d(Nurb *nu)
void BKE_nurb_handles_test(Nurb *nu, eNurbHandleTest_Mode handle_mode, bool use_around_local)
ListBase * BKE_curve_editNurbs_get(Curve *cu)
void BKE_nurb_bezt_calc_plane(Nurb *nu, BezTriple *bezt, float r_plane[3])
BMEditMesh * BKE_editmesh_from_object(Object *ob)
Return the BMEditMesh for a given object.
void outside_lattice(Lattice *lt)
void BKE_mesh_foreach_mapped_vert(const Mesh *mesh, void(*func)(void *user_data, int index, const float co[3], const float no[3]), void *user_data, MeshForeachFlag flag)
General operations, lookup, etc. for blender objects.
const Mesh * BKE_object_get_editmesh_eval_cage(const Object *object)
#define LISTBASE_FOREACH(type, var, list)
int BLI_listbase_count(const struct ListBase *listbase) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
MINLINE float len_squared_v3v3(const float a[3], const float b[3]) ATTR_WARN_UNUSED_RESULT
MINLINE void sub_v3_v3v3(float r[3], const float a[3], const float b[3])
MINLINE void copy_v3_v3(float r[3], const float a[3])
MINLINE void add_v3_v3(float r[3], const float a[3])
void DEG_id_tag_update(ID *id, unsigned int flags)
Object is a sort of wrapper for general info.
Read Guarded memory(de)allocation.
void ED_armature_edit_transform_mirror_update(Object *obedit)
#define BM_elem_index_get(ele)
#define BM_elem_index_set(ele, index)
#define BM_elem_flag_test(ele, hflag)
#define BM_ITER_ELEM(ele, iter, data, itype)
#define BM_ITER_MESH(ele, iter, bm, itype)
ATTR_WARN_UNUSED_RESULT BMesh * bm
void BM_mesh_elem_table_ensure(BMesh *bm, const char htype)
BLI_INLINE BMVert * BM_vert_at_index(BMesh *bm, const int index)
void BM_mesh_normals_update(BMesh *bm)
ATTR_WARN_UNUSED_RESULT const BMLoop * l
ATTR_WARN_UNUSED_RESULT const BMVert * v
bool ED_transverts_check_obedit(const Object *obedit)
bool ED_transverts_poll(bContext *C)
static void set_mapped_co(void *vuserdata, int index, const float co[3], const float[3])
void ED_transverts_free(TransVertStore *tvs)
void ED_transverts_update_obedit(TransVertStore *tvs, Object *obedit)
void ED_transverts_create_from_obedit(TransVertStore *tvs, const Object *obedit, const int mode)
void MEM_freeN(void *vmemh)
void *(* MEM_callocN)(size_t len, const char *str)
void transverts_from_curves_positions_create(bke::CurvesGeometry &curves, TransVertStore *tvs)
struct EditLatt * editlatt