IsoGeometric Analysis and Point Cloud Fitting

GSplines.g1dimensionFunction
g1dimension(m::{HMesh, Mesh})

Count the dimension of the space of biquintic g1 splines on the mesh, with symmetric quadratic glueing data, using a combinatorial formula depending on the type of edges and vertices in the mesh.

source
g1dimension(m::{HMesh, Mesh}, kn::Vector)

Computes the dimension of the space of G1 splines associated to the knot sequence kn on the mesh m, with symmetric quadratic glueing data.

source
GSplines.g1hom_matrixFunction

Compute the matrix defining the G1 splines on the mesh hm with the knot distribution kn using quadratic glueing data.

It assumes that boundary vertices are regular.

source
GSplines.g1basisFunction

This function takes in input a quad mesh and returns a sparse matrix containing the coefficients defining a set of G1 biquintic basis functions on the input mesh. The construction holds for both planar and nonplanar quad meshes. The input mesh is assumed to be with isolated EVs and with no boundary EVs.

  • ncols of the sparse matrix gives the dimension of the spline space,
  • nrows is the total number of control points in the mesh i.e. nfaces*36

Example

using GSplines
m = offdata("triangle_planar.off")
basis = g1basis(m)
source
GSplines.ToGismoFunction

This function produces the .xml file containing both the spline geometry and associated biquintic basis functions (stored as sparse matrix) that can be loaded in G+Smo scripts to be used in IsoGeometric Analysis simulations or in point cloud fitting problems.

It may also creates .xml files containing only the geometry or the set of basis functions.

Example

using GSplines
m = offdata("triangle_planar.off")
s1 = g1surface(m)
basis = g1basis(m)
ToGismo(s1,basis,s1.knots,'filename')
source