32 const float4x4 &world_to_active = active_object->world_to_object();
35 bool active_object_selected =
false;
37 if (
object == active_object) {
38 active_object_selected =
true;
48 if (!active_object_selected) {
59 transforms[
i] = world_to_active * objects[
i]->object_to_world();
#define CTX_DATA_BEGIN(C, Type, instance, member)
Object * CTX_data_active_object(const bContext *C)
Scene * CTX_data_scene(const bContext *C)
Main * CTX_data_main(const bContext *C)
struct Curves * BKE_curves_copy_for_eval(const struct Curves *curves_src)
void BKE_report(ReportList *reports, eReportType type, const char *message)
void DEG_id_tag_update(ID *id, unsigned int flags)
void DEG_relations_tag_update(Main *bmain)
Value & lookup_or_add_cb(const Key &key, const CreateValueF &create_value)
void append(const T &value)
IndexRange index_range() const
Span< T > as_span() const
MutableSpan< int > reference_handles_for_write()
int add_new_reference(const InstanceReference &reference)
void resize(int capacity)
MutableSpan< float4x4 > transforms_for_write()
wmOperatorStatus join_objects_exec(bContext *C, wmOperator *op)
void base_free_and_unlink(Main *bmain, Scene *scene, Object *ob)
RealizeInstancesResult realize_instances(bke::GeometrySet geometry_set, const RealizeInstancesOptions &options)
MatBase< float, 4, 4 > float4x4
static GeometrySet from_instances(Instances *instances, GeometryOwnershipType ownership=GeometryOwnershipType::Owned)
static GeometrySet from_curves(Curves *curves, GeometryOwnershipType ownership=GeometryOwnershipType::Owned)
Curves * get_curves_for_write()
bke::GeometrySet geometry
struct ReportList * reports
void WM_event_add_notifier(const bContext *C, uint type, void *reference)