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

Mesh 3 : initial_points_generator parameter for make_mesh_3 point initialization #7798

Open
wants to merge 78 commits into
base: master
Choose a base branch
from

Conversation

ange-clement
Copy link
Member

@ange-clement ange-clement commented Oct 13, 2023

Summary of Changes

Added a initial_points_generator parameter in make_mesh_3.
With this parameter, we can use a custom functor when initializing the C3t3 complex.
This functor must follow the Initial_points_generator concept.

Tasks:

  • Add initial_points_generator parameter in make_mesh_3
  • Make an example
  • Write Construct_initial_points_labeled_image into a header
  • Make initialize_triangulation_from_labeled_image use Construct_initial_points_labeled_image
  • Change definition of concept InitialPointsGenerator to output std::tuple<MeshDomain::Point_3, int dimension, MeshDomain::Index> (instead of std::pair<MeshDomain::Point_3, MeshDomain::Index>)
  • Make it pass checks
  • Document initial_points_generator parameter in make_mesh_3
  • Document Construct_initial_points_labeled_image header
  • Document example
  • Delete initialize_triangulation_from_labeled_image and initialize_triangulation_from_gray_image
  • Make an example of labelled and gray image initialisation with the parameter or the old custom initialization.
  • Make small feature page
  • add Construct_initial_points_gray_image.h, similar to Construct_initial_points_labeled_image.h
  • Maybe add a test ?
  • announce in CHANGES.md, see Mesh 3 : initial_points_generator parameter for make_mesh_3 point initialization #7798 (comment)

Release Management

initial_points_generator
@ange-clement
Copy link
Member Author

/build:v0

@github-actions
Copy link

There was an error while building the doc:

/home/runner/work/cgal/cgal/Mesh_3/doc/Mesh_3/Mesh_3.txt:775: warning: unable to resolve reference to 'CGAL/Mesh_3/Construct_initial_points_labeled_image.h' for \ref command
/home/runner/work/cgal/cgal/Mesh_3/doc/Mesh_3/Mesh_3.txt:779: warning: included file CGAL/Mesh_3/Construct_initial_points_labeled_image.h is not found. Check your EXAMPLE_PATH

https://github.com/CGAL/cgal/actions/runs/6558298316

@ange-clement
Copy link
Member Author

/build:v0

@ange-clement ange-clement removed their assignment Oct 18, 2023
@ange-clement
Copy link
Member Author

@ange-clement ange-clement removed their assignment Oct 18, 2023
That is an error, oops

@github-actions
Copy link

There was an error while building the doc:

/home/runner/work/cgal/cgal/Mesh_3/doc/Mesh_3/examples.txt:16: warning: included file CGAL/Mesh_3/Construct_initial_points_labeled_image.h is not found. Check your EXAMPLE_PATH
/home/runner/work/cgal/cgal/Mesh_3/doc/Mesh_3/Mesh_3.txt:779: warning: included file CGAL/Mesh_3/Construct_initial_points_labeled_image.h is not found. Check your EXAMPLE_PATH

https://github.com/CGAL/cgal/actions/runs/6558364305

@ange-clement
Copy link
Member Author

/build:v0

@github-actions
Copy link

The documentation is built. It will be available, after a few minutes, here: https://cgal.github.io/7798/v0/Manual/index.html

Added group "Mesh Initialization Functions" +
Added concept "InitialPointsGenerator" +
Documented model "Construct_initial_points_labeled_image" +
Updated demo parametters +
Fix reneming errors
@ange-clement
Copy link
Member Author

/force-build:v0

@github-actions
Copy link

There was an error while building the doc:

/home/runner/work/cgal/cgal/Mesh_3/include/CGAL/make_mesh_3.h:610: warning: Reached end of file while still inside a (nested) comment. Nesting level 1 (probable line reference: 298)
/home/runner/work/cgal/cgal/Mesh_3/include/CGAL/make_mesh_3.h:418: warning: expected <li> tag but found TK_COMMAND_BS token instead!
/home/runner/work/cgal/cgal/Mesh_3/include/CGAL/make_mesh_3.h:425: warning: Found unknown command '\cgalParamDefault'
/home/runner/work/cgal/cgal/Mesh_3/include/CGAL/make_mesh_3.h:426: warning: Found unknown command '\cgalParamSectionEnd'
/home/runner/work/cgal/cgal/Mesh_3/include/CGAL/make_mesh_3.h:427: warning: Found unknown command '\cgalNamedParamsEnd'
/home/runner/work/cgal/cgal/Mesh_3/include/CGAL/make_mesh_3.h:448: warning: unexpected end of comment while inside <dl> block
/home/runner/work/cgal/cgal/Mesh_3/doc/Mesh_3/Mesh_3.txt:775: warning: unable to resolve reference to 'CGAL/Mesh_3/Construct_initial_points_labeled_image.h' for \ref command

https://github.com/CGAL/cgal/actions/runs/6559707571

@janetournois
Copy link
Member

/build:v3

Copy link

The documentation is built. It will be available, after a few minutes, here: https://cgal.github.io/7798/v3/Manual/index.html

@janetournois
Copy link
Member

/force-build:v3

Copy link

There was an error while building the doc:


https://github.com/CGAL/cgal/actions/runs/11066766220

Installation/CHANGES.md Outdated Show resolved Hide resolved
Mesh_3/doc/Mesh_3/CGAL/Mesh_3/parameters.h Outdated Show resolved Hide resolved
Mesh_3/doc/Mesh_3/CGAL/Mesh_3/parameters.h Outdated Show resolved Hide resolved
Mesh_3/doc/Mesh_3/CGAL/Mesh_3/parameters.h Outdated Show resolved Hide resolved
Mesh_3/doc/Mesh_3/CGAL/Mesh_3/parameters.h Outdated Show resolved Hide resolved
*
*/
template <typename MeshDomain, typename C3t3>
unspecified_type initial_points(const std::vector<std::tuple<C3t3::Triangulation::Geom_traits::Weighted_point_3, int, MeshDomain::Index>>& initial_points);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As far as I see this one doesn't say the points should be on the surface. It probably should?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not really, but you're right I will add a comment about that

Comment on lines 55 to 56
Since there is no `n` given like above, the functor must provide enough
points to initialize the mesh generation process.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a way for the user to check this?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have added a comment explaining what is "enough", i.e. there must be at least one facet in the restricted Delaunay triangulation

@albert-github
Copy link
Contributor

Any idea why the error field of the documentation build in #7798 (comment) is empty?

janetournois and others added 12 commits September 30, 2024 11:10
and fix doc accordingly

1. protect features
2. insert initial_points() range
3. use initial_points_generator(), if provided
4. use domain.construct_initial_points_object(), if initialization not complete
Co-authored-by: Mael <mael.rouxel.labbe@geometryfactory.com>
…sh-point-initialization-2-aclement

# Conflicts:
#	Installation/CHANGES.md
@janetournois
Copy link
Member

/build:v4

This comment has been minimized.

@lrineau

This comment has been minimized.

This comment has been minimized.

Copy link

github-actions bot commented Oct 9, 2024

The documentation is built. It will be available, after a few minutes, here: https://cgal.github.io/7798/v4/Manual/index.html

…sh-point-initialization-2-aclement

# Conflicts:
#	Installation/CHANGES.md
@janetournois
Copy link
Member

The documentation of CGAL::make_mesh_3() with the new named parameters initial_points() and initial_points_generator() is available here

@lrineau

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Not yet approved The feature or pull-request has not yet been approved. Pkg::Mesh_3 Small feature
Projects
None yet
7 participants