This plugin was developed in conjunction with Defining Point Set Surface and The Domain of a Point Set Surface. By utilizing the general frame work described in these paper, we create a method to make various surfaces definitions. This plugin was made so that one can experiment and try their own surface definitions. This is done easily by creating a energy function and a vector function within the source code.
This is the heart of the surface definition. Two functions are needed in order
to define a surface. The energy and the vector function.
Energy Function has the following syntax:
float energyX(KdTreeExtra *kdtree, const SurfaceParams & sp, const Vector3D & source, const Vector3D & n);
Optimal Direction has the following syntax:
bool optDirX(KdTreeExtra *kdtree, const
SurfaceParams & sp, const Vector3D & x, Vector3D * xnormal);
Define these two functions.
Modify the PointNormalSurface::PointNormalSurface() constructor to call the new functions by using setFunctions(energyX, optDirX).
That's it!