//------------------------------------------------------------------------------ int npStrToRange( int* lower, int* upper, const char* str, int size ) { int curs = 0; //convert first number string to int *lower = npatoi( str ); //search for separator while( !( str[curs] == ':' || str[curs] == '-' ) && curs < size ) curs++; //zz debug add better exception handling if (curs < (size - 1) ) *upper = npatoi( str + curs + 1 ); else *upper = *lower; //test return (*upper - *lower + 1); }
// This is for a single node void assignNodePropertiesFromArray(char** row, pNPnode node) { pNPnode nodeParent; //printf("\nbefore if"); if(node == NULL) // temp, lde @todo { return; } if(node->type == 1) { printf("\nnode->type is 1, returning"); return; } //printf("\nafter if"); //printf("\n"); //printf("1"); node->selected = npatoi(row[3]); /// @todo convert from atio to npatoi node->childIndex = npatoi(row[7]); node->chInputID = npatoi(row[9]); node->chOutputID = npatoi(row[10]); node->chLastUpdated = npatoi(row[11]); node->average = npatoi(row[12]); node->interval = npatoi(row[13]); // Samples??? node->auxA.x = npatof(row[14]); //zz grid node->auxA.y = npatof(row[15]); node->auxA.z = npatof(row[16]); node->auxB.x = npatof(row[17]); node->auxB.y = npatof(row[18]); node->auxB.z = npatof(row[19]); //zz grid end //printf("2"); node->colorShift = npatof(row[20]); node->rotateVec.x = npatof(row[21]); //was rotate node->rotateVec.y = npatof(row[22]); node->rotateVec.z = npatof(row[23]); node->rotateVec.angle = npatof(row[24]); node->scale.x = npatof(row[25]); node->scale.y = npatof(row[26]); node->scale.z = npatof(row[27]); node->translate.x = npatof(row[28]); node->translate.y = npatof(row[29]); node->translate.z = npatof(row[30]); //printf("3"); node->tagOffset.x = npatof(row[31]); node->tagOffset.y = npatof(row[32]); node->tagOffset.z = npatof(row[33]); node->rotateRate.x = npatof(row[34]); node->rotateRate.y = npatof(row[35]); node->rotateRate.z = npatof(row[36]); node->rotate.x = npatof(row[37]); //was rotateRad node->rotate.y = npatof(row[38]); node->rotate.z = npatof(row[39]); node->scaleRate.x = npatof(row[40]); node->scaleRate.y = npatof(row[41]); node->scaleRate.z = npatof(row[42]); //printf("4"); node->translateRate.x = npatof(row[43]); node->translateRate.y = npatof(row[44]); node->translateRate.z = npatof(row[45]); node->translateVec.x = npatof(row[46]); node->translateVec.y = npatof(row[47]); node->translateVec.z = npatof(row[48]); node->shader = atoi(row[49]); node->geometry = atoi(row[50]); node->lineWidth = npatof(row[51]); node->pointSize = npatof(row[52]); node->ratio = npatof(row[53]); node->colorIndex = npatoi(row[54]); node->color.r = npatoi(row[55]); node->color.g = npatoi(row[56]); node->color.b = npatoi(row[57]); node->color.a = npatoi(row[58]); node->colorFade = npatoi(row[59]); node->textureID = npatoi(row[60]); node->hide = npatoi(row[61]); node->freeze = npatoi(row[62]); //printf("5"); // node->center = center; //removed node->topo = npatoi(row[63]); //moved topo node->facet = npatoi(row[64]); //added topo facet number node->autoZoom.x = npatoi(row[65]); //moved down a slot node->autoZoom.y = npatoi(row[66]); node->autoZoom.z = npatoi(row[67]); // node->scroll = scroll; //removed made space for facet, zz debug node->triggerHi.x = npatoi(row[68]); node->triggerHi.y = npatoi(row[69]); node->triggerHi.z = npatoi(row[70]); node->triggerLo.x = npatoi(row[71]); node->triggerLo.y = npatoi(row[72]); node->triggerLo.z = npatoi(row[73]); //printf("6"); node->setHi.x = npatof(row[74]); node->setHi.y = npatof(row[75]); node->setHi.z = npatof(row[76]); node->setLo.x = npatof(row[77]); node->setLo.y = npatof(row[78]); node->setLo.z = npatof(row[79]); node->proximity.x = npatof(row[80]); node->proximity.y = npatof(row[81]); node->proximity.z = npatof(row[82]); node->proximityMode.x = atoi(row[83]); //int cast supports 1st ver CSV node->proximityMode.y = atoi(row[84]); node->proximityMode.z = atoi(row[85]); node->segments.x = npatoi(row[86]); //grid segments were stored in node->data, node->segments.y = npatoi(row[87]); //was node->data->segments.x node->segments.z = npatoi(row[88]); //now node->segments.x node->tagMode = npatoi(row[89]); node->formatID = npatoi(row[90]); node->tableID = npatoi(row[91]); node->recordID = npatoi(row[92]); //printf("7"); if (node->topo == 0 && node->type == kNodePin) { ////zzdb printf ("topo = 0 id: %d\n", node->id); if (node->branchLevel == 0) node->topo = kNPtopoPin; //set root topo to a pin else if (node->parent != NULL) //orhpan child methods in npMapSort { nodeParent = node->parent; if ( nodeParent->topo == kNPtopoPin || nodeParent->topo == 0 || nodeParent->topo == kNPtopoTorus ) node->topo = kNPtopoTorus; else node->topo = kNPtopoPin; } } //printf("8"); //printf("\n"); if( node->type == kNodeGrid ) //zz grid { if( node->auxA.x == 0.0f) node->auxA.x = kNPgridSpacing; if( node->auxA.y == 0.0f) node->auxA.y = kNPgridSpacing; if( node->auxA.z == 0.0f) node->auxA.z = kNPgridSpacing; } //zz grid end }