Zugriff über Koordinaten
-
Ich habe eine Volumen:
typedef struct { uint Width; uint Height; uint Depth; QGLColormap *Colormap; int VoxelWidth; int VoxelHeight; int VoxelDepth; uint Value; } Volume;und möchte an einem bestimmten punkt auf dieses volumen zugreifen, hab dazu noch einen zweiten strukt geschrieben:
typedef struct { uint X, Y, Z; } Voxel;bekomme ich jetzt durch diesen teil des programmes auch wirklich den value an diesem bestimmten punkt?

int qsplatdrr::GetVoxel(){ return qsplatdrrVolume -> Value; } float qsplatdrr::qsplatdrrPrepareVolume(int intMin, int intMax, short intensitiesSet) { int w,h,d,wi,hi,di; long ri; int greyval; Voxel vox; time_t time1, time2; time1 = clock(); if (qsplatdrrVolLoadedFlag) { Volume_MaxMin(); if (!intensitiesSet) { intMin = (int)volIntMin+1; intMax = (int)volIntMax; } w = qsplatdrrVolume->Width; h = qsplatdrrVolume->Height; d = qsplatdrrVolume->Depth; ri = 0; qsplatdrrMaxVoxelNo = 0; for (wi = 0; wi < w; wi++) { for (hi = 0; hi < h; hi++) { for (di = 0; di < d; di++) { vox.X = wi; vox.Y = hi; vox.Z = di; greyval = GetVoxel(); if ((greyval >= intMin) && (greyval <= intMax)) { if (ri < 20000000) { qsplatdrrReorderedVolume[ri][0] = greyval; qsplatdrrReorderedVolume[ri][1] = wi; qsplatdrrReorderedVolume[ri][2] = hi; qsplatdrrReorderedVolume[ri][3] = di; ri++; } else { printf("Volume exceeds maximum number of non-blank voxels and is too large...\n"); return(-1.0); } } } } } qsplatdrrMaxVoxelNo = ri--; } else { printf("No Volume loaded - cannot initiate sorting algorithm...\n"); return(-2.0); } time2 = clock(); return(((time2-time1)/ ((float)CLOCKS_PER_SEC))); }bin mir recht unsicher ob ich wirklich jetzt an diesem punkt vox auf den value zugreife....bin für jede hilfe dankbar!!!

-
Dieser Thread wurde von Moderator/in kingruedi aus dem Forum Rund um die Programmierung in das Forum Spiele-/Grafikprogrammierung verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.