Blender V4.5
BKE_mball.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2001-2002 NaN Holding BV. All rights reserved.
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#pragma once
6
8#include "BLI_span.hh"
9
13
14struct Base;
15struct Depsgraph;
16struct Main;
17struct MetaBall;
18struct MetaElem;
19struct Object;
20struct Scene;
21
22MetaBall *BKE_mball_add(Main *bmain, const char *name);
23
27
33bool BKE_mball_is_same_group(const Object *ob1, const Object *ob2);
38bool BKE_mball_is_basis_for(const Object *ob1, const Object *ob2);
45bool BKE_mball_is_basis(const Object *ob);
56
66void BKE_mball_properties_copy(Main *bmain, MetaBall *metaball_src);
67
69 const MetaBall *mb, float min[3], float max[3], const float obmat[4][4], short flag);
70
71/* Basic vertex data functions. */
72
73bool BKE_mball_minmax(const MetaBall *mb, float min[3], float max[3]);
74bool BKE_mball_center_median(const MetaBall *mb, float r_cent[3]);
75bool BKE_mball_center_bounds(const MetaBall *mb, float r_cent[3]);
76void BKE_mball_transform(MetaBall *mb, const float mat[4][4], bool do_props);
77void BKE_mball_translate(MetaBall *mb, const float offset[3]);
78
85
94
95/* *** Select functions *** */
96
97int BKE_mball_select_count(const MetaBall *mb);
105
106/* **** Depsgraph evaluation **** */
107
108void BKE_mball_data_update(Depsgraph *depsgraph, Scene *scene, Object *ob);
void BKE_mball_data_update(Depsgraph *depsgraph, Scene *scene, Object *ob)
Definition mball.cc:655
bool BKE_mball_is_same_group(const Object *ob1, const Object *ob2)
Definition mball.cc:283
int BKE_mball_select_count(const MetaBall *mb)
Definition mball.cc:563
void BKE_mball_properties_copy(Main *bmain, MetaBall *metaball_src)
Definition mball.cc:345
bool BKE_mball_minmax_ex(const MetaBall *mb, float min[3], float max[3], const float obmat[4][4], short flag)
Definition mball.cc:456
bool BKE_mball_select_swap_multi_ex(blender::Span< Base * > bases)
bool BKE_mball_deselect_all(MetaBall *mb)
Definition mball.cc:608
MetaElem * BKE_mball_element_add(MetaBall *mb, int type)
Definition mball.cc:184
bool BKE_mball_is_any_selected_multi(blender::Span< Base * > bases)
int BKE_mball_select_count_multi(blender::Span< Base * > bases)
bool BKE_mball_center_bounds(const MetaBall *mb, float r_cent[3])
Definition mball.cc:518
bool BKE_mball_is_any_unselected(const MetaBall *mb)
Definition mball.cc:326
MetaBall * BKE_mball_add(Main *bmain, const char *name)
Definition mball.cc:178
void BKE_mball_translate(MetaBall *mb, const float offset[3])
Definition mball.cc:556
bool BKE_mball_minmax(const MetaBall *mb, float min[3], float max[3])
Definition mball.cc:489
void BKE_mball_transform(MetaBall *mb, const float mat[4][4], bool do_props)
Definition mball.cc:530
bool BKE_mball_center_median(const MetaBall *mb, float r_cent[3])
Definition mball.cc:500
blender::float2 BKE_mball_element_display_radius_calc_with_stiffness(const MetaElem *ml)
Definition mball.cc:231
float BKE_mball_element_display_radius_calc(const MetaElem *ml)
Definition mball.cc:250
bool BKE_mball_select_all_multi_ex(blender::Span< Base * > bases)
bool BKE_mball_is_basis(const Object *ob)
Definition mball.cc:260
Object * BKE_mball_basis_find(Scene *scene, Object *ob)
Definition mball.cc:424
bool BKE_mball_select_swap(MetaBall *mb)
Definition mball.cc:632
bool BKE_mball_is_any_selected(const MetaBall *mb)
Definition mball.cc:304
bool BKE_mball_select_all(MetaBall *mb)
Definition mball.cc:585
bool BKE_mball_deselect_all_multi_ex(blender::Span< Base * > bases)
bool BKE_mball_is_basis_for(const Object *ob1, const Object *ob2)
Definition mball.cc:299
BPy_StructRNA * depsgraph
VecBase< float, 2 > float2
#define min(a, b)
Definition sort.cc:36
string name
Definition scene.h:117
max
Definition text_draw.cc:251
uint8_t flag
Definition wm_window.cc:139