Preparing for CRAN release, textures is now the core mesh-generation package that quadmesh will import.
The quad header library is vendored into
inst/include/textures/quad.h, removing the GitHub-only
‘quad’ dependency. Other packages may use it via
LinkingTo: textures.
Behaviour change: quads are now emitted in cell order, x fastest
(the matrix()/image() convention, and raster
cell order when ydown = TRUE). Previously the C++ path
emitted quads y fastest. Vertices are unchanged; only the column order
of ib (and so face-value alignment) changes.
New core primitives quad_index(),
quad_edges(), quad_vertex().
quad_edges() is the unexpanded intermediate form (the grid
margin coordinates). quad_index() transparently returns
double storage for grids whose vertex count or index length exceeds the
integer maximum.
New compact specification form quad_spec(), a plain
serializable recipe for a generatable mesh, with
quad_mesh() to materialize it as mesh3d. With rgl
installed, as.mesh3d() also works on a quad_spec (delayed
S3 registration).
rgl and scales are no longer Imports: mesh3d objects are
constructed directly, rgl (in Suggests) is only needed for 3D display.
set_scene() and png_plot3d() require rgl at
runtime.
plot.mesh3d() is rewritten in base graphics
(previously used grid and gridBase, which were not declared
dependencies); its triangle branch indexing bug is fixed.
quad_texture() with an empty texture path now warns
‘no texture file given’ rather than ‘texture file given does not
exist’.
Add segs() function.
Convert to use headers package {quad}.
Convert to cpp11.
Now using ‘main’ as default branch in git.
Added ‘extent’ to quad().
quad.h now provides matrix version of vertex table, with or without z-h.
New function png_plot3d() to directly plot from a
PNG file.
Modify R functions to leverage C++ versions of quad vertex and quad index constructors.
Aligned to R’s matrix orientation as a basis for quad creation.