Changeset 3566 for trunk/packages/vizservers
- Timestamp:
- Mar 23, 2013, 2:49:44 PM (12 years ago)
- Location:
- trunk/packages/vizservers/nanovis
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/packages/vizservers/nanovis/FlowCmd.cpp
r3565 r3566 162 162 TRACE("Particles '%s' axis: %d pos: %g rel pos: %g", 163 163 _name, _sv.position.axis, _sv.position.value, 164 FlowCmd:: GetRelativePosition(&_sv.position));165 _rendererPtr->setPos(FlowCmd:: GetRelativePosition(&_sv.position));164 FlowCmd::getRelativePosition(&_sv.position)); 165 _rendererPtr->setPos(FlowCmd::getRelativePosition(&_sv.position)); 166 166 _rendererPtr->setAxis(_sv.position.axis); 167 167 assert(_rendererPtr->active()); … … 172 172 FlowParticles::configure() 173 173 { 174 _rendererPtr->setPos(FlowCmd:: GetRelativePosition(&_sv.position));174 _rendererPtr->setPos(FlowCmd::getRelativePosition(&_sv.position)); 175 175 _rendererPtr->setColor(Vector4f(_sv.color.r, _sv.color.g, _sv.color.b, 176 176 _sv.color.a)); … … 269 269 270 270 void 271 FlowBox:: Render(Volume *vol)271 FlowBox::render(Volume *vol) 272 272 { 273 273 TRACE("Box: '%s'", _name); … … 403 403 FlowBox *boxPtr; 404 404 FlowBoxIterator boxIter; 405 for (boxPtr = FirstBox(&boxIter); boxPtr != NULL;406 boxPtr = NextBox(&boxIter)) {405 for (boxPtr = firstBox(&boxIter); boxPtr != NULL; 406 boxPtr = nextBox(&boxIter)) { 407 407 boxPtr->disconnect(); 408 408 delete boxPtr; … … 410 410 FlowParticles *particlesPtr; 411 411 FlowParticlesIterator partIter; 412 for (particlesPtr = FirstParticles(&partIter); particlesPtr != NULL;413 particlesPtr = NextParticles(&partIter)) {412 for (particlesPtr = firstParticles(&partIter); particlesPtr != NULL; 413 particlesPtr = nextParticles(&partIter)) { 414 414 particlesPtr->disconnect(); 415 415 delete particlesPtr; … … 420 420 421 421 void 422 FlowCmd:: ResetParticles()422 FlowCmd::resetParticles() 423 423 { 424 424 FlowParticlesIterator iter; 425 for (FlowParticles *particlesPtr = FirstParticles(&iter);425 for (FlowParticles *particlesPtr = firstParticles(&iter); 426 426 particlesPtr != NULL; 427 particlesPtr = NextParticles(&iter)) {427 particlesPtr = nextParticles(&iter)) { 428 428 particlesPtr->reset(); 429 429 } … … 431 431 432 432 void 433 FlowCmd:: Advect()434 { 435 NvVectorField *fieldPtr = VectorField();433 FlowCmd::advect() 434 { 435 NvVectorField *fieldPtr = getVectorField(); 436 436 fieldPtr->active(true); 437 437 FlowParticlesIterator iter; 438 for (FlowParticles *particlesPtr = FirstParticles(&iter);438 for (FlowParticles *particlesPtr = firstParticles(&iter); 439 439 particlesPtr != NULL; 440 particlesPtr = NextParticles(&iter)) {440 particlesPtr = nextParticles(&iter)) { 441 441 if (particlesPtr->visible()) { 442 442 particlesPtr->advect(); … … 446 446 447 447 void 448 FlowCmd:: Render()448 FlowCmd::render() 449 449 { 450 450 _fieldPtr->active(true); 451 451 _fieldPtr->render(); 452 452 FlowParticlesIterator iter; 453 for (FlowParticles *particlesPtr = FirstParticles(&iter);453 for (FlowParticles *particlesPtr = firstParticles(&iter); 454 454 particlesPtr != NULL; 455 particlesPtr = NextParticles(&iter)) {455 particlesPtr = nextParticles(&iter)) { 456 456 if (particlesPtr->visible()) { 457 457 particlesPtr->render(); 458 458 } 459 459 } 460 RenderBoxes();460 renderBoxes(); 461 461 } 462 462 463 463 int 464 FlowCmd:: CreateParticles(Tcl_Interp *interp, Tcl_Obj *objPtr)464 FlowCmd::createParticles(Tcl_Interp *interp, Tcl_Obj *objPtr) 465 465 { 466 466 Tcl_HashEntry *hPtr; … … 487 487 488 488 int 489 FlowCmd:: GetParticles(Tcl_Interp *interp, Tcl_Obj *objPtr,489 FlowCmd::getParticles(Tcl_Interp *interp, Tcl_Obj *objPtr, 490 490 FlowParticles **particlesPtrPtr) 491 491 { … … 504 504 505 505 FlowParticles * 506 FlowCmd:: FirstParticles(FlowParticlesIterator *iterPtr)506 FlowCmd::firstParticles(FlowParticlesIterator *iterPtr) 507 507 { 508 508 iterPtr->hashPtr = Tcl_FirstHashEntry(&_particlesTable, … … 515 515 516 516 FlowParticles * 517 FlowCmd:: NextParticles(FlowParticlesIterator *iterPtr)517 FlowCmd::nextParticles(FlowParticlesIterator *iterPtr) 518 518 { 519 519 if (iterPtr->hashPtr == NULL) { … … 528 528 529 529 int 530 FlowCmd:: CreateBox(Tcl_Interp *interp, Tcl_Obj *objPtr)530 FlowCmd::createBox(Tcl_Interp *interp, Tcl_Obj *objPtr) 531 531 { 532 532 Tcl_HashEntry *hPtr; … … 553 553 554 554 int 555 FlowCmd:: GetBox(Tcl_Interp *interp, Tcl_Obj *objPtr, FlowBox **boxPtrPtr)555 FlowCmd::getBox(Tcl_Interp *interp, Tcl_Obj *objPtr, FlowBox **boxPtrPtr) 556 556 { 557 557 Tcl_HashEntry *hPtr; … … 570 570 571 571 FlowBox * 572 FlowCmd:: FirstBox(FlowBoxIterator *iterPtr)572 FlowCmd::firstBox(FlowBoxIterator *iterPtr) 573 573 { 574 574 iterPtr->hashPtr = Tcl_FirstHashEntry(&_boxTable, &iterPtr->hashSearch); … … 580 580 581 581 FlowBox * 582 FlowCmd:: NextBox(FlowBoxIterator *iterPtr)582 FlowCmd::nextBox(FlowBoxIterator *iterPtr) 583 583 { 584 584 if (iterPtr->hashPtr == NULL) { … … 593 593 594 594 void 595 FlowCmd:: InitializeParticles()595 FlowCmd::initializeParticles() 596 596 { 597 597 FlowParticlesIterator iter; 598 for (FlowParticles *particlesPtr = FirstParticles(&iter);598 for (FlowParticles *particlesPtr = firstParticles(&iter); 599 599 particlesPtr != NULL; 600 particlesPtr = NextParticles(&iter)) {600 particlesPtr = nextParticles(&iter)) { 601 601 particlesPtr->initialize(); 602 602 } … … 604 604 605 605 bool 606 FlowCmd:: ScaleVectorField()606 FlowCmd::scaleVectorField() 607 607 { 608 608 if (_volPtr != NULL) { … … 612 612 } 613 613 float *vdata; 614 vdata = GetScaledVector();614 vdata = getScaledVector(); 615 615 if (vdata == NULL) { 616 616 return false; 617 617 } 618 618 Volume *volPtr; 619 volPtr = MakeVolume(vdata);619 volPtr = makeVolume(vdata); 620 620 delete [] vdata; 621 621 if (volPtr == NULL) { … … 651 651 scale.z, 652 652 _volPtr->wAxis.max()); 653 SetCurrentPosition();654 SetAxis();655 SetActive();653 setCurrentPosition(); 654 setAxis(); 655 setActive(); 656 656 } 657 657 … … 670 670 671 671 FlowParticlesIterator partIter; 672 for (FlowParticles *particlesPtr = FirstParticles(&partIter);672 for (FlowParticles *particlesPtr = firstParticles(&partIter); 673 673 particlesPtr != NULL; 674 particlesPtr = NextParticles(&partIter)) {674 particlesPtr = nextParticles(&partIter)) { 675 675 particlesPtr->setVectorField(_volPtr, 676 676 location, … … 684 684 685 685 void 686 FlowCmd:: RenderBoxes()686 FlowCmd::renderBoxes() 687 687 { 688 688 FlowBoxIterator iter; 689 689 FlowBox *boxPtr; 690 for (boxPtr = FirstBox(&iter); boxPtr != NULL; boxPtr = NextBox(&iter)) {690 for (boxPtr = firstBox(&iter); boxPtr != NULL; boxPtr = nextBox(&iter)) { 691 691 if (boxPtr->visible()) { 692 boxPtr-> Render(_volPtr);692 boxPtr->render(_volPtr); 693 693 } 694 694 } … … 696 696 697 697 float * 698 FlowCmd:: GetScaledVector()698 FlowCmd::getScaledVector() 699 699 { 700 700 assert(_dataPtr->nComponents() == 3); … … 728 728 729 729 Volume * 730 FlowCmd:: MakeVolume(float *data)730 FlowCmd::makeVolume(float *data) 731 731 { 732 732 Volume *volPtr; … … 969 969 970 970 float 971 FlowCmd:: GetRelativePosition(FlowPosition *posPtr)971 FlowCmd::getRelativePosition(FlowPosition *posPtr) 972 972 { 973 973 if (posPtr->flags == RELPOS) { … … 989 989 990 990 float 991 FlowCmd:: GetRelativePosition()992 { 993 return FlowCmd:: GetRelativePosition(&_sv.slicePos);991 FlowCmd::getRelativePosition() 992 { 993 return FlowCmd::getRelativePosition(&_sv.slicePos); 994 994 } 995 995 … … 997 997 998 998 void 999 NanoVis:: InitFlows()999 NanoVis::initFlows() 1000 1000 { 1001 1001 Tcl_InitHashTable(&flowTable, TCL_STRING_KEYS); … … 1003 1003 1004 1004 FlowCmd * 1005 NanoVis:: FirstFlow(FlowIterator *iterPtr)1005 NanoVis::firstFlow(FlowIterator *iterPtr) 1006 1006 { 1007 1007 iterPtr->hashPtr = Tcl_FirstHashEntry(&flowTable, &iterPtr->hashSearch); … … 1013 1013 1014 1014 FlowCmd * 1015 NanoVis:: NextFlow(FlowIterator *iterPtr)1015 NanoVis::nextFlow(FlowIterator *iterPtr) 1016 1016 { 1017 1017 if (iterPtr->hashPtr == NULL) { … … 1026 1026 1027 1027 int 1028 NanoVis:: GetFlow(Tcl_Interp *interp, Tcl_Obj *objPtr, FlowCmd **flowPtrPtr)1028 NanoVis::getFlow(Tcl_Interp *interp, Tcl_Obj *objPtr, FlowCmd **flowPtrPtr) 1029 1029 { 1030 1030 Tcl_HashEntry *hPtr; … … 1042 1042 1043 1043 int 1044 NanoVis:: CreateFlow(Tcl_Interp *interp, Tcl_Obj *objPtr)1044 NanoVis::createFlow(Tcl_Interp *interp, Tcl_Obj *objPtr) 1045 1045 { 1046 1046 Tcl_HashEntry *hPtr; … … 1073 1073 1074 1074 void 1075 NanoVis:: DeleteFlows(Tcl_Interp *interp)1075 NanoVis::deleteFlows(Tcl_Interp *interp) 1076 1076 { 1077 1077 FlowCmd *flowPtr; 1078 1078 FlowIterator iter; 1079 for (flowPtr = FirstFlow(&iter); flowPtr != NULL;1080 flowPtr = NextFlow(&iter)) {1079 for (flowPtr = firstFlow(&iter); flowPtr != NULL; 1080 flowPtr = nextFlow(&iter)) { 1081 1081 flowPtr->disconnect(); /* Don't disrupt the hash walk */ 1082 1082 Tcl_DeleteCommand(interp, flowPtr->name()); … … 1086 1086 1087 1087 bool 1088 NanoVis:: MapFlows()1088 NanoVis::mapFlows() 1089 1089 { 1090 1090 TRACE("Enter"); … … 1100 1100 FlowCmd *flowPtr; 1101 1101 FlowIterator iter; 1102 for (flowPtr = FirstFlow(&iter); flowPtr != NULL;1103 flowPtr = NextFlow(&iter)) {1102 for (flowPtr = firstFlow(&iter); flowPtr != NULL; 1103 flowPtr = nextFlow(&iter)) { 1104 1104 double min, max; 1105 1105 if (!flowPtr->isDataLoaded()) { … … 1140 1140 * Step 2. Generate the vector field from each data set. 1141 1141 */ 1142 for (flowPtr = FirstFlow(&iter); flowPtr != NULL;1143 flowPtr = NextFlow(&iter)) {1142 for (flowPtr = firstFlow(&iter); flowPtr != NULL; 1143 flowPtr = nextFlow(&iter)) { 1144 1144 if (!flowPtr->isDataLoaded()) { 1145 1145 continue; // Flow exists, but no data has been loaded yet. 1146 1146 } 1147 1147 if (flowPtr->visible()) { 1148 flowPtr-> InitializeParticles();1149 } 1150 if (!flowPtr-> ScaleVectorField()) {1148 flowPtr->initializeParticles(); 1149 } 1150 if (!flowPtr->scaleVectorField()) { 1151 1151 return false; 1152 1152 } 1153 1153 // FIXME: This doesn't work when there is more than one flow. 1154 licRenderer->setOffset(flowPtr-> GetRelativePosition());1155 velocityArrowsSlice->slicePos(flowPtr-> GetRelativePosition());1156 } 1157 AdvectFlows();1154 licRenderer->setOffset(flowPtr->getRelativePosition()); 1155 velocityArrowsSlice->slicePos(flowPtr->getRelativePosition()); 1156 } 1157 advectFlows(); 1158 1158 return true; 1159 1159 } 1160 1160 1161 1161 void 1162 NanoVis:: GetFlowBounds(Vector3f& min,1162 NanoVis::getFlowBounds(Vector3f& min, 1163 1163 Vector3f& max, 1164 1164 bool onlyVisible) … … 1171 1171 FlowCmd *flow; 1172 1172 FlowIterator iter; 1173 for (flow = FirstFlow(&iter); flow != NULL;1174 flow = NextFlow(&iter)) {1173 for (flow = firstFlow(&iter); flow != NULL; 1174 flow = nextFlow(&iter)) { 1175 1175 if (onlyVisible && !flow->visible()) 1176 1176 continue; … … 1202 1202 FlowBox *box; 1203 1203 FlowBoxIterator iter; 1204 for (box = flow-> FirstBox(&iter); box != NULL;1205 box = flow-> NextBox(&iter)) {1204 for (box = flow->firstBox(&iter); box != NULL; 1205 box = flow->nextBox(&iter)) { 1206 1206 if (!onlyVisible || box->visible()) { 1207 1207 Vector3f fbmin, fbmax; … … 1232 1232 1233 1233 void 1234 NanoVis:: RenderFlows()1234 NanoVis::renderFlows() 1235 1235 { 1236 1236 FlowCmd *flowPtr; 1237 1237 FlowIterator iter; 1238 for (flowPtr = FirstFlow(&iter); flowPtr != NULL;1239 flowPtr = NextFlow(&iter)) {1238 for (flowPtr = firstFlow(&iter); flowPtr != NULL; 1239 flowPtr = nextFlow(&iter)) { 1240 1240 if ((flowPtr->isDataLoaded()) && (flowPtr->visible())) { 1241 flowPtr-> Render();1241 flowPtr->render(); 1242 1242 } 1243 1243 } … … 1246 1246 1247 1247 void 1248 NanoVis:: ResetFlows()1248 NanoVis::resetFlows() 1249 1249 { 1250 1250 FlowCmd *flowPtr; … … 1254 1254 NanoVis::licRenderer->reset(); 1255 1255 } 1256 for (flowPtr = FirstFlow(&iter); flowPtr != NULL;1257 flowPtr = NextFlow(&iter)) {1256 for (flowPtr = firstFlow(&iter); flowPtr != NULL; 1257 flowPtr = nextFlow(&iter)) { 1258 1258 if ((flowPtr->isDataLoaded()) && (flowPtr->visible())) { 1259 flowPtr-> ResetParticles();1259 flowPtr->resetParticles(); 1260 1260 } 1261 1261 } … … 1263 1263 1264 1264 void 1265 NanoVis:: AdvectFlows()1265 NanoVis::advectFlows() 1266 1266 { 1267 1267 FlowCmd *flowPtr; 1268 1268 FlowIterator iter; 1269 for (flowPtr = FirstFlow(&iter); flowPtr != NULL;1270 flowPtr = NextFlow(&iter)) {1269 for (flowPtr = firstFlow(&iter); flowPtr != NULL; 1270 flowPtr = nextFlow(&iter)) { 1271 1271 if ((flowPtr->isDataLoaded()) && (flowPtr->visible())) { 1272 flowPtr-> Advect();1273 } 1274 } 1275 } 1272 flowPtr->advect(); 1273 } 1274 } 1275 } 1276 1276 1277 1277 /** … … 1506 1506 FlowCmd *flowPtr = (FlowCmd *)clientData; 1507 1507 1508 if (flowPtr-> ParseSwitches(interp, objc - 2, objv + 2) != TCL_OK) {1508 if (flowPtr->parseSwitches(interp, objc - 2, objv + 2) != TCL_OK) { 1509 1509 return TCL_ERROR; 1510 1510 } … … 1519 1519 FlowCmd *flowPtr = (FlowCmd *)clientData; 1520 1520 1521 if (flowPtr-> CreateParticles(interp, objv[3]) != TCL_OK) {1521 if (flowPtr->createParticles(interp, objv[3]) != TCL_OK) { 1522 1522 return TCL_ERROR; 1523 1523 } 1524 1524 FlowParticles *particlesPtr; 1525 if (flowPtr-> GetParticles(interp, objv[3], &particlesPtr) != TCL_OK) {1525 if (flowPtr->getParticles(interp, objv[3], &particlesPtr) != TCL_OK) { 1526 1526 return TCL_ERROR; 1527 1527 } … … 1543 1543 1544 1544 FlowParticles *particlesPtr; 1545 if (flowPtr-> GetParticles(interp, objv[3], &particlesPtr) != TCL_OK) {1545 if (flowPtr->getParticles(interp, objv[3], &particlesPtr) != TCL_OK) { 1546 1546 return TCL_ERROR; 1547 1547 } … … 1563 1563 FlowParticles *particlesPtr; 1564 1564 1565 if (flowPtr-> GetParticles(NULL, objv[i], &particlesPtr) == TCL_OK) {1565 if (flowPtr->getParticles(NULL, objv[i], &particlesPtr) == TCL_OK) { 1566 1566 delete particlesPtr; 1567 1567 } … … 1580 1580 FlowParticlesIterator iter; 1581 1581 FlowParticles *particlesPtr; 1582 for (particlesPtr = flowPtr-> FirstParticles(&iter); particlesPtr != NULL;1583 particlesPtr = flowPtr-> NextParticles(&iter)) {1582 for (particlesPtr = flowPtr->firstParticles(&iter); particlesPtr != NULL; 1583 particlesPtr = flowPtr->nextParticles(&iter)) { 1584 1584 Tcl_Obj *objPtr; 1585 1585 … … 1634 1634 FlowCmd *flowPtr = (FlowCmd *)clientData; 1635 1635 1636 if (flowPtr-> CreateBox(interp, objv[3]) != TCL_OK) {1636 if (flowPtr->createBox(interp, objv[3]) != TCL_OK) { 1637 1637 return TCL_ERROR; 1638 1638 } 1639 1639 FlowBox *boxPtr; 1640 if (flowPtr-> GetBox(interp, objv[3], &boxPtr) != TCL_OK) {1641 return TCL_ERROR; 1642 } 1643 if (boxPtr-> ParseSwitches(interp, objc - 4, objv + 4) != TCL_OK) {1640 if (flowPtr->getBox(interp, objv[3], &boxPtr) != TCL_OK) { 1641 return TCL_ERROR; 1642 } 1643 if (boxPtr->parseSwitches(interp, objc - 4, objv + 4) != TCL_OK) { 1644 1644 delete boxPtr; 1645 1645 return TCL_ERROR; … … 1659 1659 FlowBox *boxPtr; 1660 1660 1661 if (flowPtr-> GetBox(NULL, objv[i], &boxPtr) == TCL_OK) {1661 if (flowPtr->getBox(NULL, objv[i], &boxPtr) == TCL_OK) { 1662 1662 delete boxPtr; 1663 1663 } … … 1676 1676 FlowBoxIterator iter; 1677 1677 FlowBox *boxPtr; 1678 for (boxPtr = flowPtr-> FirstBox(&iter); boxPtr != NULL;1679 boxPtr = flowPtr-> NextBox(&iter)) {1678 for (boxPtr = flowPtr->firstBox(&iter); boxPtr != NULL; 1679 boxPtr = flowPtr->nextBox(&iter)) { 1680 1680 Tcl_Obj *objPtr; 1681 1681 … … 1694 1694 1695 1695 FlowBox *boxPtr; 1696 if (flowPtr-> GetBox(interp, objv[3], &boxPtr) != TCL_OK) {1697 return TCL_ERROR; 1698 } 1699 if (boxPtr-> ParseSwitches(interp, objc - 4, objv + 4) != TCL_OK) {1696 if (flowPtr->getBox(interp, objv[3], &boxPtr) != TCL_OK) { 1697 return TCL_ERROR; 1698 } 1699 if (boxPtr->parseSwitches(interp, objc - 4, objv + 4) != TCL_OK) { 1700 1700 return TCL_ERROR; 1701 1701 } … … 1756 1756 const char *string = Tcl_GetString(objv[1]); 1757 1757 TransferFunction *tf; 1758 tf = flowPtr-> GetTransferFunction();1758 tf = flowPtr->getTransferFunction(); 1759 1759 if (tf == NULL) { 1760 1760 Tcl_AppendResult(interp, "unknown transfer function \"", string, "\"", … … 1770 1770 } 1771 1771 if (NanoVis::flags & NanoVis::MAP_FLOWS) { 1772 NanoVis:: MapFlows();1772 NanoVis::mapFlows(); 1773 1773 } 1774 1774 NanoVis::renderLegend(tf, NanoVis::magMin, NanoVis::magMax, w, h, label); … … 1828 1828 Tcl_Obj *const *objv) 1829 1829 { 1830 if (NanoVis:: CreateFlow(interp, objv[2]) != TCL_OK) {1830 if (NanoVis::createFlow(interp, objv[2]) != TCL_OK) { 1831 1831 return TCL_ERROR; 1832 1832 } 1833 1833 FlowCmd *flowPtr; 1834 if (NanoVis:: GetFlow(interp, objv[2], &flowPtr) != TCL_OK) {1835 return TCL_ERROR; 1836 } 1837 if (flowPtr-> ParseSwitches(interp, objc - 3, objv + 3) != TCL_OK) {1834 if (NanoVis::getFlow(interp, objv[2], &flowPtr) != TCL_OK) { 1835 return TCL_ERROR; 1836 } 1837 if (flowPtr->parseSwitches(interp, objc - 3, objv + 3) != TCL_OK) { 1838 1838 Tcl_DeleteCommand(interp, flowPtr->name()); 1839 1839 return TCL_ERROR; … … 1853 1853 FlowCmd *flowPtr; 1854 1854 1855 if (NanoVis:: GetFlow(interp, objv[i], &flowPtr) != TCL_OK) {1855 if (NanoVis::getFlow(interp, objv[i], &flowPtr) != TCL_OK) { 1856 1856 return TCL_ERROR; 1857 1857 } … … 1870 1870 1871 1871 value = false; 1872 if (NanoVis:: GetFlow(NULL, objv[2], &flowPtr) == TCL_OK) {1872 if (NanoVis::getFlow(NULL, objv[2], &flowPtr) == TCL_OK) { 1873 1873 value = true; 1874 1874 } … … 1893 1893 return TCL_ERROR; 1894 1894 } 1895 NanoVis:: ResetFlows();1895 NanoVis::resetFlows(); 1896 1896 if (NanoVis::flags & NanoVis::MAP_FLOWS) { 1897 NanoVis:: MapFlows();1897 NanoVis::mapFlows(); 1898 1898 } 1899 1899 int i; 1900 NanoVis:: AdvectFlows();1900 NanoVis::advectFlows(); 1901 1901 for (i = 0; i < nSteps; i++) { 1902 1902 if (NanoVis::licRenderer->active()) { 1903 1903 NanoVis::licRenderer->convolve(); 1904 1904 } 1905 NanoVis:: AdvectFlows();1905 NanoVis::advectFlows(); 1906 1906 } 1907 1907 NanoVis::eventuallyRedraw(); … … 1917 1917 FlowCmd *flowPtr; 1918 1918 FlowIterator iter; 1919 for (flowPtr = NanoVis:: FirstFlow(&iter); flowPtr != NULL;1920 flowPtr = NanoVis:: NextFlow(&iter)) {1919 for (flowPtr = NanoVis::firstFlow(&iter); flowPtr != NULL; 1920 flowPtr = NanoVis::nextFlow(&iter)) { 1921 1921 Tcl_Obj *objPtr; 1922 1922 … … 1934 1934 assert(NanoVis::licRenderer != NULL); 1935 1935 if (NanoVis::flags & NanoVis::MAP_FLOWS) { 1936 NanoVis:: MapFlows();1936 NanoVis::mapFlows(); 1937 1937 } 1938 1938 NanoVis::eventuallyRedraw(); 1939 1939 NanoVis::licRenderer->convolve(); 1940 NanoVis:: AdvectFlows();1940 NanoVis::advectFlows(); 1941 1941 return TCL_OK; 1942 1942 } … … 1946 1946 Tcl_Obj *const *objv) 1947 1947 { 1948 NanoVis:: ResetFlows();1948 NanoVis::resetFlows(); 1949 1949 return TCL_OK; 1950 1950 } … … 2309 2309 { 2310 2310 Tcl_CreateObjCommand(interp, "flow", FlowCmdProc, NULL, NULL); 2311 NanoVis:: InitFlows();2311 NanoVis::initFlows(); 2312 2312 return TCL_OK; 2313 2313 } -
trunk/packages/vizservers/nanovis/FlowCmd.h
r3502 r3566 180 180 } 181 181 182 int ParseSwitches(Tcl_Interp *interp, int objc, Tcl_Obj *const *objv)182 int parseSwitches(Tcl_Interp *interp, int objc, Tcl_Obj *const *objv) 183 183 { 184 184 if (Rappture::ParseSwitches(interp, _switches, objc, objv, &_sv, … … 189 189 } 190 190 191 void Render(Volume *volPtr);191 void render(Volume *volPtr); 192 192 193 193 const FlowBoxValues *getValues() const … … 238 238 ~FlowCmd(); 239 239 240 int CreateParticles(Tcl_Interp *interp, Tcl_Obj *objPtr);241 242 int GetParticles(Tcl_Interp *interp, Tcl_Obj *objPtr,240 int createParticles(Tcl_Interp *interp, Tcl_Obj *objPtr); 241 242 int getParticles(Tcl_Interp *interp, Tcl_Obj *objPtr, 243 243 FlowParticles **particlePtrPtr); 244 244 245 void Render();246 247 void Advect();248 249 void ResetParticles();250 251 void InitializeParticles();252 253 FlowParticles * FirstParticles(FlowParticlesIterator *iterPtr);254 255 FlowParticles * NextParticles(FlowParticlesIterator *iterPtr);256 257 int CreateBox(Tcl_Interp *interp, Tcl_Obj *objPtr);258 259 int GetBox(Tcl_Interp *interp, Tcl_Obj *objPtr, FlowBox **boxPtrPtr);260 261 FlowBox * FirstBox(FlowBoxIterator *iterPtr);262 263 FlowBox * NextBox(FlowBoxIterator *iterPtr);264 265 float * GetScaledVector();266 267 Volume * MakeVolume(float *data);245 void render(); 246 247 void advect(); 248 249 void resetParticles(); 250 251 void initializeParticles(); 252 253 FlowParticles *firstParticles(FlowParticlesIterator *iterPtr); 254 255 FlowParticles *nextParticles(FlowParticlesIterator *iterPtr); 256 257 int createBox(Tcl_Interp *interp, Tcl_Obj *objPtr); 258 259 int getBox(Tcl_Interp *interp, Tcl_Obj *objPtr, FlowBox **boxPtrPtr); 260 261 FlowBox *firstBox(FlowBoxIterator *iterPtr); 262 263 FlowBox *nextBox(FlowBoxIterator *iterPtr); 264 265 float *getScaledVector(); 266 267 Volume *makeVolume(float *data); 268 268 269 void InitVectorField();270 271 NvVectorField * VectorField()269 void initVectorField(); 270 271 NvVectorField *getVectorField() 272 272 { 273 273 return _fieldPtr; 274 274 } 275 275 276 bool ScaleVectorField();276 bool scaleVectorField(); 277 277 278 278 bool visible() … … 309 309 } 310 310 311 void ActivateSlice()311 void activateSlice() 312 312 { 313 313 /* Must set axis before offset or position goes to wrong axis. */ … … 317 317 } 318 318 319 void DeactivateSlice()319 void ceactivateSlice() 320 320 { 321 321 NanoVis::licRenderer->active(false); 322 322 } 323 323 324 SliceAxis GetAxis()324 SliceAxis getAxis() 325 325 { 326 326 return (SliceAxis)_sv.slicePos.axis; 327 327 } 328 328 329 TransferFunction * GetTransferFunction()329 TransferFunction *getTransferFunction() 330 330 { 331 331 return _sv.tfPtr; 332 332 } 333 333 334 float GetRelativePosition();335 336 void SetAxis()334 float getRelativePosition(); 335 336 void setAxis() 337 337 { 338 338 NanoVis::licRenderer->setAxis(_sv.slicePos.axis); 339 339 } 340 340 341 void SetAxis(FlowCmd::SliceAxis axis)341 void setAxis(FlowCmd::SliceAxis axis) 342 342 { 343 343 _sv.slicePos.axis = axis; … … 345 345 } 346 346 347 void SetCurrentPosition(float position)347 void setCurrentPosition(float position) 348 348 { 349 349 _sv.slicePos.value = position; … … 351 351 } 352 352 353 void SetCurrentPosition()353 void setCurrentPosition() 354 354 { 355 355 NanoVis::licRenderer->setOffset(_sv.slicePos.value); 356 356 } 357 357 358 void SetActive(bool state)358 void setActive(bool state) 359 359 { 360 360 _sv.sliceVisible = state; … … 362 362 } 363 363 364 void SetActive()364 void setActive() 365 365 { 366 366 NanoVis::licRenderer->active(_sv.sliceVisible); 367 367 } 368 368 369 void SetVectorField(NvVectorField *fieldPtr)370 { 371 DeleteVectorField();369 void setVectorField(NvVectorField *fieldPtr) 370 { 371 deleteVectorField(); 372 372 _fieldPtr = fieldPtr; 373 373 } 374 374 375 void DeleteVectorField()375 void deleteVectorField() 376 376 { 377 377 if (_fieldPtr != NULL) { … … 381 381 } 382 382 383 int ParseSwitches(Tcl_Interp *interp, int objc, Tcl_Obj *const *objv)383 int parseSwitches(Tcl_Interp *interp, int objc, Tcl_Obj *const *objv) 384 384 { 385 385 if (Rappture::ParseSwitches(interp, _switches, objc, objv, &_sv, … … 395 395 } 396 396 397 static float GetRelativePosition(FlowPosition *posPtr);397 static float getRelativePosition(FlowPosition *posPtr); 398 398 399 399 static Rappture::SwitchSpec videoSwitches[]; 400 400 401 401 private: 402 void Configure();403 404 void RenderBoxes();402 void configure(); 403 404 void renderBoxes(); 405 405 406 406 Tcl_Interp *_interp; -
trunk/packages/vizservers/nanovis/nanovis.cpp
r3559 r3566 231 231 #endif 232 232 TRACE("Deleting flows"); 233 DeleteFlows(interp);233 deleteFlows(interp); 234 234 if (licRenderer != NULL) { 235 235 TRACE("Deleting licRenderer"); … … 1567 1567 { 1568 1568 if (flags & MAP_FLOWS) { 1569 MapFlows();1569 mapFlows(); 1570 1570 grid->xAxis.setScale(xMin, xMax); 1571 1571 grid->yAxis.setScale(yMin, yMax); … … 1643 1643 1644 1644 vrmath::Vector3f flowMin, flowMax; 1645 GetFlowBounds(flowMin, flowMax, onlyVisible);1645 getFlowBounds(flowMin, flowMax, onlyVisible); 1646 1646 if (flowMin.x < flowMax.x) { 1647 1647 if (sceneMin.x > flowMin.x) { … … 1694 1694 xMax = yMax = zMax = wMax = -FLT_MAX, magMax = -DBL_MAX; 1695 1695 #endif 1696 MapFlows();1696 mapFlows(); 1697 1697 grid->xAxis.setScale(xMin, xMax); 1698 1698 grid->yAxis.setScale(yMin, yMax); … … 1771 1771 #endif 1772 1772 if (flowTable.numEntries > 0) { 1773 RenderFlows();1773 renderFlows(); 1774 1774 } 1775 1775 -
trunk/packages/vizservers/nanovis/nanovis.h
r3502 r3566 141 141 } 142 142 143 static FlowCmd * FirstFlow(FlowIterator *iterPtr);144 static FlowCmd * NextFlow(FlowIterator *iterPtr);145 static void InitFlows();146 static int GetFlow(Tcl_Interp *interp, Tcl_Obj *objPtr,143 static FlowCmd *firstFlow(FlowIterator *iterPtr); 144 static FlowCmd *nextFlow(FlowIterator *iterPtr); 145 static void initFlows(); 146 static int getFlow(Tcl_Interp *interp, Tcl_Obj *objPtr, 147 147 FlowCmd **flowPtrPtr); 148 static int CreateFlow(Tcl_Interp *interp, Tcl_Obj *objPtr);149 static void DeleteFlows(Tcl_Interp *interp);150 static bool MapFlows();151 static void GetFlowBounds(vrmath::Vector3f& min,148 static int createFlow(Tcl_Interp *interp, Tcl_Obj *objPtr); 149 static void deleteFlows(Tcl_Interp *interp); 150 static bool mapFlows(); 151 static void getFlowBounds(vrmath::Vector3f& min, 152 152 vrmath::Vector3f& max, 153 153 bool onlyVisible = false); 154 static void RenderFlows();155 static void ResetFlows();156 static bool UpdateFlows();157 static void AdvectFlows();154 static void renderFlows(); 155 static void resetFlows(); 156 static bool updateFlows(); 157 static void advectFlows(); 158 158 159 159 static FILE *stdin, *logfile, *recfile;
Note: See TracChangeset
for help on using the changeset viewer.