Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Topology.Container.Dynamic] Add class TriangleSubdividers to store methods to subdivide a triangle in differents configurations #4747

Merged
merged 28 commits into from
Jan 22, 2025

Conversation

epernod
Copy link
Contributor

@epernod epernod commented May 20, 2024

Add utility class for TriangleSetTopologyModifier component.
The class TriangleSubdivider allows to split triangle following 5 possible scenarios to subdivide a triangle.

Those subdividers will be used in a new version of Triangle incision in TriangleSetGeometryAlgorithms to come in futures PR.
Examples of use can be found in Tearing Plugin in PR InfinyTech3D/Tearing#50 and InfinyTech3D/Tearing#51

Some benchmarks scenes have been introduced in those PR on several triangles configuration at start:
Benchmark_01_TriangleSubdivision_ori

  • 1Node subdivision (1 Node inside the triangle)
    Benchmark_01_TriangleSubdivision_1Node

  • 1Edge subdivision (1 Node on 1 edge of the triangle)
    Benchmark_01_TriangleSubdivision_1Edge

  • 2Edge subdivision (1 Node on 2 edges of the triangle)
    Benchmark_01_TriangleSubdivision_2Edge

  • 3Edge subdivision (1 Node on 3 edges of the triangle)
    Benchmark_01_TriangleSubdivision_3Edge

  • 2Node subdivision (1 Node on 1 edges of the triangle and 1 Node inside the triangle)
    Benchmark_01_TriangleSubdivision_2Node

Tests have been added for:

  • testSubdivider_1Node();
  • testSubdivider_1Edge();
  • testSubdivider_2Edge();
  • testSubdivider_3Edge();
  • testSubdivider_2Node();

By submitting this pull request, I acknowledge that
I have read, understand, and agree SOFA Developer Certificate of Origin (DCO).


Reviewers will merge this pull-request only if

  • it builds with SUCCESS for all platforms on the CI.
  • it does not generate new warnings.
  • it does not generate new unit test failures.
  • it does not generate new scene test failures.
  • it does not break API compatibility.
  • it is more than 1 week old (or has fast-merge label).

@epernod epernod added pr: status to review To notify reviewers to review this pull-request pr: new feature Implement a new feature labels May 20, 2024
@epernod
Copy link
Contributor Author

epernod commented May 21, 2024

[ci-build][with-all-tests]

@epernod epernod marked this pull request as draft May 21, 2024 06:59
@epernod epernod added this to the v24.12 milestone May 22, 2024
@fredroy fredroy added pr: status wip Development in the pull-request is still in progress and removed pr: status to review To notify reviewers to review this pull-request labels Jun 19, 2024
@epernod epernod force-pushed the inf_2024_11_triangleSubdividers branch from e81435f to ca988ab Compare October 28, 2024 09:49
@epernod epernod modified the milestones: v24.12, v25.06 Dec 4, 2024
@epernod epernod added pr: status to review To notify reviewers to review this pull-request and removed pr: status wip Development in the pull-request is still in progress labels Jan 2, 2025
@epernod epernod marked this pull request as ready for review January 2, 2025 11:50
@hugtalbot
Copy link
Contributor

I definitely need a refresh on this but the CI says yes

@epernod epernod requested a review from hugtalbot January 19, 2025 22:37
@bakpaul bakpaul added pr: status ready Approved a pull-request, ready to be squashed and removed pr: status to review To notify reviewers to review this pull-request labels Jan 22, 2025
epernod and others added 20 commits January 22, 2025 15:05
…the triangles positions and use real area as barycoef
@fredroy fredroy force-pushed the inf_2024_11_triangleSubdividers branch from 43e5a82 to b56078c Compare January 22, 2025 14:05
@bakpaul bakpaul merged commit 9dc0450 into sofa-framework:master Jan 22, 2025
11 checks passed
@epernod epernod deleted the inf_2024_11_triangleSubdividers branch January 22, 2025 20:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pr: new feature Implement a new feature pr: status ready Approved a pull-request, ready to be squashed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants