Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans Goudey <h.goudey@me.com>2022-03-29 18:16:05 +0300
committerHans Goudey <h.goudey@me.com>2022-03-29 18:16:05 +0300
commit1f6c2507f80ce4330fd9ddad8b4ea62086008012 (patch)
tree51dc9a087bd6545f8f863c91f7467950ca7ce3ba /source/blender/blenkernel/intern/object_dupli.cc
parentc4e4924096d1dcfd971aafbbf82d848a774b57db (diff)
Cleanup: Remove legacy dupli system from point cloud object
The "dupli" system now has a faster, more powerful, and more flexible alternative with geometry nodes. Since the point cloud objects haven't been exposed in the non-experimental UI yet, we can remove the dupli implementation and the panel for the object type. Differential Revision: https://developer.blender.org/D14482
Diffstat (limited to 'source/blender/blenkernel/intern/object_dupli.cc')
-rw-r--r--source/blender/blenkernel/intern/object_dupli.cc65
1 files changed, 0 insertions, 65 deletions
diff --git a/source/blender/blenkernel/intern/object_dupli.cc b/source/blender/blenkernel/intern/object_dupli.cc
index 009a7bd70be..327035971d5 100644
--- a/source/blender/blenkernel/intern/object_dupli.cc
+++ b/source/blender/blenkernel/intern/object_dupli.cc
@@ -766,68 +766,6 @@ static const DupliGenerator gen_dupli_verts_font = {
/** \} */
/* -------------------------------------------------------------------- */
-/** \name Dupli-Vertices Implementation (#OB_DUPLIVERTS for #PointCloud)
- * \{ */
-
-static void make_child_duplis_pointcloud(const DupliContext *ctx,
- void *UNUSED(userdata),
- Object *child)
-{
- const Object *parent = ctx->object;
- const PointCloud *pointcloud = (PointCloud *)parent->data;
- const float(*co)[3] = pointcloud->co;
- const float *radius = pointcloud->radius;
- const float(*rotation)[4] = nullptr; /* TODO: add optional rotation attribute. */
- const float(*orco)[3] = nullptr; /* TODO: add optional texture coordinate attribute. */
-
- /* Relative transform from parent to child space. */
- float child_imat[4][4];
- mul_m4_m4m4(child_imat, child->imat, parent->obmat);
-
- for (int i = 0; i < pointcloud->totpoint; i++) {
- /* Transform matrix from point position, radius and rotation. */
- float quat[4] = {1.0f, 0.0f, 0.0f, 0.0f};
- float size[3] = {1.0f, 1.0f, 1.0f};
- if (radius) {
- copy_v3_fl(size, radius[i]);
- }
- if (rotation) {
- copy_v4_v4(quat, rotation[i]);
- }
-
- float space_mat[4][4];
- loc_quat_size_to_mat4(space_mat, co[i], quat, size);
-
- /* Make offset relative to child object using relative child transform,
- * and apply object matrix after local vertex transform. */
- mul_mat3_m4_v3(child_imat, space_mat[3]);
-
- /* Create dupli object. */
- float obmat[4][4];
- mul_m4_m4m4(obmat, child->obmat, space_mat);
- DupliObject *dob = make_dupli(ctx, child, obmat, i);
- if (orco) {
- copy_v3_v3(dob->orco, orco[i]);
- }
-
- /* Recursion. */
- make_recursive_duplis(ctx, child, space_mat, i);
- }
-}
-
-static void make_duplis_pointcloud(const DupliContext *ctx)
-{
- make_child_duplis(ctx, nullptr, make_child_duplis_pointcloud);
-}
-
-static const DupliGenerator gen_dupli_verts_pointcloud = {
- OB_DUPLIVERTS, /* type */
- make_duplis_pointcloud /* make_duplis */
-};
-
-/** \} */
-
-/* -------------------------------------------------------------------- */
/** \name Instances Geometry Component Implementation
* \{ */
@@ -1654,9 +1592,6 @@ static const DupliGenerator *get_dupli_generator(const DupliContext *ctx)
if (ctx->object->type == OB_MESH) {
return &gen_dupli_verts;
}
- if (ctx->object->type == OB_POINTCLOUD) {
- return &gen_dupli_verts_pointcloud;
- }
}
else if (transflag & OB_DUPLIFACES) {
if (ctx->object->type == OB_MESH) {