79 template <
typename T1>
81 grid_type_flag = flag;
94 template <
typename T1>
96 grid_type_flag = flag;
111 template <
typename T1>
113 grid_type_flag = flag;
130 template <
typename T1>
132 uhbd =
new UHBD<T1>(PDBFILE, UHBDFILE, pqr_flag, probe_size);
134 uhbd->Generate_Skin(skin_size, 5);
135 LengthX = uhbd->dim.i;
136 LengthY = uhbd->dim.j;
137 LengthZ = uhbd->dim.k;
140 Generate_DTGrid(uhbd->Skin,uhbd->Grid);
155 template <
typename T1>
157 uhbd =
new UHBD<T1>(PDBFILE, probe_size, pqr_flag, spacing);
159 LengthX = uhbd->dim.i;
160 LengthY = uhbd->dim.j;
161 LengthZ = uhbd->dim.k;
164 Generate_DTGrid(uhbd->Skin,uhbd->Grid);
177 template <
typename T1>
181 LengthX = uhbd->dim.i;
182 LengthY = uhbd->dim.j;
183 LengthZ = uhbd->dim.k;
186 Generate_DTGrid(uhbd->Grid,uhbd->Grid);
201 template <
typename T1>
204 if (x >= LengthX or y >= LengthY or z >= LengthZ )
207 if (x < 0 or y < 0 or z < 0 )
210 if (Skin_Grid[x][y][z] ==
false){
211 if (Exterior[x][y][z] ==
false){
212 Exterior[x][y][z] =
true;
213 check_neighbours(Exterior, Skin_Grid, x+1, y, z);
214 check_neighbours(Exterior, Skin_Grid, x-1, y, z);
215 check_neighbours(Exterior, Skin_Grid, x, y+1, z);
216 check_neighbours(Exterior, Skin_Grid, x, y-1, z);
217 check_neighbours(Exterior, Skin_Grid, x, y, z+1);
218 check_neighbours(Exterior, Skin_Grid, x, y, z-1);
233 template <
typename T1>
237 for (
int i=0;i<LengthX;i++){
238 for (
int j=0;j<LengthY;j++){
239 if (Exterior[i][j][layer] ==
true)
244 std::cout << std::endl;
247 else if (dimension == 1){
248 for (
int j=0;j<LengthY;j++){
249 for (
int k=0;
k<LengthZ;
k++){
250 if (Exterior[layer][j][
k] ==
true)
255 std::cout << std::endl;
258 else if (dimension == 2){
259 for (
int i=0;i<LengthX;i++){
260 for (
int k=0;
k<LengthZ;
k++){
261 if (Exterior[i][layer][
k] ==
true)
266 std::cout << std::endl;
270 std::cout <<
"Check the dimension flag!!" << std::endl;
291 template <
typename T1>
294 Exterior =
new bool ** [LengthX];
295 for (
int i=0;i<LengthX;i++){
296 Exterior[i] =
new bool * [LengthY];
297 for (
int j=0;j<LengthY;j++){
298 Exterior[i][j] =
new bool [LengthZ];
302 for (
int i=0;i<LengthX;i++){
303 for (
int j=0;j<LengthY;j++){
304 for (
int k=0;
k<LengthZ;
k++){
305 Exterior[i][j][
k] =
false;
310 for (
int i=0;i<LengthX;i++){
311 for (
int j=0;j<LengthY;j++){
312 if (Skin_Grid[i][j][0] ==
false){
313 if (Exterior[i][j][0] ==
false){
314 Exterior[i][j][0] =
true;
315 check_neighbours(Exterior, Skin_Grid, i+1, j, 0);
316 check_neighbours(Exterior, Skin_Grid, i-1, j, 0);
317 check_neighbours(Exterior, Skin_Grid, i, j+1, 0);
318 check_neighbours(Exterior, Skin_Grid, i, j-1, 0);
319 check_neighbours(Exterior, Skin_Grid, i, j, 1);
322 if (Skin_Grid[i][j][LengthZ-1] ==
false){
323 if (Exterior[i][j][LengthZ-1] ==
false){
324 Exterior[i][j][LengthZ-1] =
true;
325 check_neighbours(Exterior, Skin_Grid, i+1, j, LengthZ-1);
326 check_neighbours(Exterior, Skin_Grid, i-1, j, LengthZ-1);
327 check_neighbours(Exterior, Skin_Grid, i, j+1, LengthZ-1);
328 check_neighbours(Exterior, Skin_Grid, i, j-1, LengthZ-1);
329 check_neighbours(Exterior, Skin_Grid, i, j, LengthZ-2);
334 for (
int j=0;j<LengthY;j++){
335 for (
int k=0;
k<LengthZ;
k++){
336 if (Skin_Grid[0][j][
k] ==
false){
337 if (Exterior[0][j][
k] ==
false){
338 Exterior[0][j][
k] =
true;
339 check_neighbours(Exterior, Skin_Grid, 0, j,
k+1);
340 check_neighbours(Exterior, Skin_Grid, 0, j,
k-1);
341 check_neighbours(Exterior, Skin_Grid, 0, j+1,
k);
342 check_neighbours(Exterior, Skin_Grid, 0, j-1,
k);
343 check_neighbours(Exterior, Skin_Grid, 1, j,
k);
346 if (Skin_Grid[LengthX-1][j][
k] ==
false){
347 if (Exterior[LengthX-1][j][
k] ==
false){
348 Exterior[LengthX-1][j][
k] =
true;
349 check_neighbours(Exterior, Skin_Grid, LengthX-1, j,
k+1);
350 check_neighbours(Exterior, Skin_Grid, LengthX-1, j,
k-1);
351 check_neighbours(Exterior, Skin_Grid, LengthX-1, j+1,
k);
352 check_neighbours(Exterior, Skin_Grid, LengthX-1, j-1,
k);
353 check_neighbours(Exterior, Skin_Grid, LengthX-2, j,
k);
359 for (
int i=0;i<LengthX;i++){
360 for (
int k=0;
k<LengthZ;
k++){
361 if (Skin_Grid[i][0][
k] ==
false){
362 if (Exterior[i][0][
k] ==
false){
363 Exterior[i][0][
k] =
true;
364 check_neighbours(Exterior, Skin_Grid, i, 0,
k+1);
365 check_neighbours(Exterior, Skin_Grid, i, 0,
k-1);
366 check_neighbours(Exterior, Skin_Grid, i+1, 0,
k);
367 check_neighbours(Exterior, Skin_Grid, i-1, 0,
k);
368 check_neighbours(Exterior, Skin_Grid, i, 1,
k);
371 if (Skin_Grid[i][LengthY-1][
k] ==
false){
372 if (Exterior[i][LengthY-1][
k] ==
false){
373 Exterior[i][LengthY-1][
k] =
true;
374 check_neighbours(Exterior, Skin_Grid, i, LengthY-1,
k+1);
375 check_neighbours(Exterior, Skin_Grid, i, LengthY-1,
k-1);
376 check_neighbours(Exterior, Skin_Grid, i+1, LengthY-1,
k);
377 check_neighbours(Exterior, Skin_Grid, i-1, LengthY-1,
k);
378 check_neighbours(Exterior, Skin_Grid, i, LengthY-2,
k);
393 template <
typename T1>
396 std::cout <<
"Generating the DT-Grid structure ..." << std::endl;
397 int componentY, componentZ;
398 int prev_componentY, prev_componentZ;
400 prev_componentY = -1;
402 for (
int i=0;i<LengthX;i++){
403 prev_componentZ = -1;
405 for (
int j=0; j<LengthY; j++){
407 for (
int k=0;
k<LengthZ;
k++){
408 if (grid_type_flag == 0){
409 if (Skin_Grid[i][j][
k] ==
true){
415 proj1D.push_back(((
int) zcoord.size())-1);
418 if (Skin_Grid[i][j][
k-1] ==
false){
422 if (componentZ == 1){
424 proj1D.push_back(((
int) zcoord.size())-1);
431 if (Skin_Grid[i][j][
k] ==
true){
432 Value.push_back(UHBD_Grid[i][j][
k]);
437 acc.push_back(((
int) Value.size())-1);
438 proj1D.push_back(((
int) Value.size())-1);
439 proj1D.push_back(((
int) zcoord.size())-1);
442 if (Skin_Grid[i][j][
k-1] ==
false){
445 acc.push_back(((
int) Value.size())-1);
446 if (componentZ == 1){
447 proj1D.push_back(((
int) Value.size())-1);
448 proj1D.push_back(((
int) zcoord.size())-1);
455 if (
k == (LengthZ-1)){
456 if (Skin_Grid[i][j][
k] ==
true){
460 if (Skin_Grid[i][j][
k-1] ==
true){
461 zcoord.push_back((
k-1));
467 if (Skin_Grid[i][j][
k-1] ==
true){
468 if (Skin_Grid[i][j][
k] ==
false){
469 zcoord.push_back((
k-1));
479 acc2D.push_back(((
int) proj1D.size())-2);
481 proj2D.push_back(((
int) proj1D.size())-2);
482 proj2D.push_back(((
int) ycoord.size())-1);
487 if (prev_componentZ == 0){
490 acc2D.push_back(((
int) proj1D.size())-2);
492 if (componentY == 1){
493 proj2D.push_back(((
int) proj1D.size())-2);
494 proj2D.push_back(((
int) ycoord.size())-1);
499 if (j == (LengthY-1)){
504 if (prev_componentZ > 0){
505 ycoord.push_back(j-1);
510 if (prev_componentZ > 0){
511 if (componentZ == 0){
512 ycoord.push_back(j-1);
516 prev_componentZ = componentZ;
521 acc3D.push_back(((
int) proj2D.size())-2);
525 if (prev_componentY == 0){
528 acc3D.push_back(((
int) proj2D.size())-2);
532 if (i == (LengthX-1)){
537 if (prev_componentY > 0){
538 xcoord.push_back(i-1);
543 if (prev_componentY > 0){
544 if (componentY == 0){
545 xcoord.push_back(i-1);
549 prev_componentY = componentY;
551 std::cout <<
"DT-Grid structure is generated successfully!" << std::endl;
564 template <
typename T1>
568 std::cout <<
"Writing the DT-Grid (ASCII) to the output file ..." << std::endl;
570 fprintf(output_file,
"%72s\n", uhbd->Title);
571 fprintf(output_file,
"%12.5E%12.5E%7d%7d%7d%7d%7d\n", uhbd->scale, \
572 uhbd->dummy1, 3, uhbd->idummy1, uhbd->idummy2, uhbd->one, uhbd->idummy3);
573 fprintf(output_file,
"%7d%7d%7d%12.5E%12.5E%12.5E%12.5E\n", uhbd->dim.i, uhbd->dim.j, \
574 uhbd->dim.k, uhbd->spacing, uhbd->o.x, uhbd->o.y, uhbd->o.z);
575 fprintf(output_file,
"%12.5E%12.5E%12.5E%12.5E\n", uhbd->dummy2, uhbd->dummy3, uhbd->dummy4, uhbd->dummy5);
576 fprintf(output_file,
"%12.5E%12.5E%7d%7d\n", uhbd->dummy6, uhbd->dummy7, uhbd->idummy4, uhbd->idummy5);
578 write_dtgrdfilebody_ascii(output_file);
591 template <
typename T1>
594 int binary_dt_type = 2;
595 int flag_binary = 160;
597 std::cout <<
"Writing the DT-Grid (Binary) to the output file ..." << std::endl;
598 fwrite(&flag_binary,
sizeof(
int),1,output_file);
599 fwrite(uhbd->Title,
sizeof(
char), 72, output_file);
600 fwrite(&(uhbd->scale),
sizeof(
float),1,output_file);
601 fwrite(&(uhbd->dummy1),
sizeof(
float),1,output_file);
602 fwrite(&binary_dt_type,
sizeof(
int),1,output_file);
603 fwrite(&(uhbd->idummy1),
sizeof(
int),1,output_file);
604 fwrite(&(uhbd->idummy2),
sizeof(
int),1,output_file);
605 fwrite(&(uhbd->one),
sizeof(
int),1,output_file);
606 fwrite(&(uhbd->idummy3),
sizeof(
int),1,output_file);
607 fwrite(&(uhbd->dim.i),
sizeof(
int),1,output_file);
608 fwrite(&(uhbd->dim.j),
sizeof(
int),1,output_file);
609 fwrite(&(uhbd->dim.k),
sizeof(
int),1,output_file);
610 fwrite(&(uhbd->spacing),
sizeof(
float),1,output_file);
611 fwrite(&(uhbd->o.x),
sizeof(
float),1,output_file);
612 fwrite(&(uhbd->o.y),
sizeof(
float),1,output_file);
613 fwrite(&(uhbd->o.z),
sizeof(
float),1,output_file);
614 fwrite(&(uhbd->dummy2),
sizeof(
float),1,output_file);
615 fwrite(&(uhbd->dummy3),
sizeof(
float),1,output_file);
616 fwrite(&(uhbd->dummy4),
sizeof(
float),1,output_file);
617 fwrite(&(uhbd->dummy5),
sizeof(
float),1,output_file);
618 fwrite(&(uhbd->dummy6),
sizeof(
float),1,output_file);
619 fwrite(&(uhbd->dummy7),
sizeof(
float),1,output_file);
620 fwrite(&(uhbd->idummy4),
sizeof(
int),1,output_file);
621 fwrite(&(uhbd->idummy5),
sizeof(
int),1,output_file);
623 write_dtgrdfilebody_binary(output_file);
634 template <
typename T1>
637 char output_file_name [] =
"sphere.grd";
638 char Title [] =
"Sphere ";
640 float scale = 1.0, spacing = 0.1;
641 float dummy1 = 0.0, dummy2 = 0.0, dummy3 = 0.0, dummy4 = 0.0, dummy5 = 0.0, dummy6 = 0.0, dummy7 = 0.0;
642 float o_x = 0.0, o_y = 0.0, o_z = 0.0;
643 int idummy1 = 0, idummy2 = 0, idummy3 = 0, idummy4 = 0, idummy5 = 0;
644 int one = 1, dimi = LengthX, dimj = LengthY, dimk = LengthZ;
646 std::cout <<
"Writing the DT-Grid (ASCII) to the output file ..." << std::endl;
647 fprintf(output_file,
"%72s\n", Title);
648 fprintf(output_file,
"%12.5E%12.5E%7d%7d%7d%7d%7d\n", scale, dummy1, 3, idummy1, idummy2, one, idummy3);
649 fprintf(output_file,
"%7d%7d%7d%12.5E%12.5E%12.5E%12.5E\n", dimi, dimj, dimk, spacing, o_x, o_y, o_z);
650 fprintf(output_file,
"%12.5E%12.5E%12.5E%12.5E\n", dummy2, dummy3, dummy4, dummy5);
651 fprintf(output_file,
"%12.5E%12.5E%7d%7d\n", dummy6, dummy7, idummy4, idummy5);
653 write_dtgrdfilebody_ascii(output_file);
665 template <
typename T1>
668 char Title [] =
"Sphere ";
670 float scale = 1.0, spacing = 0.1;
671 float dummy1 = 0.0, dummy2 = 0.0, dummy3 = 0.0, dummy4 = 0.0, dummy5 = 0.0, dummy6 = 0.0, dummy7 = 0.0;
672 float o_x = 0.0, o_y = 0.0, o_z = 0.0;
673 int idummy1 = 0, idummy2 = 0, idummy3 = 0, idummy4 = 0, idummy5 = 0;
674 int one = 1, dimi = LengthX, dimj = LengthY, dimk = LengthZ;
676 int binary_dt_type = 2;
677 int flag_binary = 160;
678 std::cout <<
"Writing the DT-Grid to the output file ..." << std::endl;
679 fwrite(&flag_binary,
sizeof(
int),1,output_file);
680 fwrite(Title,
sizeof(
char), 72, output_file);
681 fwrite(&(scale),
sizeof(
float),1,output_file);
682 fwrite(&(dummy1),
sizeof(
float),1,output_file);
683 fwrite(&binary_dt_type,
sizeof(
int),1,output_file);
684 fwrite(&(idummy1),
sizeof(
int),1,output_file);
685 fwrite(&(idummy2),
sizeof(
int),1,output_file);
686 fwrite(&(one),
sizeof(
int),1,output_file);
687 fwrite(&(idummy3),
sizeof(
int),1,output_file);
688 fwrite(&(dimi),
sizeof(
int),1,output_file);
689 fwrite(&(dimj),
sizeof(
int),1,output_file);
690 fwrite(&(dimk),
sizeof(
int),1,output_file);
691 fwrite(&(spacing),
sizeof(
float),1,output_file);
692 fwrite(&(o_x),
sizeof(
float),1,output_file);
693 fwrite(&(o_y),
sizeof(
float),1,output_file);
694 fwrite(&(o_z),
sizeof(
float),1,output_file);
695 fwrite(&(dummy2),
sizeof(
float),1,output_file);
696 fwrite(&(dummy3),
sizeof(
float),1,output_file);
697 fwrite(&(dummy4),
sizeof(
float),1,output_file);
698 fwrite(&(dummy5),
sizeof(
float),1,output_file);
699 fwrite(&(dummy6),
sizeof(
float),1,output_file);
700 fwrite(&(dummy7),
sizeof(
float),1,output_file);
701 fwrite(&(idummy4),
sizeof(
int),1,output_file);
702 fwrite(&(idummy5),
sizeof(
int),1,output_file);
703 write_dtgrdfilebody_binary(output_file);
713 template <
typename T1>
717 fprintf(output_file,
"%8d%12d\n", grid_type_flag, (
int) Value.size());
718 fprintf(output_file,
"%10d%10d%10d\n", (
int) xcoord.size(), (
int) ycoord.size(), (
int) zcoord.size());
719 fprintf(output_file,
"%10d%10d%10d\n", (
int) acc.size(), (
int) acc2D.size(), (
int) acc3D.size());
720 fprintf(output_file,
"%10d%10d\n", ((
int) proj1D.size())+2, ((
int) proj2D.size())+2);
724 typename std::vector<T1>::iterator itf;
725 std::vector<int>::iterator it;
727 if (grid_type_flag == 1){
729 for (itf = Value.begin(); itf != Value.end(); itf++){
730 fprintf(output_file,
"\t%E", (
float) *itf);
733 fprintf(output_file,
"\n");
737 fprintf(output_file,
"\n");
744 for (it = zcoord.begin(); it != zcoord.end(); it++){
745 fprintf(output_file,
"\t%d", *it);
748 fprintf(output_file,
"\n");
754 fprintf(output_file,
"\n");
755 for (it = acc.begin(); it != acc.end(); it++){
756 fprintf(output_file,
"\t%d", *it);
759 fprintf(output_file,
"\n");
765 fprintf(output_file,
"\n");
766 for (it = proj1D.begin(); it != proj1D.end(); it++){
767 if (fmod(counter,2) == 0)
768 fprintf(output_file,
"\t%d", *it);
770 fprintf(output_file,
"\t%d", (*it)/2);
773 fprintf(output_file,
"\n");
780 fprintf(output_file,
"\t%d", *it);
782 fprintf(output_file,
"\t%d", (*it)/2+1);
789 fprintf(output_file,
"\n");
790 for (it = ycoord.begin(); it != ycoord.end(); it++){
791 fprintf(output_file,
"\t%d", *it);
794 fprintf(output_file,
"\n");
800 fprintf(output_file,
"\n");
801 for (it = acc2D.begin(); it != acc2D.end(); it++){
802 fprintf(output_file,
"\t%d", (*it)/2);
805 fprintf(output_file,
"\n");
811 fprintf(output_file,
"\n");
812 for (it = proj2D.begin(); it != proj2D.end(); it++){
813 fprintf(output_file,
"\t%d", (*it)/2);
816 fprintf(output_file,
"\n");
823 fprintf(output_file,
"\t%d", (*it)/2);
825 fprintf(output_file,
"\t%d", (*it)/2+1);
831 fprintf(output_file,
"\n");
832 for (it = xcoord.begin(); it != xcoord.end(); it++){
833 fprintf(output_file,
"\t%d", *it);
836 fprintf(output_file,
"\n");
842 fprintf(output_file,
"\n");
843 for (it = acc3D.begin(); it != acc3D.end(); it++){
844 fprintf(output_file,
"\t%d", (*it)/2);
847 fprintf(output_file,
"\n");
851 fprintf(output_file,
"\n");
861 template <
typename T1>
865 int dt_header_buffer [10] = {grid_type_flag, (int) Value.size(), (int) xcoord.size(), (int) ycoord.size(), \
866 (int) zcoord.size(), (int) acc.size(), (int) acc2D.size(), (int) acc3D.size(), \
867 ((int) proj1D.size())+2, ((
int) proj2D.size())+2};
868 fwrite(dt_header_buffer,
sizeof(
int), 10, output_file);
871 typename std::vector<T1>::iterator itf;
872 std::vector<int>::iterator it;
878 if (grid_type_flag == 1){
880 for (itf = Value.begin(); itf != Value.end(); itf++){
881 itf_val = (float) *itf;
882 fwrite(&itf_val,
sizeof(
float),1, output_file);
890 for (it = zcoord.begin(); it != zcoord.end(); it++){
892 fwrite(&it_val,
sizeof(
int),1, output_file);
896 for (it = acc.begin(); it != acc.end(); it++){
898 fwrite(&it_val,
sizeof(
int),1, output_file);
903 for (it = proj1D.begin(); it != proj1D.end(); it++){
904 if (fmod(counter,2) == 0){
906 fwrite(&it_val,
sizeof(
int),1, output_file);
910 fwrite(&it_val,
sizeof(
int),1, output_file);
923 it_val = (int) Value.size();
924 fwrite(&it_val,
sizeof(
int),1, output_file);
926 it_val = ((int) zcoord.size() / 2) - 1;
927 fwrite(&it_val,
sizeof(
int),1, output_file);
930 for (it = ycoord.begin(); it != ycoord.end(); it++){
932 fwrite(&it_val,
sizeof(
int),1, output_file);
936 for (it = acc2D.begin(); it != acc2D.end(); it++){
938 fwrite(&it_val,
sizeof(
int),1, output_file);
942 for (it = proj2D.begin(); it != proj2D.end(); it++){
944 fwrite(&it_val,
sizeof(
int),1, output_file);
954 it_val = (int) proj1D.size() / 2;
955 fwrite(&it_val,
sizeof(
int),1, output_file);
957 it_val = ((int) ycoord.size() / 2) - 1;
958 fwrite(&it_val,
sizeof(
int),1, output_file);
961 for (it = xcoord.begin(); it != xcoord.end(); it++){
963 fwrite(&it_val,
sizeof(
int),1, output_file);
967 for (it = acc3D.begin(); it != acc3D.end(); it++){
969 fwrite(&it_val,
sizeof(
int),1, output_file);
Define a 3D UHBD grid and functions to read-write its format files.
int LengthY
number of points along x axis (in uhbd grid)
Definition: DTgrd.hpp:38
int grid_type_flag
Definition: DTgrd.hpp:34
bool *** exterior_grid(bool ***)
Create the exterior grid.
Definition: DTgrd.hpp:292
std::vector< int > ycoord
icoord array (min and max indices of connected components in x direction)
Definition: DTgrd.hpp:46
int print_layer(bool ***, int, int)
Print a 2D slice for an exterior grid.
Definition: DTgrd.hpp:234
bool pqr_flag
0 for excluded volume, 1 for data grid
Definition: DTgrd.hpp:35
std::vector< int > acc
icoord array (min and max indices of connected components in z direction)
Definition: DTgrd.hpp:48
int write_dtgrdfilebody_binary(FILE *)
Write the DT-Grid body into the DT-Grid file in Binary format.
Definition: DTgrd.hpp:862
int LengthX
input pqr or pdb?
Definition: DTgrd.hpp:37
void exclusion(char *, float, float)
Create a UHBD object for excluded volume type interactions.
Definition: DTgrd.hpp:156
void UHBD_upload(char *, char *, float, float)
Create a UHBD object using the uhbd-file input.
Definition: DTgrd.hpp:131
DT_FILE(int)
DT_FILE constructor - 1.
Definition: DTgrd.hpp:80
int write_dtgrdfile_ascii_nouhbd(FILE *)
Write dt-grid file for test cases.
Definition: DTgrd.hpp:635
std::vector< int > proj2D
projection array to bridge 1D and 2D DT-Grids
Definition: DTgrd.hpp:52
int write_dtgrdfile_binary_nouhbd(FILE *)
Write dt-grid file for test cases.
Definition: DTgrd.hpp:666
int write_dtgrdfilebody_ascii(FILE *)
Write the DT-Grid body into the DT-Grid file in ASCII format.
Definition: DTgrd.hpp:714
std::vector< int > acc2D
acc pointer array for one dimensional DT-Grid
Definition: DTgrd.hpp:49
int write_dtgrdfile_ascii(FILE *)
Write the DT-Grid structure into the DT-Grid file in ASCII format.
Definition: DTgrd.hpp:565
std::vector< int > xcoord
'value' array of the DT-Grid
Definition: DTgrd.hpp:45
int check_neighbours(bool ***, bool ***, int, int, int)
projection array to bridge 2D and 3D DT-Grids
Definition: DTgrd.hpp:202
int write_dtgrdfile_binary(FILE *)
Write the DT-Grid structure into the DT-Grid file in binary format.
Definition: DTgrd.hpp:592
std::vector< int > zcoord
icoord array (min and max indices of connected components in y direction)
Definition: DTgrd.hpp:47
int uhbd_alloc
a uhbd object for the input UHBD file
Definition: DTgrd.hpp:42
std::vector< T1 > Value
Definition: DTgrd.hpp:44
std::vector< int > acc3D
acc pointer array for two dimensional DT-Grid
Definition: DTgrd.hpp:50
UHBD< T1 > * uhbd
number of points along z axis (in uhbd grid)
Definition: DTgrd.hpp:41
int Generate_DTGrid(bool ***, T1 ***)
Generate the DT-Grid structure!
Definition: DTgrd.hpp:394
std::vector< int > proj1D
acc pointer array for three dimensional DT-Grid
Definition: DTgrd.hpp:51
int LengthZ
number of points along y axis (in uhbd grid)
Definition: DTgrd.hpp:39
Definition: UHBDgrd.hpp:25
real(kind=8), parameter k
Definition: mod_gouy_chapman.f90:34