35 const float4x4 &world_to_active = active_object->world_to_object();
38 bool active_object_selected =
false;
40 if (
object == active_object) {
41 active_object_selected =
true;
51 if (!active_object_selected) {
62 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)
General operations for point clouds.
PointCloud * BKE_pointcloud_copy_for_eval(const PointCloud *pointcloud_src)
void BKE_pointcloud_nomain_to_pointcloud(PointCloud *pointcloud_src, PointCloud *pointcloud_dst)
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()
void base_free_and_unlink(Main *bmain, Scene *scene, Object *ob)
wmOperatorStatus join_objects_exec(bContext *C, wmOperator *op)
RealizeInstancesResult realize_instances(bke::GeometrySet geometry_set, const RealizeInstancesOptions &options)
MatBase< float, 4, 4 > float4x4
GeometryComponent & get_component_for_write(GeometryComponent::Type component_type)
static GeometrySet from_instances(Instances *instances, GeometryOwnershipType ownership=GeometryOwnershipType::Owned)
bool has_pointcloud() const
static GeometrySet from_pointcloud(PointCloud *pointcloud, GeometryOwnershipType ownership=GeometryOwnershipType::Owned)
bke::GeometrySet geometry
struct ReportList * reports
void WM_event_add_notifier(const bContext *C, uint type, void *reference)