NanoShaper
0.7.2
NanoShaper is a tool able to triangulate and inspect an arbitray triangulated surface or several types of molecular surfaces
|
Atom | An atom: an atom is a point in R^3 with radius, charge and dielectric value |
AtomInfo | |
BlobbySurface | This class builds the blobby surface, triangulate it and the use mesh surface routines for the rest of the work |
BlobbySurfaceRegister | |
Configuration | |
ConnollyCell | |
ConnollySurface | This 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 | |
CoulombicSurface | This class builds the Coulombic surface, triangulate it and the use mesh surface routines for the rest of the work |
CoulombicSurfaceRegister | |
Del0Cell | |
Del1Cell | |
Del2Cell | |
Del3Cell | |
DelPhiShared | This class is the DelPhi Shared variables environment which emulates the DelPhi environment |
EdgeCell | |
ExampleSurface | This 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 |
ExternalSurface | This 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 | |
FVanDerWaalsSurface | This 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 |
MeshSurface | This 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 | |
Point | A point in R^3 |
PointCell | |
SkinSurface | This 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 | |
Surface | Surface 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 | |
Timer | Timer: timer class. If chrono is defined use high accuracy timer |