fmesher 0.5.0
New features
- Add
fm_area() method for fm_segm area
calculations (version 0.4.0.9002)
- Make
fm_nonconvex_hull() a unified function for “fm”
and “sf” construction methods and input/output formats, with default
method “fm” and output format “sf”, making
fm_nonconvex_hull_inla() deprecated. (version
0.4.0.9004)
Improved features
- Rename
fm_mesh_components() to
fm_components() and add support for fm_segm
objects (version 0.4.0.9001)
- Add support for polygon output in
fm_as_sfc() for
closed boundary fm_segm objects (version
0.4.0.9002)
- Add support for
fm_segm as boundary input to
fm_hexagon_lattice() (version 0.4.0.9005)
- Add
fm_segm integration support for
fm_mesh_2d objects in fm_int() (version
0.4.0.9005)
Bug fixes
- Fix indexing bug in
fm_basis.fm_mesh_1d() for
degree = 2 and NA locations (version
0.4.0.9003)
- Detect unnamed
sfc objects in fm_int() for
multi-domain integration and give an error, as the user must provide a
geometry name (version 0.4.0.9005)
- Check that every
fm_int() sampler for domain lists has
at least one corresponding domain (version 0.4.0.9007)
- Remove support for
character .block
information in fm_int()/fm_cprod(), forcing
the use of integer, as character could lead to
incorrect block aggregation output ordering. The equivalent information
is now available in .block_origin. Also clean up of
fm_cprod() and sf handling (version
0.4.0.9006)
fmesher 0.4.0
New features
- Add
fm_hexagon_lattice() for creating regular hexagonal
lattice points to use with fm_mesh_2d(), from Man Ho Suen
(version 0.3.0.9001 and 0.3.0.9006)
- Add
fm_mesh_components() method for extracting
(dis)connected components from 2D and 3D meshes (version
0.3.0.9005)
- Add
fm_collect() method for creating a collection of
meshes of the same type (version 0.3.0.9009)
Improved features
- Construct better representative boundary points for
mid
data of fm_mesh_1d for
degree = 2, boundary = "free" (version
0.3.0.9002)
- Add argument
delaunay to allow non-Delaunay mesh
construction in fm_subdivide() (version
0.3.0.9003)
- Better handling of line integration when triangle edges and line
transects are co-linear (version
0.3.0.9004)
- Add support for
order > 2 for
fm_fem.fm_mesh_1d() (version 0.3.0.9011) and
generally for fm_matern_precision() (version
0.3.0.9012)
- Add argument
units to fm_crs() to allow
setting the length unit for the CRS on creation/extraction (version
0.3.0.9013)
Bug fixes
- Improved bug fix in
fm_mesh_2d_inla() from
0.2.0.9014 to allow negative offset in the second layer
when the inner layer is specified only through a boundary polygon
(version 0.3.0.9007)
- Bug fix for
fm_mesh_2d_inla() to ensure S2 manifold
meshes covering the entire sphere aren’t accidentally limited to a
subset of the globe (version 0.3.0.9008)
- Handle colour palettes with fewer than requested colours in
fm_generate_colors() (version 0.3.0.9008)
- Fix bug in
fm_detect_manifold() that caused it to
return "R2" for "S2" and "M2"
manifolds (version 0.3.0.9010)
- Fix bug in
fm_as_mesh_3d_list() that caused it to
return the mesh surface as an fm_mesh_2d object instead of
the full fm_mesh_3d object (version
0.3.0.9014)
fmesher 0.3.0
New features
- Convert
fm_bary() output to a dedicated
fm_bary class, with elements ‘index’ (index of the
containing simplex) and ‘where’ (matrix of barycentric weights).
(version 0.2.0.9001)
- Add
fm_bary_simplex() generic method to extract the
simplex vertex indices for an fm_bary object. (version
0.2.0.9001)
- Add
fm_bary_loc() generic method for converting
fm_bary information to Euclidean coordinates (version
0.2.0.9005)
- Add support for
fm_mesh_3d and new
fm_lattice_Nd class (version 0.2.0.9008 and
0.2.0.9011)
- Add
fm_assess() method, replicating the old
INLA::inla.mesh.assessment() method (version
0.2.0.9010)
- Add R implementation of
fm_qinv() for computing sparse
matrix partial inverses (version 0.2.0.9010)
Improved features
- Handle
NA location inputs to
fm_basis.fm_mesh_1d() (version
0.2.0.9002)
- Simplify
fm_basis object creation, and add
custom_classes developers vignette (version
0.2.0.9004)
- Add
fm_basis(mesh, loc = fm_bary(mesh, ...)) support
for fm_mesh_1d and fm_mesh_2d objects (version
0.2.0.9006)
- Add
list() input support for
fm_int.numeric, to allow multiple integration blocks for
discrete domains (version 0.2.0.9012)
- Add
mappings and defs support to the
geom_fm.fm_mesh_1d() method, allowing separate control of
the ggplot2 aesthetics for basis functions, knots, and
function evaluations (version 0.2.0.9013)
- Add support for
character block input to
fm_block methods, to automate multi-domain integration
support from fm_int() (version
0.2.0.9017)
Bug fixes
- Make
fm_try_callstack() more robust against large
callstack sizes; solves “C stack” crash issue for inla()
error reporting (version 0.2.0.9007)
- Fix
fm_bbox.fm_mesh_2d() bug for "S2" and
"M2" manifold meshes (version 0.2.0.9008)
- Fix bug in
fm_rcdt_2d_inla() that lead to ignoring the
quality.spec argument (version
0.2.0.9009)
- Fix bug in
fm_mesh_2d_inla() that improperly ignored
negative offset values when creating meshes based on only
boundary information (version 0.2.0.9014)
- Minor bugfix for
print.fm_segm() for empty
fm_segm objects (version 0.2.0.9015)
- Bugfix for
fm_mesh_2d_inla(interior = ...) where part
of the code incorrectly assumed interior would be a list.
Now converts a list into a single fm_segm object (version
0.2.0.9016)
Deprecation updates
- Remove long deprecated
inla.mesh etc legacy methods;
need to explicitly convert old objects. Retaining the
inla.mesh etc class suffixes for now. (version
0.2.0.9001)
fmesher 0.2.0
New methods
- Add print methods for
fm_basis and
fm_evaluator objects (version 0.1.7.9003)
- Add
fm_manifold_get() generic method to extract
manifold information from general objects, so that external objects can
implement their own manifold information storage (version
0.1.7.9005)
- Add
fm_crs_plot() method for plotting
fm_crs objects with optional graticules and Tissot
indicatrices (version 0.1.7.9010)
New method options
- Add
full argument to fm_basis() to toggle
between matrix and full fm_basis object output (version
0.1.7.9002)
- Add
loc plotting option to
geom_fm.fm_mesh_2d and modify the ggplot
mapping interface for interior and boundary segments in the same method
(version 0.1.7.9009)
- Add
format="loc" argument to
fm_as_sfc.fm_mesh_2d() for converting mesh node coordinates
to sfc_POINT format (version 0.1.7.9009)
Minor updates
- Update documentation and vector coordinate inputs to
fm_lattice_2d() to clarify input interpretation and ensure
correct boundary orientation (version 0.1.7.9001)
- Add some length unit handling to
fm_crs_bounds()
(version 0.1.7.9008)
- Add control argument
max_batch_size to
fm_bary.fm_mesh_2d(), that can be supplied via
fm_basis(), for optional override of the default maximal
batch calculation size, see #14 (version 0.1.7.9011)
Deprecation updates
- Remove
sp objects from fmexample data. Use
fmexample_sp() to access them if needed (version
0.1.7.9004)
- Move
sp dependency to Suggests, and remove
inlabru dependency (version 0.1.7.9006)
- Further
sp use protection (version
0.1.7.9007)
- Increased deprecation warning and error messages for old unsupported
methods
fmesher 0.1.7
- Fix regression bug in
fm_manifold() that made it ignore
all but the first given type options. See #16 (version `0.1.6.9001)
- Fix
plot.fm_mesh_2d vectorisation bug (version
0.1.6.9002)
- Add new
fm_subdivide() method for
fm_mesh_2d meshes (version 0.1.6.9003)
fmesher 0.1.6
- Fix for hiding away-facing triangle edges in
plot.fm_mesh_2d() and lines.fm_segm().
- Fix duplicated
fm_unify_coords.sf() method. Thanks to
Pablo Paccioretti for debugging and reporting, see #13 (version
0.1.5.9001)
- Use batched
fm_bary.fm_mesh_2d() computations for data
sizes of 2e5 and upwards. This improves performance of
fm_basis()/inla.spde.make.A() for large data
sets, see #14 (version 0.1.5.9002)
- Automatically convert raw
sfc samplers objects to
sf objects in fm_int.list() (version
0.1.5.9003)
- Detect and warn about unsupported use of
fm_segm
objects in fm_int.list() (version
0.1.5.9004)
- Add
fm_basis() and fm_fem() support for
fm_tensor function spaces (version
0.1.5.9005)
- Add
fm_CRS() support for terra objects
(version 0.1.5.9006)
fmesher 0.1.5
- Fix bug in
fm_matern_sample() that prevented the use of
a non-NULL loc argument. For earlier versions, the
workaround is to make a separate call to fm_evaluate()
after calling fm_matern_sample().
- Improve speed of
fm_block_log_shift() by an order of
magnitude for multi-block cases.
- Fix bug in
plot.fm_mesh_2d for meshes with 2D
coordinate storage (version 0.1.4.9002)
fmesher 0.1.4
- Work around
std::get<variant>() lack of support
for MacOS < 10.14.
fmesher 0.1.3
- Fix bug in
fm_rcdt_2d_inla() that gave different
defaults for the extend and refine arguments
when equal to TRUE, that should be treated the same as
list() (version 0.1.2.9001)
- Fix bug in
fm_rcdt_2d_inla() to properly update
n basis counter element when removing unused vertices.
(version 0.1.2.9002)
- Fix bug giving a spurious warning about inconsistent
is.bnd for empty fm_segm objects, and
inconsistent grp vector lengths. (version
0.1.2.9003)
- Convert some of the old potentially unsafe C++ pointer methods to
type safe C++17 features
fmesher 0.1.2
- Various documentation improvements, in particular for INLA
compatibility
- Modify mesh refinement tests to directly check the refinement
criteria instead of the specific mesh result, to account for differences
in floating point behaviour on M1 processors.
- Modify tests of non-mesh-generation features to use precomputed
meshes or meshes with stable properties
- Protect against invalid
tv inputs
- Revert from
\text{} to \textrm{}, as AMS
extensions are only supported from R 4.2.2
(https://www.stats.bris.ac.uk/R/doc/manuals/r-devel/R-exts.pdf
2023-08-24, page 90), and CRAN oldrel for macOS is 4.2.0, not 4.2.3
fmesher 0.1.1
- Simplify LICENSE information in the R package DESCRIPTION
- Fix example for legacy
plot_PolySet method
- Fix C++ unused-variable warning detected by clang-tidy version
16.0.6
- Add workaround for
sf::st_buffer not supporting
negative distance for s2 with longlat coordinates. Fixes
#5
fmesher 0.1.0
- Full conversion of the fmesher interface from the standalone binary
in R-INLA (https://www.r-inla.org) to an interface powered by
Rcpp (https://cran.r-project.org/package=Rcpp)
- Tools for 2D and 1D function spaces, see
fm_mesh_2d()
and fm_mesh_1d()
- Tools for CRS handling see
fm_crs() and
fm_transform()
- Plotting support for base graphics,
rgl, and
ggplot2
- Added basic GMRF tools, see
fm_matern_precision()
fmesher 0.0.9
- Basic fmesher library I/O interface
- Added a
NEWS.md file to track changes to the
package.