NanoShaper  0.7.2
NanoShaper is a tool able to triangulate and inspect an arbitray triangulated surface or several types of molecular surfaces
FVanDerWaalsSurface Class Reference

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. More...

#include <FVanDerWaalsSurface.h>

Inheritance diagram for FVanDerWaalsSurface:
Surface

List of all members.

Public Member Functions

 FVanDerWaalsSurface ()
 FVanDerWaalsSurface (DelPhiShared *ds)
 FVanDerWaalsSurface (ConfigFile *cf, DelPhiShared *ds)
virtual bool build ()
virtual bool save (char *fileName)
virtual bool load (char *fileName)
virtual void printSummary ()
virtual bool getProjection (double p[3], double *proj1, double *proj2, double *proj3, double *normal1, double *normal2, double *normal3)
virtual void getRayIntersection (double p1[3], double p2[3], vector< pair< double, double * > > &intersections, int thdID, bool computeNormals)
virtual void init ()
virtual void init (ConfigFile *cf)
virtual void clear ()
virtual void preProcessPanel ()
virtual void postRayCasting ()
virtual bool preBoundaryProjection ()
void setSavePovRay (bool ss)
bool getSavePovRay ()

Detailed Description

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.

Author:
Sergio Decherchi
Date:
22/03/2013

Constructor & Destructor Documentation

FVanDerWaalsSurface::FVanDerWaalsSurface ( )

Default constructor

FVanDerWaalsSurface::FVanDerWaalsSurface ( DelPhiShared ds)

set DelPhi environment

FVanDerWaalsSurface::FVanDerWaalsSurface ( ConfigFile *  cf,
DelPhiShared ds 
)

set configuration and DelPhi environment


Member Function Documentation

bool FVanDerWaalsSurface::build ( ) [virtual]

Compute VDW surface. Call it after load

Colour the grid by using an obvious space fill model

Implements Surface.

void FVanDerWaalsSurface::clear ( ) [virtual]

function for the denstructor

Implements Surface.

bool FVanDerWaalsSurface::getProjection ( double  p[3],
double *  proj1,
double *  proj2,
double *  proj3,
double *  normal1,
double *  normal2,
double *  normal3 
) [virtual]

Get a projection of a point on the surface. Return projection and normal

TODO

Implements Surface.

void FVanDerWaalsSurface::getRayIntersection ( double  p1[3],
double  p2[3],
vector< pair< double, double * > > &  intersections,
int  thdID,
bool  computeNormals 
) [virtual]

Not implemented

Implements Surface.

void FVanDerWaalsSurface::init ( ) [virtual]

function for the constructor without arguments

Implements Surface.

void FVanDerWaalsSurface::init ( ConfigFile *  cf) [virtual]

functions for the constructor with config file argument

Implements Surface.

bool FVanDerWaalsSurface::load ( char *  fileName) [virtual]

Load the surface from a file in .ses format

Implements Surface.

void FVanDerWaalsSurface::postRayCasting ( ) [virtual]

Not implmented

Reimplemented from Surface.

bool FVanDerWaalsSurface::preBoundaryProjection ( ) [virtual]

TODO

Reimplemented from Surface.

void FVanDerWaalsSurface::preProcessPanel ( ) [virtual]

Not implmented

Reimplemented from Surface.

void FVanDerWaalsSurface::printSummary ( ) [virtual]

Print summary of VDWS

Implements Surface.

bool FVanDerWaalsSurface::save ( char *  fileName) [virtual]

Save it in a simple ASCII format (.ses)

Implements Surface.


The documentation for this class was generated from the following files: