What to modify in the source code

General

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.

Energies.h/cpp

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.

PointNormalSurface.cpp

Modify the PointNormalSurface::PointNormalSurface() constructor to call the new functions by using setFunctions(energyX, optDirX).

That's it!