I would like to Emboss the text from a triangle model(made of vertices and faces) by CGAL.
I use stbtt docs to convert shape of letter from True type font into polygons.
Easy way to emboss is to use a boolean operation (union or minus to raise or engrave), but when you use an organic surface it will be fine not to define the top surface of letters and use the original part of the source model moved perpendicular to model surface.
So, I want divide source triangle model by intersecting with model of letter(idealy with trapezoid on side of letter model). Gather Circle of intersections made by sequence of vertices and half edges(optionaly filter circles to not use it). And collect set of Inner triangles (triangles from source model laying inside of letter's model).
Next step will be doubled the points in intersection(create zig zag triangles between new and old vertices) and move vertices from inner triangles in direction of engrave(perpendicular to surface).
I found the Corefine operation in the user manual that can do dividing for me. I could collect intersection vertices by name parameter edge_is_constrained_map but I miss functionality to identify inner part. I hope that in map will be oriented half edge but it is NOT true. Also I miss way to intersect with letter model where sides are made by trapezoids (I have to divide trapezoid to 2 triangles and this leads to more intersecting points).
Could you point me:
- Where I could get oriented "The common edges"(green line inside CGAL documentation) intersecting with trapezoids (sides of letter) before dividing triangles. I found function corefine_and_compute_intersection() but it is for triangles not trapezoid model.
- How to use(apply to corefine) result of corefine_and_compute_intersection(link above). To be able divide triangles and get orientation of intersection line to identify inner triangles.
- How to filtr The common edges inside Corefine function(link above) to not use some of them and get orientation of The common edge?