3 #include "../include/VarData.h" 4 #include "../include/Cubo.h" 9 #include "../include/Draw.h" 10 #include "../include/SingProc.h" 67 ElPoly(
int argc,
char **argv,
int *FilePos);
72 int DensProf(
int NBin,
int NSample,
int Coord);
80 void SlabProf(
int NBin,
int nNano,
int Coord1);
82 void PrintDens(FILE *FileToWrite,
double **Plot,
double *LatDim,
int NBin);
92 void RadDistrF(
int NBin,
int How,
int nNano);
104 int WormF(
int Partition,
int NBin);
151 void WidomOut(
char *InFile,
int NBin);
155 void WidomIn(
char *InFile,
int NBin);
176 int CoreF(
int NBin,
int How);
178 int Surface(
int NBin,
int Coord);
186 void IsoSurf(
int NSample,
double *IsoValue,
int NIso);
188 void IsoLine(
int NSample,
double *IsoValue,
int NIso,
int How);
190 void IsoLine(FILE *F2Write,
double *Plot,
int NSample,
double *IsoLevel,
int NIso);
215 void DrField(
int NGrid,
double IsoLevel,
int nNano,FILE *FWrite);
217 void DrBondPovRay(
double *Pos1,
double *Pos2,
float *Color);
292 void DrProtein(
const char *FileName,
int nBlock);
324 void DrBondNo(
double *Pos1,
double *Pos2,
float *Color){};
326 void DrBondOpenGl(
double *Pos1,
double *Pos2,
float *Color);
329 void keyboard(
unsigned char key,
int x,
int y);
333 void ElDrawMouse(
int button,
int state,
int x,
int y);
348 void DrIsoipse(
int NBin,
int NIsoipse,
int CoordN);
352 void DrSmooth(
double *Plot,
int NSample,
double Min,
double Max);
380 void DrField(
int NGrid,
double IsoLevel,
int nNano);
386 GLuint Quad,Point,*Cylinder,MetalCylinder,Hexagon,Cube,Arrow,GlWall;
void DrDensity()
(rad,norm,dens) visualisation
void RadDens2Thick2d(int NBin)
Calculate the thickness from the radial density profile.
void SpectrumMidplane(int NBin)
Calculates the 1d, 2d spectrum spe.
void DrSmooth(double *Plot, int NSample, double Min, double Max)
Draw the surface in triangles.
void RenderPart(void)
Choose the visualisation (obsolete)
void Conv2Povray()
esport the data in pov file format for rendering
void SetBoundFile(int InitFile, int EndFile)
Set the initial and final number of files.
int SpecifyCoord()
Defines the normal coordinate coord.
void Conv2xyzd(int NSample)
esport the data in radius depth density file format
void DrStalk()
Visualize the surface from Stalk.xvl.
int Diffusivity()
Diffusivity coefficient of the chains diff.
double InvScaleUn
Define the shrink factor between the box edges.
void Menu()
Creates the menu.
int PressTrace()
Trace of the pressure profile.
void DrRunTime()
Draws in run time (expensive)
void IsoLine(int NSample, double *IsoValue, int NIso, int How)
Calculate the discrete density of the system and the correspondent isolines.
int LineSize
Line size of the gl.
void DrNano()
Draw the nanoparticle structure.
void DrBondNo(double *Pos1, double *Pos2, float *Color)
Null function.
void ThickFromDens(int NBin)
Calculate the thickness profile from the density plot.
void DrNanoOpenGl(int n)
OpenGl draw function.
void Midplane(int NBin)
Midplanes for a sequence of snapshots.
int NFileTot
Total number of file.
int Graphics(int argc, char **argv)
Boh.
int Tens2dCartRad()
Change the pressure profile from cartesian to radial.
void DrIsoipse(int NBin, int NIsoipse, int CoordN)
Draws all the same quotes surfaces.
void DrQuad()
Call a square in every particle position.
void DrCreateStalk()
Visualize the surface calculated in Stalk()
void keyboard(unsigned char key, int x, int y)
Draws all the particles and bonds.
void BilayerDistance(char *OutFile, int NBin)
Measure the elastic coupling between the two sheets.
void DrIsolevel(int NSample, double IsoLevel)
Defines the triangles at the boundaries of the density close to the IsoLevel value.
int OpenFile(int f)
Opens the f file of the list open.
void DrPolygon()
Every particle is traeted as a vertex.
int CenterOfMass(int Coord)
Averaged center of mass Boh.
Geometrical operations on vectors.
void DrPotential()
Potential function.
void CompileList()
Compile the list with some useful primitives.
void DrGenMesh()
Generate a mesh from a function.
void DrDerivative()
Samples the surface, applies a 2d matrix derivative and draws the surface in triangles.
void ElMenuVisual(int option)
Choose what to visualize.
void DefineSurf()
Find the covering surface for given points.
void RemoveChains()
Remove chains satisfying a condition.
DRAW_PART Draw_Nano
Pointer to a distance.
int quando
Current number of the file list.
void DefineSkin(int NSample)
Find the covering surface for given points.
void DrTriaContour(Vettore *v00, Vettore *v01, Vettore *v11)
Draw the contour of three vectors.
void AreaDistrF(int NBin)
Distribution of the areas around the protein.
void StalkLineProfF(int NBin)
Write the line describing a linear stalk.
void DrNormalPoint(int p, int NEdge)
Draw the normal to a point.
void ESlide1()
Sequence of pictures.
int PressRadial()
Contour plot around the inclusion.
void DrProtein(const char *FileName, int nBlock)
Load and draw the linking of a protein.
void Decoupling(int What)
Decoupling of the direction/end to end distance of the chains.
int ScatteringF(int NBin, int How)
2d Scattering scatt scatt2
void EndToEndDist()
Distribution of the end to end distances.
int Diff2Files(int NBin, int How)
Density and thickness profile arond the nanoparticle.
void AreaCompr(int NSample)
Calculates the number of chain per area area.
void DrTriangulate()
Triangulate a surface.
void SumTens()
Sum more tension profile files.
void DrSample(int NSample)
Samples the surface and draws it in triangles.
void CreateMenu()
Creates the menu.
double ScaleFact
Normal scaling factor (z zooming)
void DivideLayers(int How)
Reorder the LIPID block in four different layers.
void Sample(int NSample)
Sample the space in NSample lattice points.
void PairCorr(int NBin, int NDim)
1d pair correlation
void DrDoubleTria(Vettore *v00, Vettore *v01, Vettore *v11, Vettore *v10, Vettore *vN)
Double triangle defined by four vectors.
void DrPartPovRay(int p)
PovRay draw function.
void HeaderAverage(int nNano)
Read the header and average the information.
int WormF(int Partition, int NBin)
Density profile of a non straight worm shape membrane worm.
void DrCells()
Construct cells from the lipid positions.
void RadNormPos(int NBin, int NGrid)
Radial profile of the normal position of the particles.
void RadDistrF(int NBin, int How, int nNano)
3d (rad,norma,dens) density profile with respect to a initial position radNano radCm radCmN ...
int Angle(int NBin)
Calculation of the contact angle angle Boh?
void DrBondPovRay(double *Pos1, double *Pos2, float *Color)
Draw the bonds.
int SurfTens(int NBin)
Radial summation of the 3d tension profile.
int From3To2d(int Coord, double Param)
Project the velocities of a 3d system on a 2d system wrt a coordinate.
void DrQuad1()
Intensity scheme.
void WidomIn()
Create a set of files with a chain more.
void HeaderPovRay()
Print the header for povray.
void BondDistr(int NSample)
Distribution of the bond lengths.
double Saturation
Saturation of the color (increase intensity)
void ElDrawMouse(int button, int state, int x, int y)
Scaling.
void RestPress(int NBin)
Pressure difference between the virial and the ideal gas term.
void SlabAngleProfs(int NBin, int NAngle, int Coord)
Radial profiles of the slab density between 0⁰ and 90⁰ subdivided in NAngle angles.
void AvSnap()
Average the postion of the lipids over many snapshots.
void FetchPore()
Write the position of the pore for every snapshot.
int NChainPSquareF()
Calculates the number of chain per area area.
int CoreF(int NBin, int How)
Sampling of the three dimentional space.
void SetNVisSkip(int NSkip)
Set backfold type.
void DrPartList()
Create a list of all the particles.
int SpectrumF(int NBin)
Calculates the 1d, 2d spectrum spe.
int NEdge
Number of particles per edge.
int ChangeFile()
Defines the first and the last file to be elaborated file.
void FetchStalk()
Write the position of the stalk for every snapshot.
void DrawNano(int n)
Pointer to a generic function.
int DensProf(int NBin, int NSample, int Coord)
Calculate the density profile dens.
int PropertiesF()
Calculates some properties of the system prop.
void DrVoronoi()
Voronoi tassellation.
void DrBond(int p)
Finde the neighbour of the particle p and draw the bond.
void DrSurface()
Draws the surface like a sheet using the chains position.
double ExtParam
External parameter (e.g. for MarchingCubes)
Basics class to start a MPI grid.
FILE * DrawOutFile
Output file for drawing.
void ElasticCouplingNVT()
Measure the elastic coupling between the two sheets.
void(ElPoly::* DRAW_BOND)(double *Pos1, double *Pos2, float *Color)
Data type for distance/field functions.
void DrawFuncFooter()
Dnd the visualization.
void DiffSlab(int NSlab)
Diffusivity of particles starting from an initial slab.
void WidomOut()
Create NCh systems with a chain less.
void RadDens2Thick(int NBin)
Calculate the thickness from the radial density profile.
void DrMesh()
Build a mesh from the lipid positions.
void DrVector(Vettore v, Vettore Origin)
Draw a vector.
void CartDens(int NBin, int nNano)
3d (rad,norma,dens) density profile in cartesian coordinates
int RadialShell(int NBin)
Outer shell of a projected (rad,normal) graph.
void DrawFuncHeader()
Assign the pointer to the corrispondent draw function, intilize the visualization.
int IfChType
Type of the chains to be visualized.
int NBackFold
Type of backfold.
void E2EDistr(int NSample)
Distribution of end to end distances.
void DrShell()
Draw the outer shell.
void DrSpectrum()
Calculate the spectrum of the surface and draws it in triangles.
void SetBackFold(int Bf)
Set backfold type.
int NVisSkip
How many lipids are skipped in the visualization.
void PrintDens(FILE *FileToWrite, double **Plot, double *LatDim, int NBin)
Print the density profile in the surfaces representation.
void DrInterpSurface()
Boh.
void DrNanoPovRay(int n)
PovRay draw function.
void End2EndDistr(char *OutFile)
Write the end to end distance of the chains.
int PairCorrelationF(int NBin, int How)
1d, 2d pair correlation of the chains pairRound pairSquare (obsolete)
void ESlide()
Sequence of pictures.
ElPoly(int argc, char **argv, int *FilePos)
Constructor.
void Tile()
Cover a regular square grid of points with tiles.
char * ChooseDraw(int ExtWhat2Draw)
Convert the internal definition for the menu of ElPoly in string.
void DrCrossLinks()
Visualize the cross links.
void StalkArea()
Area of hydrophobic in the torus.
void DrawPart(int p)
Pointer to a generic function.
void ElasticCoupling(int NSample)
Measure the elastic coupling between the two sheets.
int What2Draw
Draw the content in the appropriate visulization.
char Block2Draw[20]
Name of the block to draw.
void DrChains()
Position of every chain in hexagons.
void ElMenuChoise(int option)
Choose what to visualize.
void DrBondOpenGl(double *Pos1, double *Pos2, float *Color)
Draw the bonds.
int From3To1d(int Coord)
Project a 3d system on one coordinate.
void Conv2rzd(int NSample)
esport the data in radius depth density file format
int NFile[2]
First and last file of the list.
void IsoSurf(int NSample, double *IsoValue, int NIso)
Density plot all over different snapshots and calculation of the isolevel surface.
void DensProfNormalSlab(int NBin, int NSample, int Coord)
Calculate the density profile projecting the particles on the normal density.
void DrVectors()
Draw the chains as vectors.
void Conv2Vmd()
esport the data in vmd file format
void Prova()
Dummy function to operate on a sequence of files.
void SplayDistr(int NSample)
Distribution of end to end distances.
int Surface(int NBin, int Coord)
Area of a surfuce projected on the coordinate Coord surf.
DRAW_PART Draw_Part
Pointer to a distance/field function.
int DrIntorno(int p, double Blue)
Visualize only particles within a certain distance.
DRAW_BOND Draw_Bond
Pointer to a distance/field function.
void DrawBond(double *Pos1, double *Pos2, float *Color)
Pointer to a generic function.
void DrSquareMesh()
Draw the polygons for a square mesh.
void DrPartOpenGl(int p)
OpenGl draw function.
Reads and elaborates a system of chains.
int Temperature(int NBin, int Coord)
Spatial distribution of the temperature.
int ProjectionF(int NBin, int Coord)
Projection of the system against one direction pro.
void SlabProf(int NBin, int nNano, int Coord1)
Thickness and density profile along Coord1.
void StalkF(int NSample)
Separate the leaflets.
void DrTria(Vettore *v00, Vettore *v01, Vettore *v11, Vettore *vN)
single triangle defined by three vectors
void(ElPoly::* DRAW_PART)(int p)
Data type for distance/field functions.
void DrColor()
Visualisation of the particle system with velocity color scheme.
int IfIntorno
If it visualizes only the particles/chains within a certain distance.
int NanoParticle(int NBin)
Diffusion and density profile around the nanoparticle nano.
void Processing(int f)
Information on the current file elaborated.
void Conv2Tecplot(int NBin, int How)
Prepare a countor plot for tecplot.
int From2To1d(int Coord)
Projet a 2d system on one of the two coordinates.
double ContactAngle(double x)
Definition of the contact angle function Boh.
void DrField(int NGrid, double IsoLevel, int nNano, FILE *FWrite)
Draw a scalar field.
void ConvLattice(int NSample, char *FName)
Convert into a square lattice.
void Shift2Center()
Shift the system to the center.