Blender  V2.93
mball_edit.c File Reference
#include <math.h>
#include <string.h>
#include "MEM_guardedalloc.h"
#include "BLI_blenlib.h"
#include "BLI_kdtree.h"
#include "BLI_math.h"
#include "BLI_rand.h"
#include "BLI_utildefines.h"
#include "DNA_defs.h"
#include "DNA_meta_types.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "RNA_access.h"
#include "RNA_define.h"
#include "BKE_context.h"
#include "BKE_layer.h"
#include "BKE_mball.h"
#include "BKE_object.h"
#include "DEG_depsgraph.h"
#include "ED_mball.h"
#include "ED_object.h"
#include "ED_screen.h"
#include "ED_select_utils.h"
#include "ED_view3d.h"
#include "WM_api.h"
#include "WM_types.h"
#include "mball_intern.h"

Go to the source code of this file.

Functions

Edit Mode Functions
void ED_mball_editmball_free (Object *obedit)
 
void ED_mball_editmball_make (Object *obedit)
 
void ED_mball_editmball_load (Object *UNUSED(obedit))
 
Selection
bool ED_mball_deselect_all_multi (bContext *C)
 
Add Meta Primitive Utility
MetaElemED_mball_add_primitive (bContext *UNUSED(C), Object *obedit, bool obedit_is_new, float mat[4][4], float dia, int type)
 
Select/Deselect Operator
static int mball_select_all_exec (bContext *C, wmOperator *op)
 
void MBALL_OT_select_all (wmOperatorType *ot)
 
Select Random Operator
static int select_random_metaelems_exec (bContext *C, wmOperator *op)
 
void MBALL_OT_select_random_metaelems (struct wmOperatorType *ot)
 
Duplicate Meta-Ball Operator
static int duplicate_metaelems_exec (bContext *C, wmOperator *UNUSED(op))
 
void MBALL_OT_duplicate_metaelems (wmOperatorType *ot)
 
Delete Meta-Ball Operator

Delete all selected MetaElems (not MetaBall).

static int delete_metaelems_exec (bContext *C, wmOperator *UNUSED(op))
 
void MBALL_OT_delete_metaelems (wmOperatorType *ot)
 
Hide Meta-Elements Operator
static int hide_metaelems_exec (bContext *C, wmOperator *op)
 
void MBALL_OT_hide_metaelems (wmOperatorType *ot)
 
Un-Hide Meta-Elements Operator
static int reveal_metaelems_exec (bContext *C, wmOperator *op)
 
void MBALL_OT_reveal_metaelems (wmOperatorType *ot)
 
Select Pick Utility
bool ED_mball_select_pick (bContext *C, const int mval[2], bool extend, bool deselect, bool toggle)
 

Select Similar Operator

enum  { SIMMBALL_TYPE = 1 , SIMMBALL_RADIUS , SIMMBALL_STIFFNESS , SIMMBALL_ROTATION }
 
static const EnumPropertyItem prop_similar_types []
 
static void mball_select_similar_type_get (Object *obedit, MetaBall *mb, int type, KDTree_1d *tree_1d, KDTree_3d *tree_3d)
 
static bool mball_select_similar_type (Object *obedit, MetaBall *mb, int type, const KDTree_1d *tree_1d, const KDTree_3d *tree_3d, const float thresh)
 
static int mball_select_similar_exec (bContext *C, wmOperator *op)
 
void MBALL_OT_select_similar (wmOperatorType *ot)
 

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
SIMMBALL_TYPE 
SIMMBALL_RADIUS 
SIMMBALL_STIFFNESS 
SIMMBALL_ROTATION 

Definition at line 227 of file mball_edit.c.

Function Documentation

◆ delete_metaelems_exec()

static int delete_metaelems_exec ( bContext C,
wmOperator UNUSEDop 
)
static

◆ duplicate_metaelems_exec()

static int duplicate_metaelems_exec ( bContext C,
wmOperator UNUSEDop 
)
static

◆ ED_mball_add_primitive()

MetaElem* ED_mball_add_primitive ( bContext UNUSEDC,
Object obedit,
bool  obedit_is_new,
float  mat[4][4],
float  dia,
int  type 
)

Add meta-element primitive to meta-ball object (which is in edit mode).

Definition at line 128 of file mball_edit.c.

References BKE_mball_element_add(), copy_v3_v3(), Object::data, MetaBall::editelems, ListBase::first, MetaBall::lastelem, MB_ELIPSOID, mul_v3_fl(), MetaBall::rendersize, SELECT, type, and MetaBall::wiresize.

◆ ED_mball_deselect_all_multi()

bool ED_mball_deselect_all_multi ( bContext C)

◆ ED_mball_editmball_free()

void ED_mball_editmball_free ( Object obedit)

Definition at line 66 of file mball_edit.c.

References Object::data, MetaBall::editelems, MetaBall::lastelem, and NULL.

Referenced by ED_object_editmode_load_free_ex().

◆ ED_mball_editmball_load()

void ED_mball_editmball_load ( Object UNUSEDobedit)

Definition at line 96 of file mball_edit.c.

◆ ED_mball_editmball_make()

void ED_mball_editmball_make ( Object obedit)

◆ ED_mball_select_pick()

bool ED_mball_select_pick ( bContext C,
const int  mval[2],
bool  extend,
bool  deselect,
bool  toggle 
)

◆ hide_metaelems_exec()

static int hide_metaelems_exec ( bContext C,
wmOperator op 
)
static

◆ MBALL_OT_delete_metaelems()

void MBALL_OT_delete_metaelems ( wmOperatorType ot)

◆ MBALL_OT_duplicate_metaelems()

void MBALL_OT_duplicate_metaelems ( wmOperatorType ot)

◆ MBALL_OT_hide_metaelems()

void MBALL_OT_hide_metaelems ( wmOperatorType ot)

◆ MBALL_OT_reveal_metaelems()

void MBALL_OT_reveal_metaelems ( wmOperatorType ot)

◆ MBALL_OT_select_all()

void MBALL_OT_select_all ( wmOperatorType ot)

◆ MBALL_OT_select_random_metaelems()

void MBALL_OT_select_random_metaelems ( struct wmOperatorType ot)

◆ MBALL_OT_select_similar()

void MBALL_OT_select_similar ( wmOperatorType ot)

◆ mball_select_all_exec()

static int mball_select_all_exec ( bContext C,
wmOperator op 
)
static

◆ mball_select_similar_exec()

static int mball_select_similar_exec ( bContext C,
wmOperator op 
)
static

◆ mball_select_similar_type()

static bool mball_select_similar_type ( Object obedit,
MetaBall mb,
int  type,
const KDTree_1d *  tree_1d,
const KDTree_3d *  tree_3d,
const float  thresh 
)
static

◆ mball_select_similar_type_get()

static void mball_select_similar_type_get ( Object obedit,
MetaBall mb,
int  type,
KDTree_1d *  tree_1d,
KDTree_3d *  tree_3d 
)
static

◆ reveal_metaelems_exec()

static int reveal_metaelems_exec ( bContext C,
wmOperator op 
)
static

◆ select_random_metaelems_exec()

static int select_random_metaelems_exec ( bContext C,
wmOperator op 
)
static

Variable Documentation

◆ prop_similar_types

const EnumPropertyItem prop_similar_types[]
static
Initial value:
= {
{SIMMBALL_TYPE, "TYPE", 0, "Type", ""},
{SIMMBALL_RADIUS, "RADIUS", 0, "Radius", ""},
{SIMMBALL_STIFFNESS, "STIFFNESS", 0, "Stiffness", ""},
{SIMMBALL_ROTATION, "ROTATION", 0, "Rotation", ""},
{0, NULL, 0, NULL, NULL},
}
@ SIMMBALL_STIFFNESS
Definition: mball_edit.c:230
@ SIMMBALL_TYPE
Definition: mball_edit.c:228
@ SIMMBALL_RADIUS
Definition: mball_edit.c:229
@ SIMMBALL_ROTATION
Definition: mball_edit.c:231

Definition at line 234 of file mball_edit.c.

Referenced by MBALL_OT_select_similar().