-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Vector Graphics on Surfaces #8679
Draft
sloriot
wants to merge
122
commits into
CGAL:master
Choose a base branch
from
sloriot:Bsurf
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from 119 commits
Commits
Show all changes
122 commits
Select commit
Hold shift + click to select a range
fcf4c20
add initial structure for bsurf import into CGAL
sloriot 1464142
first example
sloriot a0a2302
add dijkstra call on the dual graph + fill edges for unfolding
sloriot c756199
first running versione of shortest path (runs but bugged)
Claudiomancinelli90 d6204ca
fix order for the intersection since vertices should be CCW oriented
Claudiomancinelli90 9e3c1f4
WIP: straightening path
Claudiomancinelli90 11991e6
copy edit plugin/item as a base for editable shortest path
sloriot 8fa860f
bug fixes, first working implementation
sloriot 768f6b8
add missing entry
sloriot bd3b513
add code for recursive de Casteljau (compiles, runs but crashes)
sloriot 176e4c7
WIP debug
sloriot 0f5db6d
fix tracing bezier!
sloriot 779eeeb
intrinsic dual_weights in graph for Dijkstra
Claudiomancinelli90 197627b
fix intersection point computation --> fixes weights
sloriot e7b3e9a
primal and dual graph for geodesic queries
Claudiomancinelli90 defa982
fix warnings
sloriot 3a58185
bug fix
sloriot 58adc66
bug fix strip on dual graph
Claudiomancinelli90 85e649b
fix macro
sloriot 40f741b
add example for geodesic distance computation + fix compilation and
sloriot c5236db
bug fix (still bugged) Dijkstra
Claudiomancinelli90 2697e15
add early quit for Dijkstra
sloriot 32704eb
add missing next + TODOs
sloriot ffa46ec
straightest geodesic (WIP)
Claudiomancinelli90 d79a0bd
straightest geodesic (compile)
Claudiomancinelli90 76e0f7a
raw import of file
sloriot 1df3c82
walk along the intersection with a plane for now
sloriot 5c41af0
add missing deps
sloriot ee4f229
fix compilation (does not run yet).
sloriot 44fabf4
add missing class
sloriot e74b2ac
Revert "add missing entry"
sloriot bdffb60
Revert "copy edit plugin/item as a base for editable shortest path"
sloriot 09891be
Merge remote-tracking branch 'cgal/master' into Bsur
sloriot 3cf13af
update include to dijkstra
sloriot 37ff2be
first version of locally shortest path plugin that starts to work
sloriot 2ac824f
fix headers
sloriot 9f0d60a
add tracing bezier
sloriot 42538ca
clean up initial path if src/tgt are on vertex/edge
sloriot 5cfaa04
move to a function
sloriot 8d54b8e
add test for striping initial path + bug fixes
sloriot 1a0cf35
add some debug
sloriot d61a500
handle already visible src and tgt
sloriot bd8c69f
fix edge update
sloriot 6994bb9
update for length 1 path
sloriot b3fefe5
update test
sloriot 3b55015
fix loop
sloriot 88fe6cf
add test on grid
sloriot 1515f8c
move Edge_location and add convinence function
sloriot 5bff11f
add simplification function showing that we need exact predicates
sloriot d28866c
WIP Straightest path
Claudiomancinelli90 cca8324
clean up patch
sloriot f381652
dd trace geodesic polygon
Claudiomancinelli90 e50c2f9
accept external solver to avoid rebuilding it
sloriot 831844a
print face locations in the infos
sloriot 9f7711d
add missing point and trace several polygons
sloriot 73e68ff
simplify the code by always stripping the path
sloriot 26c6393
WIP straightest at vertex
Claudiomancinelli90 3da5af5
clean up patch
sloriot d1a5995
reusable solver
sloriot 34ad600
WIP generic polygon tracing (to be debugged...)
sloriot 3468a87
WIP testsuite
sloriot adb823a
fix invalid barycentric coordinate and add missing point
sloriot cba29df
clean up examples
sloriot 3871e7d
clean up test
sloriot 501b6a6
init angle should be in degrees
sloriot ed5cad1
add draft for drawing several polygons with different centers
sloriot f9cef82
add parallel transport
sloriot ea10d5a
another method for text, using parallel transport for now
sloriot 645aa83
call the new method
sloriot c87b601
update angle wrt initial straightest
sloriot 0376540
add an example tracing a svg
sloriot bed64dc
Refresh from master
sloriot 7fca80b
change return type
sloriot ac5ed5a
add function to write along a curve given as input
sloriot 90ed96f
more helper functions
sloriot 9c55052
change return type to return location
sloriot 019ef75
add basic code for extruding/carving
sloriot aec062d
accomodate API update
sloriot e0d66e9
API update
sloriot fa2143a
connect de Casteljau points with geodesic paths
sloriot e59b726
avoid duplicated points in the output of de Casteljau + remove unneed…
sloriot 3f8506d
add functions to get vertex from location
sloriot dcf46c5
add function to get unique points from a path
sloriot 514c87a
remove unused files
sloriot acd226d
new example to write on a polygon curve with location snapping
sloriot c0b87a0
WIP bug fix straightest geodesic starting on an edge but going in the…
sloriot ed33392
fix invalid index
sloriot a5553d8
handle case when starting at a vertex in straightest path
sloriot 792e1de
missing update of location
sloriot ad23ae7
fix computation of angle in the triangle (need accumulation and not l…
sloriot 8a84d01
remove debug
sloriot de4bb02
fix case of a path of length 0
sloriot 6eaa1ab
add code for tracing a polyline of adjacent bezier curves
sloriot e91fc75
update example code to also trace svg with different center after reg…
sloriot c2d9c78
add extrude/carving for svg drawing
sloriot 47683c5
regroup control polylines when overlapping
sloriot 0045843
create skeleton of a new package for Bsurf
sloriot ecd5914
start handling border in straightest geodesic
sloriot 6082359
bad break
sloriot 79f0baa
first fixes for cases when reaching the boundary
sloriot 9bcf6eb
add test for straightest geodesic
sloriot 0576fb6
start fixing vertex case
sloriot 54d72a9
fix ref landing page
sloriot 40c7d25
tmp change to not forget to fix the code for the test
sloriot a372da3
start adding function doc
sloriot 937003c
add more doc
sloriot e0572b9
fix license and copyright
sloriot b3d7ce4
move header + fix compilation issues
sloriot 3cb40d0
change namespace
sloriot bf31250
classified reference manual
sloriot 9e0ddba
move tests
sloriot e509999
please CI
sloriot ae0b792
add missing dependencies
sloriot d1eea2b
missing link with Eigen
sloriot adec4e5
fix compilation issue
sloriot f6eb9e6
one more missing eigen link
sloriot 114fd88
doc fixes
afabri 33a570e
uint -> unsigned int
afabri 473d1d1
std::max
afabri 27aaaa6
typo
afabri 1bd12c7
typos
afabri f610f05
Change inclusion order in tests
afabri File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
if(NanoSVG_FOUND AND NOT TARGET CGAL::NanoSVG_support) | ||
add_library(CGAL::NanoSVG_support INTERFACE IMPORTED) | ||
set_target_properties(CGAL::NanoSVG_support PROPERTIES | ||
INTERFACE_COMPILE_DEFINITIONS "CGAL_NANOSVG_ENABLED") | ||
target_link_libraries(CGAL::NanoSVG_support INTERFACE NanoSVG::nanosvg) | ||
endif() |
54 changes: 54 additions & 0 deletions
54
Installation/include/CGAL/license/Vector_graphics_on_surfaces.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
// Copyright (c) 2016 GeometryFactory SARL (France). | ||
// All rights reserved. | ||
// | ||
// This file is part of CGAL (www.cgal.org) | ||
// | ||
// $URL$ | ||
// $Id$ | ||
// SPDX-License-Identifier: LGPL-3.0-or-later OR LicenseRef-Commercial | ||
// | ||
// Author(s) : Andreas Fabri | ||
// | ||
// Warning: this file is generated, see include/CGAL/license/README.md | ||
|
||
#ifndef CGAL_LICENSE_VECTOR_GRAPHICS_ON_SURFACES_H | ||
#define CGAL_LICENSE_VECTOR_GRAPHICS_ON_SURFACES_H | ||
|
||
#include <CGAL/config.h> | ||
#include <CGAL/license.h> | ||
|
||
#ifdef CGAL_VECTOR_GRAPHICS_ON_SURFACES_COMMERCIAL_LICENSE | ||
|
||
# if CGAL_VECTOR_GRAPHICS_ON_SURFACES_COMMERCIAL_LICENSE < CGAL_RELEASE_DATE | ||
|
||
# if defined(CGAL_LICENSE_WARNING) | ||
|
||
CGAL_pragma_warning("Your commercial license for CGAL does not cover " | ||
"this release of the Vector_graphics_on_surfaces package.") | ||
# endif | ||
|
||
# ifdef CGAL_LICENSE_ERROR | ||
# error "Your commercial license for CGAL does not cover this release \ | ||
of the Vector_graphics_on_surfaces package. \ | ||
You get this error, as you defined CGAL_LICENSE_ERROR." | ||
# endif // CGAL_LICENSE_ERROR | ||
|
||
# endif // CGAL_VECTOR_GRAPHICS_ON_SURFACES_COMMERCIAL_LICENSE < CGAL_RELEASE_DATE | ||
|
||
#else // no CGAL_VECTOR_GRAPHICS_ON_SURFACES_COMMERCIAL_LICENSE | ||
|
||
# if defined(CGAL_LICENSE_WARNING) | ||
CGAL_pragma_warning("\nThe macro CGAL_VECTOR_GRAPHICS_ON_SURFACES_COMMERCIAL_LICENSE is not defined." | ||
"\nYou use the CGAL Vector_graphics_on_surfaces package under " | ||
"the terms of the GPLv3+.") | ||
# endif // CGAL_LICENSE_WARNING | ||
|
||
# ifdef CGAL_LICENSE_ERROR | ||
# error "The macro CGAL_VECTOR_GRAPHICS_ON_SURFACES_COMMERCIAL_LICENSE is not defined.\ | ||
You use the CGAL Vector_graphics_on_surfaces package under the terms of \ | ||
the GPLv3+. You get this error, as you defined CGAL_LICENSE_ERROR." | ||
# endif // CGAL_LICENSE_ERROR | ||
|
||
#endif // no CGAL_VECTOR_GRAPHICS_ON_SURFACES_COMMERCIAL_LICENSE | ||
|
||
#endif // CGAL_LICENSE_VECTOR_GRAPHICS_ON_SURFACES_H |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
include(CGALlab_macros) | ||
|
||
if(TARGET CGAL::Eigen3_support) | ||
cgal_lab_plugin(locally_shortest_path_plugin Locally_shortest_path_plugin) | ||
target_link_libraries(locally_shortest_path_plugin PUBLIC locally_shortest_path_item | ||
scene_surface_mesh_item | ||
scene_polylines_item | ||
CGAL::Eigen3_support) | ||
endif() |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
During configuration I had to
lib/cmake/NanoSVG
inside the build directory for the Nanosvg_dir instead of just giving the build directory.