- Timestamp:
- Sep 20, 2012, 12:46:32 PM (12 years ago)
- Location:
- branches/nanovis2
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/nanovis2
-
branches/nanovis2/packages/vizservers/vtkvis/RpVtkRendererGraphicsObjs.h
r2612 r3175 60 60 if (gobj->getProp()) 61 61 _renderer->RemoveViewProp(gobj->getProp()); 62 if (gobj->getOverlayProp()) 63 _renderer->RemoveViewProp(gobj->getOverlayProp()); 62 64 delete gobj; 63 65 … … 67 69 initCamera(); 68 70 _needsRedraw = true; 71 } 72 73 template<class GraphicsObject> 74 void Renderer::deleteAllGraphicsObjects() 75 { 76 std::tr1::unordered_map<DataSetId, GraphicsObject *>& hashmap = 77 getGraphicsObjectHashmap<GraphicsObject>(); 78 typename std::tr1::unordered_map<DataSetId, GraphicsObject *>::iterator itr; 79 80 itr = hashmap.begin(); 81 if (itr == hashmap.end()) 82 return; 83 84 TRACE("Deleting all %s objects", itr->second->getClassName()); 85 86 for (; itr != hashmap.end(); ++itr) { 87 delete itr->second; 88 } 89 hashmap.clear(); 69 90 } 70 91 … … 100 121 gobj->setDataSet(ds, this); 101 122 102 if (gobj->getProp() == NULL) { 123 if (gobj->getProp() == NULL && 124 gobj->getOverlayProp() == NULL) { 103 125 delete gobj; 104 126 return false; 105 127 } else { 106 _renderer->AddViewProp(gobj->getProp()); 128 if (gobj->getProp()) 129 _renderer->AddViewProp(gobj->getProp()); 130 if (gobj->getOverlayProp()) 131 _renderer->AddViewProp(gobj->getOverlayProp()); 107 132 } 108 133 … … 233 258 do { 234 259 itr->second->setPosition(pos); 260 } while (doAll && ++itr != hashmap.end()); 261 262 resetAxes(); 263 _needsRedraw = true; 264 } 265 266 /** 267 * \brief Set the prop scaling by 2D aspect ratio 268 */ 269 template<class GraphicsObject> 270 void Renderer::setGraphicsObjectAspect(const DataSetId& id, double aspect) 271 { 272 std::tr1::unordered_map<DataSetId, GraphicsObject *>& hashmap = 273 getGraphicsObjectHashmap<GraphicsObject>(); 274 typename std::tr1::unordered_map<DataSetId, GraphicsObject *>::iterator itr; 275 276 bool doAll = false; 277 278 if (id.compare("all") == 0) { 279 itr = hashmap.begin(); 280 doAll = true; 281 } else { 282 itr = hashmap.find(id); 283 } 284 if (itr == hashmap.end()) { 285 ERROR("%s not found: %s", typeid(GraphicsObject).name(), id.c_str()); 286 return; 287 } 288 289 do { 290 itr->second->setAspect(aspect); 235 291 } while (doAll && ++itr != hashmap.end()); 236 292 … … 709 765 } 710 766 767 template<class GraphicsObject> 768 void Renderer::updateGraphicsObjectColorMap(ColorMap *cmap) 769 { 770 std::tr1::unordered_map<DataSetId, GraphicsObject *>& hashmap = 771 getGraphicsObjectHashmap<GraphicsObject>(); 772 typename std::tr1::unordered_map<DataSetId, GraphicsObject *>::iterator itr; 773 774 for (itr = hashmap.begin(); itr != hashmap.end(); ++itr) { 775 if (itr->second->getColorMap() == cmap) { 776 itr->second->updateColorMap(); 777 _needsRedraw = true; 778 } 779 } 780 } 781 782 template<class GraphicsObject> 783 bool Renderer::graphicsObjectColorMapUsed(ColorMap *cmap) 784 { 785 std::tr1::unordered_map<DataSetId, GraphicsObject *>& hashmap = 786 getGraphicsObjectHashmap<GraphicsObject>(); 787 typename std::tr1::unordered_map<DataSetId, GraphicsObject *>::iterator itr; 788 789 for (itr = hashmap.begin(); itr != hashmap.end(); ++itr) { 790 if (itr->second->getColorMap() == cmap) 791 return true; 792 } 793 return false; 794 } 795 796 template<class GraphicsObject> 797 void Renderer::mergeGraphicsObjectBounds(double *bounds, bool onlyVisible) 798 { 799 std::tr1::unordered_map<DataSetId, GraphicsObject *>& hashmap = 800 getGraphicsObjectHashmap<GraphicsObject>(); 801 typename std::tr1::unordered_map<DataSetId, GraphicsObject *>::iterator itr; 802 803 for (itr = hashmap.begin(); itr != hashmap.end(); ++itr) { 804 if ((!onlyVisible || itr->second->getVisibility()) && 805 itr->second->getProp() != NULL) 806 mergeBounds(bounds, bounds, itr->second->getBounds()); 807 } 808 } 809 810 template<class GraphicsObject> 811 void Renderer::mergeGraphicsObjectUnscaledBounds(double *bounds, bool onlyVisible) 812 { 813 std::tr1::unordered_map<DataSetId, GraphicsObject *>& hashmap = 814 getGraphicsObjectHashmap<GraphicsObject>(); 815 typename std::tr1::unordered_map<DataSetId, GraphicsObject *>::iterator itr; 816 817 for (itr = hashmap.begin(); itr != hashmap.end(); ++itr) { 818 if ((!onlyVisible || itr->second->getVisibility()) && 819 itr->second->getProp() != NULL) 820 mergeBounds(bounds, bounds, itr->second->getUnscaledBounds()); 821 } 822 } 823 824 template<class GraphicsObject> 825 void Renderer::updateGraphicsObjectFieldRanges() 826 { 827 std::tr1::unordered_map<DataSetId, GraphicsObject *>& hashmap = 828 getGraphicsObjectHashmap<GraphicsObject>(); 829 typename std::tr1::unordered_map<DataSetId, GraphicsObject *>::iterator itr; 830 831 for (itr = hashmap.begin(); itr != hashmap.end(); ++itr) { 832 itr->second->updateRanges(this); 833 } 834 } 835 836 template<class GraphicsObject> 837 void Renderer::setGraphicsObjectClippingPlanes(vtkPlaneCollection *planes) 838 { 839 std::tr1::unordered_map<DataSetId, GraphicsObject *>& hashmap = 840 getGraphicsObjectHashmap<GraphicsObject>(); 841 typename std::tr1::unordered_map<DataSetId, GraphicsObject *>::iterator itr; 842 843 for (itr = hashmap.begin(); itr != hashmap.end(); ++itr) { 844 itr->second->setClippingPlanes(planes); 845 } 846 } 847 848 template<class GraphicsObject> 849 void Renderer::setGraphicsObjectAspect(double aspectRatio) 850 { 851 std::tr1::unordered_map<DataSetId, GraphicsObject *>& hashmap = 852 getGraphicsObjectHashmap<GraphicsObject>(); 853 typename std::tr1::unordered_map<DataSetId, GraphicsObject *>::iterator itr; 854 855 for (itr = hashmap.begin(); itr != hashmap.end(); ++itr) { 856 itr->second->setAspect(aspectRatio); 857 } 858 } 859 711 860 } 712 861 }
Note: See TracChangeset
for help on using the changeset viewer.