From 51f7fd23ba4e56dc198273eb795c8d1730cf4dbe Mon Sep 17 00:00:00 2001 From: Samo Penic <samo.penic@gmail.com> Date: Mon, 19 Apr 2021 13:54:45 +0000 Subject: [PATCH] Work in progress --- src/cell.c | 19 ++++++++++++------- 1 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/cell.c b/src/cell.c index 246866b..2015be7 100644 --- a/src/cell.c +++ b/src/cell.c @@ -1,3 +1,4 @@ +/* vim: set ts=4 sts=4 sw=4 noet : */ #include<stdlib.h> #include "general.h" #include "vertex.h" @@ -44,7 +45,6 @@ } -//TODO: not debugged at all! inline ts_uint vertex_self_avoidance(ts_vesicle *vesicle, ts_vertex *vtx){ ts_uint cellidx; ts_uint ncx, ncy,ncz; @@ -68,7 +68,6 @@ } -//TODO: looks ok, but debug anyway in the future inline ts_bool cell_add_vertex(ts_cell *cell, ts_vertex *vtx){ ts_uint i; for(i=0;i<cell->nvertex;i++){ @@ -124,7 +123,7 @@ return TS_SUCCESS; } -// TODO: compiles ok, but it is completely untested and undebugged. It was debugged before rewrite, but this was long time ago. + ts_bool cell_occupation_number_and_internal_proximity(ts_cell_list *clist, ts_uint cellidx, ts_vertex *vtx){ ts_uint ncx,ncy,ncz,remainder,cell_occupation; ts_uint i,j,k,l,neigh_cidx; @@ -143,19 +142,25 @@ cell_occupation=clist->cell[neigh_cidx]->nvertex; // fprintf(stderr, "cell_occupation=%i\n",cell_occupation); if(cell_occupation>clist->max_occupancy){ + ts_fprintf(stderr,"max occupancy= %d, cell occupation= %d", clist->max_occupancy, cell_occupation); fatal("Neighbouring cell occupation more than set max_occupancy value.",2000); } // Now we check whether we didn't come close to some other vertices in the same // cell! - if(cell_occupation>1){ + if(cell_occupation>0){ for(l=0;l<cell_occupation;l++){ //carefull with this checks! - if(clist->cell[neigh_cidx]->vertex[l]->idx!=vtx->idx){ + if(clist->cell[neigh_cidx]->vertex[l]!=vtx){ // fprintf(stderr,"calling dist on vertex %i\n",l); dist=vtx_distance_sq(clist->cell[neigh_cidx]->vertex[l],vtx); - // fprintf(stderr,"dist was %f\n",dist); - if(dist<=1.0) return TS_FAIL; + +// if(vtx->idx==1) +// fprintf(stderr,"VTX(0) ima bliznji vertex z indeksom, %d, tipa %d \n", clist->cell[neigh_cidx]->vertex[l]->idx, clist->cell[neigh_cidx]->vertex[l]->id); +// if(vtx->idx==0 && clist->cell[neigh_cidx]->vertex[l]->idx==0) +// fprintf(stderr,"*** dist was %f\n",dist); + + if(dist<=1.0 || (dist<=clist->dmin_interspecies && (clist->cell[neigh_cidx]->vertex[l]->id != vtx->id))) return TS_FAIL; } } } -- Gitblit v1.9.3