Fix: Updated progressive packing vignette example to use ggiraph::girafe() function and fix CRAN warning (thanks to David Gohel).
Use the checkmate package to check arguments to functions.
pads_circle_pack.cpp
(graph-based circle packing)
to address a CRAN warning.Feature: Added circleRemoveOverlaps
which takes a set of circles and
identifies a subset of non-overlapping circles. The function can also be set
to allow some degree of overlap or require space between circles. The
function uses either a fast heuristic algorithm (several choices) or linear
programming (requires package lpSolve).
Fix: Replaced use of sprintf
with snprintf
in pads_circle_pack.cpp
(graph-based circle packing) to address CRAN warning.
Feature: Added circleProgressiveLayout
which deterministically places each
circle in turn such that it is externally tangent to two previously placed
circles while avoiding overlaps.
Feature: Replaced circleLayout
with a new function circleRepelLayout
.
The original function is retained for backwards compatibility but is
deprecated and will be removed in a future release.
Important note: the new function accepts circles sizes as either areas or
radii. The default is area, unlike circleLayout
which assumed sizes were
radii. The type of size value can be specified using the sizetype
argument.
Feature: Replaced circlePlotData
with a new function circleLayoutVertices
.
The original function is retained for backwards compatibility but is
deprecated and will be removed in a future release. The new function has a
sizetype
argument to specify whether the input circle sizes are areas or
radii. By default, radius is assumed as this matches the output of the layout
functions but I realize it's a bit confusing.
Internal: Removed gridExtra
from suggested packages.
Internal: Added ggiraph
(used for vignette).
Docs: Re-wrote the introductory vignette and added a new vignette for
circleProgressiveLayout
.
Docs: Edited function docs and examples.
Internal: Added file for native routine registration as now required by CRAN.