52 matrix->
start = start;
62 return ((matrix->
maxX + 1) - matrix->
minX) * ((matrix->
maxY + 1) - matrix->
minY);
71 int size = CoordinateMatrix2D_size(matrix);
80 for (
int x = minX; x <= maxX; x++) {
81 for (
int y = minY; y <= maxY; y++) {
82 coordinates[index] = createCoordinate2D(x, y);
97 int x = matrix->
minX + (index % (matrix->
maxX - matrix->
minX));
98 int y = matrix->
minY + (index / (matrix->
maxX - matrix->
minX));
99 return createCoordinate2D(x, y);
108 if (matrix == 0)
return 0;
110 int size = snprintf(NULL, 0,
"(%d, %d, %d, %d)^%s", matrix->
minX, matrix->
maxX, matrix->
minY, matrix->
maxY, Coordinate2D_toString(matrix->
start));
111 char* str = (
char*) malloc(size);
112 sprintf(str,
"(%d, %d, %d, %d)^%s", matrix->
minX, matrix->
maxX, matrix->
minY, matrix->
maxY, Coordinate2D_toString(matrix->
start));
122 if (str == 0)
return 0;
124 char* str0 = (
char*) malloc(strlen(str) + 1);
127 int minX, minY, maxX, maxY;
130 char* token = strtok(str0,
"()[]^, \t");
134 case 0: minX = atoi(token);
break;
135 case 1: maxX = atoi(token);
break;
136 case 2: minY = atoi(token);
break;
137 case 3: maxY = atoi(token);
break;
138 case 4: x = atof(token);
break;
139 case 5: y = atof(token);
break;
142 token = strtok(0,
"()[]^, \t");
148 return create2DCoordinateMatrix(minX, maxX, minY, maxY, start);
205 matrix->
start = start;
215 return ((matrix->
maxX + 1) - matrix->
minX) * ((matrix->
maxY + 1) - matrix->
minY) * ((matrix->
maxZ + 1) - matrix->
minZ);
224 int size = CoordinateMatrix3D_size(matrix);
235 for (
int x = minX; x <= maxX; x++) {
236 for (
int y = minY; y <= maxY; y++) {
237 for (
int z = minZ; z <= maxZ; z++) {
238 coordinates[index] = createCoordinate3D(x, y, z);
254 int x = matrix->
minX + (index % (matrix->
maxX - matrix->
minX));
255 int y = matrix->
minY + ((index / (matrix->
maxX - matrix->
minX)) % (matrix->
maxY - matrix->
minY));
256 int z = matrix->
minZ + (index / ((matrix->
maxX - matrix->
minX) * (matrix->
maxY - matrix->
minY)));
257 return createCoordinate3D(x, y, z);
266 if (matrix == 0)
return 0;
268 int size = snprintf(NULL, 0,
"(%d, %d, %d, %d, %d, %d)^%s", matrix->
minX, matrix->
maxX, matrix->
minY, matrix->
maxY, matrix->
minZ, matrix->
maxZ, Coordinate3D_toString(matrix->
start));
269 char* str = (
char*) malloc(size);
270 sprintf(str,
"(%d, %d, %d, %d, %d, %d)^%s", matrix->
minX, matrix->
maxX, matrix->
minY, matrix->
maxY, matrix->
minZ, matrix->
maxZ, Coordinate3D_toString(matrix->
start));
280 if (str == 0)
return 0;
282 char* str0 = (
char*) malloc(strlen(str) + 1);
285 int minX, minY, maxX, maxY, minZ, maxZ;
288 char* token = strtok(str0,
"()[]^, \t");
292 case 0: minX = atoi(token);
break;
293 case 1: maxX = atoi(token);
break;
294 case 2: minY = atoi(token);
break;
295 case 3: maxY = atoi(token);
break;
296 case 4: minZ = atoi(token);
break;
297 case 5: maxZ = atoi(token);
break;
298 case 6: x = atof(token);
break;
299 case 7: y = atof(token);
break;
300 case 8: z = atof(token);
break;
303 token = strtok(0,
"()[]^, \t");
309 return create3DCoordinateMatrix(minX, maxX, minY, maxY, minZ, maxZ, start);
Definition coordinate.h:11
double y
Definition coordinate.h:20
double x
Definition coordinate.h:15
Definition coordinate.h:108
double x
Definition coordinate.h:112
double z
Definition coordinate.h:122
double y
Definition coordinate.h:117
int maxY
Definition matrix.h:29
int minY
Definition matrix.h:25
int minX
Definition matrix.h:17
Coordinate2D * start
Definition matrix.h:34
int maxX
Definition matrix.h:21
int maxZ
Definition matrix.h:178
Coordinate3D * start
Definition matrix.h:183
int maxX
Definition matrix.h:162
int minY
Definition matrix.h:166
int minZ
Definition matrix.h:174
int maxY
Definition matrix.h:170
int minX
Definition matrix.h:158