Changeset 3630 for trunk/packages/vizservers/nanovis/Flow.h
- Timestamp:
- Apr 16, 2013, 12:52:20 AM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/packages/vizservers/nanovis/Flow.h
r3613 r3630 25 25 #include "FlowBox.h" 26 26 #include "LIC.h" 27 #include "VelocityArrowsSlice.h" 27 28 #include "Unirect.h" 28 29 #include "Volume.h" … … 50 51 { 51 52 public: 52 enum SliceAxis { AXIS_X, AXIS_Y, AXIS_Z };53 54 53 Flow(Tcl_Interp *interp, const char *name); 55 54 … … 84 83 void getBoxNames(std::vector<std::string>& names); 85 84 86 float *getScaledVector();87 88 Volume *makeVolume(float *data);89 90 85 bool scaleVectorField(); 91 86 … … 117 112 _data = data; 118 113 } 114 115 FlowSliceAxis getAxis() 116 { 117 return _sv.slicePos.axis; 118 } 119 120 TransferFunction *getTransferFunction() 121 { 122 return _sv.transferFunction; 123 } 119 124 #if 0 120 void activateSlice() 121 { 122 /* Must set axis before offset or position goes to wrong axis. */ 123 NanoVis::licRenderer->setAxis(_sv.slicePos.axis); 124 NanoVis::licRenderer->setOffset(_sv.slicePos.value); 125 NanoVis::licRenderer->active(true); 126 } 127 128 void deactivateSlice() 129 { 130 NanoVis::licRenderer->active(false); 125 void setAxis(FlowSliceAxis axis) 126 { 127 _sv.slicePos.axis = axis; 128 if (NanoVis::licRenderer != NULL) { 129 NanoVis::licRenderer->setSliceAxis(_sv.slicePos.axis); 130 } 131 if (NanoVis::velocityArrowsSlice != NULL) { 132 NanoVis::velocityArrowsSlice->setSliceAxis(_sv.slicePos.axis); 133 } 134 } 135 136 void setCurrentPosition(float position) 137 { 138 _sv.slicePos.value = position; 139 if (NanoVis::licRenderer != NULL) { 140 NanoVis::licRenderer->setSlicePosition(_sv.slicePos.value); 141 } 142 if (NanoVis::velocityArrowsSlice != NULL) { 143 NanoVis::velocityArrowsSlice->setSlicePosition(_sv.slicePos.value); 144 } 145 } 146 147 void setLICActive(bool state) 148 { 149 _sv.sliceVisible = state; 150 if (NanoVis::licRenderer != NULL) { 151 NanoVis::licRenderer->setVectorField(_volume); 152 NanoVis::licRenderer->setSliceAxis(_sv.slicePos.axis); 153 NanoVis::licRenderer->setSlicePosition(_sv.slicePos.value); 154 NanoVis::licRenderer->visible(state); 155 } 156 } 157 158 void setArrowsActive(bool state) 159 _sv.showArrows = state; 160 if (NanoVis::velocityArrowsSlice != NULL) { 161 NanoVis::velocityArrowsSlice->setVectorField(_volume); 162 NanoVis::velocityArrowsSlice->setSliceAxis(_sv.slicePos.axis); 163 NanoVis::velocityArrowsSlice->setSlicePosition(_sv.slicePos.value); 164 NanoVis::velocityArrowsSlice->visible(_sv.showArrows); 165 } 131 166 } 132 167 #endif 133 SliceAxis getAxis()134 {135 return (SliceAxis)_sv.slicePos.axis;136 }137 138 TransferFunction *getTransferFunction()139 {140 return _sv.transferFunction;141 }142 143 float getRelativePosition();144 145 void setAxis()146 {147 NanoVis::licRenderer->setAxis(_sv.slicePos.axis);148 }149 150 void setAxis(Flow::SliceAxis axis)151 {152 _sv.slicePos.axis = axis;153 NanoVis::licRenderer->setAxis(_sv.slicePos.axis);154 }155 156 void setCurrentPosition(float position)157 {158 _sv.slicePos.value = position;159 NanoVis::licRenderer->setOffset(_sv.slicePos.value);160 }161 162 void setCurrentPosition()163 {164 NanoVis::licRenderer->setOffset(_sv.slicePos.value);165 }166 167 void setActive(bool state)168 {169 _sv.sliceVisible = state;170 NanoVis::licRenderer->active(state);171 }172 173 void setActive()174 {175 NanoVis::licRenderer->active(_sv.sliceVisible);176 }177 178 168 const Volume *getVolume() const 179 169 { … … 190 180 } 191 181 182 bool configure(); 183 192 184 Tcl_Command getCommandToken() 193 185 { … … 195 187 } 196 188 197 static float getRelativePosition(FlowPosition *pos); 189 float getRelativePosition(FlowPosition *pos); 190 191 static bool updatePending; 192 static double magMin, magMax; 198 193 199 194 private: … … 203 198 typedef std::tr1::unordered_map<BoxId, FlowBox *> BoxHashmap; 204 199 205 void configure(); 200 float *getScaledVector(); 201 202 Volume *makeVolume(float *data); 206 203 207 204 void renderBoxes();
Note: See TracChangeset
for help on using the changeset viewer.