Changeset 3961
- Timestamp:
- Sep 26, 2013 11:16:53 PM (10 years ago)
- Location:
- trunk/packages/vizservers/vtkvis
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/packages/vizservers/vtkvis/DataSet.cpp
r3873 r3961 392 392 bool found = false; 393 393 if (_dataSet != NULL) { 394 if (_dataSet->GetPointData() != NULL) { 395 if (_dataSet->GetPointData()->SetActiveScalars(name) >= 0) { 396 TRACE("Set active point data scalars to %s", name); 397 found = true; 398 } 399 } 400 if (_dataSet->GetCellData() != NULL) { 401 if (_dataSet->GetCellData()->SetActiveScalars(name) >= 0) { 402 TRACE("Set active cell data scalars to %s", name); 403 found = true; 394 if (!hasField(name)) { 395 ERROR("No field named %s in %s", name, getName().c_str()); 396 } else { 397 if (_dataSet->GetPointData() != NULL) { 398 if (_dataSet->GetPointData()->SetActiveScalars(name) >= 0) { 399 TRACE("Set active point data scalars for %s to %s", getName().c_str(), name); 400 found = true; 401 } 402 } 403 if (_dataSet->GetCellData() != NULL) { 404 if (_dataSet->GetCellData()->SetActiveScalars(name) >= 0) { 405 TRACE("Set active cell data scalars for %s to %s", getName().c_str(), name); 406 found = true; 407 } 404 408 } 405 409 } … … 408 412 if (_dataSet->GetPointData() != NULL) { 409 413 if (_dataSet->GetPointData()->GetScalars() != NULL) { 410 TRACE("Point data scalars : %s", _dataSet->GetPointData()->GetScalars()->GetName());414 TRACE("Point data scalars for %s: %s", getName().c_str(), _dataSet->GetPointData()->GetScalars()->GetName()); 411 415 } else { 412 TRACE("NULL point data scalars ");416 TRACE("NULL point data scalars for %s", getName().c_str()); 413 417 } 414 418 } 415 419 if (_dataSet->GetCellData() != NULL) { 416 420 if (_dataSet->GetCellData()->GetScalars() != NULL) { 417 TRACE("Cell data scalars : %s", _dataSet->GetCellData()->GetScalars()->GetName());421 TRACE("Cell data scalars for %s: %s", getName().c_str(), _dataSet->GetCellData()->GetScalars()->GetName()); 418 422 } else { 419 TRACE("NULL cell data scalars ");423 TRACE("NULL cell data scalars for %s", getName().c_str()); 420 424 } 421 425 } -
trunk/packages/vizservers/vtkvis/Image.h
r3773 r3961 70 70 return; 71 71 72 TRACE(" slice # %d, (%d,%d), whole z: (%d,%d)",72 TRACE("before slice # %d, (%d,%d), whole z: (%d,%d)", 73 73 actor->GetSliceNumber(), actor->GetSliceNumberMin(), actor->GetSliceNumberMax(), 74 74 actor->GetZSlice(), actor->GetWholeZMin(), actor->GetWholeZMax()); 75 75 76 76 actor->SetZSlice(z); 77 78 TRACE("after slice # %d, (%d,%d), whole z: (%d,%d)", 79 actor->GetSliceNumber(), actor->GetSliceNumberMin(), actor->GetSliceNumberMax(), 80 actor->GetZSlice(), actor->GetWholeZMin(), actor->GetWholeZMax()); 77 81 } 78 82 -
trunk/packages/vizservers/vtkvis/Renderer.h
r3861 r3961 940 940 // Volumes 941 941 942 void setVolumeBlendMode(const DataSetId& id, Volume::BlendMode mode); 943 942 944 void setVolumeSampleDistance(const DataSetId& id, double distance); 943 945 -
trunk/packages/vizservers/vtkvis/RendererCmd.cpp
r3928 r3961 11792 11792 11793 11793 static int 11794 VolumeBlendModeOp(ClientData clientData, Tcl_Interp *interp, int objc, 11795 Tcl_Obj *const *objv) 11796 { 11797 Volume::BlendMode mode; 11798 const char *string = Tcl_GetString(objv[2]); 11799 char c = string[0]; 11800 if ((c == 'c') && (strcmp(string, "composite") == 0)) { 11801 mode = Volume::BLEND_COMPOSITE; 11802 } else if ((c == 'm') && (strcmp(string, "max_intensity") == 0)) { 11803 mode = Volume::BLEND_MAX_INTENSITY; 11804 } else if ((c == 'm') && (strcmp(string, "min_intensity") == 0)) { 11805 mode = Volume::BLEND_MIN_INTENSITY; 11806 } else if ((c == 'a') && (strcmp(string, "additive") == 0)) { 11807 mode = Volume::BLEND_ADDITIVE; 11808 } else { 11809 Tcl_AppendResult(interp, "bad blendmode option \"", string, 11810 "\": should be copmosite, max_intensity, min_intensity, or additive", (char*)NULL); 11811 return TCL_ERROR; 11812 } 11813 if (objc == 4) { 11814 const char *dataSetName = Tcl_GetString(objv[3]); 11815 g_renderer->setVolumeBlendMode(dataSetName, mode); 11816 } else { 11817 g_renderer->setVolumeBlendMode("all", mode); 11818 } 11819 return TCL_OK; 11820 } 11821 11822 static int 11794 11823 VolumeColorMapOp(ClientData clientData, Tcl_Interp *interp, int objc, 11795 11824 Tcl_Obj *const *objv) … … 12035 12064 static Rappture::CmdSpec volumeOps[] = { 12036 12065 {"add", 1, VolumeAddOp, 2, 3, "?dataSetName?"}, 12066 {"blendmode", 1, VolumeBlendModeOp, 3, 4, "blendMode ?dataSetName?"}, 12037 12067 {"colormap", 1, VolumeColorMapOp, 3, 4, "colorMapName ?dataSetName?"}, 12038 12068 {"delete", 1, VolumeDeleteOp, 2, 3, "?dataSetName?"}, -
trunk/packages/vizservers/vtkvis/RendererGraphicsObjs.cpp
r3861 r3961 4182 4182 } 4183 4183 4184 void Renderer::setVolumeBlendMode(const DataSetId& id, Volume::BlendMode mode) 4185 { 4186 VolumeHashmap::iterator itr; 4187 4188 bool doAll = false; 4189 4190 if (id.compare("all") == 0) { 4191 itr = _volumes.begin(); 4192 if (itr == _volumes.end()) 4193 return; 4194 doAll = true; 4195 } else { 4196 itr = _volumes.find(id); 4197 } 4198 if (itr == _volumes.end()) { 4199 ERROR("Volume not found: %s", id.c_str()); 4200 return; 4201 } 4202 4203 do { 4204 itr->second->setBlendMode(mode); 4205 } while (doAll && ++itr != _volumes.end()); 4206 4207 _needsRedraw = true; 4208 } 4209 4184 4210 /** 4185 4211 * \brief Set the sample rate for the volume shader -
trunk/packages/vizservers/vtkvis/Volume.cpp
r3866 r3961 290 290 } 291 291 } 292 293 /** 294 * \brief Set Volume renderer blending mode 295 */ 296 void Volume::setBlendMode(BlendMode mode) 297 { 298 if (_volumeMapper != NULL) { 299 vtkVolumeMapper *mapper = vtkVolumeMapper::SafeDownCast(_volumeMapper); 300 if (mapper == NULL) { 301 TRACE("Mapper does not support BlendMode"); 302 return; 303 } 304 switch (mode) { 305 case BLEND_COMPOSITE: 306 mapper->SetBlendModeToComposite(); 307 break; 308 case BLEND_MAX_INTENSITY: 309 mapper->SetBlendModeToMaximumIntensity(); 310 break; 311 case BLEND_MIN_INTENSITY: 312 mapper->SetBlendModeToMinimumIntensity(); 313 break; 314 case BLEND_ADDITIVE: 315 mapper->SetBlendModeToAdditive(); 316 break; 317 default: 318 ERROR("Unknown BlendMode"); 319 } 320 } 321 } -
trunk/packages/vizservers/vtkvis/Volume.h
r3621 r3961 29 29 public: 30 30 enum BlendMode { 31 COMPOSITE = 0, 32 MAX_INTENSITY, 33 MIN_INTENSITY 31 BLEND_COMPOSITE = 0, 32 BLEND_MAX_INTENSITY, 33 BLEND_MIN_INTENSITY, 34 BLEND_ADDITIVE 34 35 }; 35 36 … … 60 61 void setSampleDistance(float d); 61 62 63 void setBlendMode(BlendMode mode); 64 62 65 private: 63 66 virtual void initProp(); -
trunk/packages/vizservers/vtkvis/protocol.txt
r3861 r3961 892 892 893 893 volume add <?datasetName?> 894 volume blendmode <mode> <?dataSetName?> 895 blendmode = composite|max_intensity|min_intensity|additive 894 896 volume colormap <colorMapName> <?datasetName?> 895 897 volume delete <?datasetName?>
Note: See TracChangeset
for help on using the changeset viewer.