NanoShaper  0.7.2
NanoShaper is a tool able to triangulate and inspect an arbitray triangulated surface or several types of molecular surfaces
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
AtomAn atom: an atom is a point in R^3 with radius, charge and dielectric value
AtomInfo
BlobbySurfaceThis class builds the blobby surface, triangulate it and the use mesh surface routines for the rest of the work
BlobbySurfaceRegister
Configuration
ConnollyCell
ConnollySurfaceThis class builds and converts to a DelPhi suitable representation the Connolly-Richards Surface. All the gathered info is analytically computed both the intersections and the projections. First the alpha shape of the set of atoms is computed, then from that the Connolly surface is computed by build all the patches
ConnollySurfaceRegister
coordVec
CoulombicSurfaceThis class builds the Coulombic surface, triangulate it and the use mesh surface routines for the rest of the work
CoulombicSurfaceRegister
Del0Cell
Del1Cell
Del2Cell
Del3Cell
DelPhiSharedThis class is the DelPhi Shared variables environment which emulates the DelPhi environment
EdgeCell
ExampleSurfaceThis class is a simple example that shows the main concepts needed to introduce a new surface in NanoShaper. This class builds a sphere centered on the baricenter of input points whose radius is specified by the user. This surface is ray-casting based and it is a trivial Surface definition. On a real scenario high performance is needed; to get performance the Developer can use the same strategies used in other surfaces such as in classes ConnollySurface and SkinSurface. The acceleration strategies are 2D/3D grids that allow fast retrieval of points or in general of simplices and patches. To add a new surface it is sufficient that you define a class withi this style (see registration class) and then it will be automatically loaded; you don't have to change any make file or cmake file, just write the source and put it the src folder
ExternalSurfaceThis class is wrapper and loads an external surface using the files epsmapx.txt, epsmapy.txt, epsmapz.txt, status.txt and projections.txt that is the list of the boundary grid points indexes,values and normals
ExternalSurfaceRegister
FacetCell
FVanDerWaalsSurfaceThis class builds the Van Der Waals surface as the union of the set of spheres in a fast way: the surface is not reduced in analytical patches (Voronoi diagram) so rays cannot be cast, but instead the grid is only coloured based on in/out information. The surface is not analytically sampled thus the triangulation can be only non accurate (bisecting marching cubes). The advantage is the the phase of surface construction is not necessary and that, still, projection of boundary grid points is fully analytical. Only triangulation is affected by this approximation. Regarding FD PDE solution no approximation is performed
MeshSurfaceThis class represents a converter from an arbitray triangulated mesh surface to a DelPhi compatible representation. Vertex normals are computed by averaging among surrounding plane normals
MeshSurfaceRegister
MixedCell
packet
PointA point in R^3
PointCell
SkinSurfaceThis class builds and converts to a DelPhi suitable representation the Skin Surface. All the gathered info is analytically computed both the intersections and the projections. In order to get an accurate result for the projection routine, as root finding algorithm is used the method of the companion matrix. The Skin surface was defined in: "H. Edelsbrunner. Deformable smooth surface design. Discrete Comput. Geom., 21:87-115, 1999."
SkinSurfaceRegister
SurfaceSurface class is the general interface that a surface class should have to be plugged inside DelPhi. Some functions implementations are mandatory such as load, save, build, etc... Note that the surface is not necessarly a molecular surface. Build function computes an internal representation of the surface; getSurf translates that representation in the DelPhi compatible representation. Note that in order to put a new surface in DelPhi a surface must provide epsmap, idebmap, computations of the surface area inside a grid cube, identification and projections of boundary grid points and their surface normals; these computations must be done in getSurf while the surface construction must be performed in build.

SurfaceFactory
SurfaceRecorder
TimerTimer: timer class. If chrono is defined use high accuracy timer