28 #include <vtkProperty.h> 29 #include <vtkUnstructuredGrid.h> 30 #include <vtkVolume.h> 31 #include <vtkVolumeProperty.h> 33 #include <vtkPlanes.h> 117 if (needGenerateData)
128 if (node->GetProperty(transferFuncProp,
"TransferFunction"))
131 if (transferFunction->GetColorTransferFunction()->GetSize() < 2)
137 vtkUnstructuredGrid *grid = input->GetVtkUnstructuredGrid(this->
GetTimestep());
141 double *scalarRange = grid->GetScalarRange();
142 vtkColorTransferFunction *colorFunc = transferFunction->GetColorTransferFunction();
143 colorFunc->RemoveAllPoints();
144 colorFunc->AddRGBPoint(scalarRange[0], 1, 0, 0);
145 colorFunc->AddRGBPoint((scalarRange[0] + scalarRange[1]) / 2.0, 0, 1, 0);
146 colorFunc->AddRGBPoint(scalarRange[1], 0, 0, 1);
168 vtkUnstructuredGrid *grid = input->GetVtkUnstructuredGrid(this->
GetTimestep());
182 node->GetBoolProperty(
"enable clipping", clip);
184 if (clip && bbNode.IsNotNull())
212 vtkVolumeProperty *volProp =
m_Volume->GetProperty();
213 vtkProperty *
property =
m_Actor->GetProperty();
220 if (node->GetProperty(transferFuncProp,
"TransferFunction", renderer))
224 volProp->SetColor(transferFunction->GetColorTransferFunction());
225 volProp->SetScalarOpacity(transferFunction->GetScalarOpacityFunction());
226 volProp->SetGradientOpacity(transferFunction->GetGradientOpacityFunction());
232 bool isVolumeRenderingOn =
false;
233 node->GetBoolProperty(
"volumerendering", isVolumeRenderingOn, renderer);
235 if (isVolumeRenderingOn)
242 if (node->GetProperty(mapperProp,
"volumerendering.mapper", renderer))
281 if (node->GetProperty(gridRepProp,
"grid representation", renderer))
287 property->SetRepresentationToPoints();
290 property->SetRepresentationToWireframe();
293 property->SetRepresentationToSurface();
327 if (node->GetProperty(scalarMode,
"scalar mode", renderer))
352 bool scalarVisibility =
true;
353 node->GetBoolProperty(
"scalar visibility", scalarVisibility, renderer);
404 if (overwrite || node->
GetProperty(
"TransferFunction", renderer) ==
nullptr)
412 Superclass::SetDefaultProperties(node, renderer, overwrite);
mitk::BaseProperty * GetProperty(const char *propertyKey, const mitk::BaseRenderer *renderer=nullptr, bool fallBackOnDataProperties=true) const
Get the property (instance of BaseProperty) with key propertyKey from the PropertyList of the rendere...
L * GetLocalStorage(mitk::BaseRenderer *forRenderer)
Retrieves a LocalStorage for a specific BaseRenderer.
Base class for mapper specific rendering ressources.
void SetInput(vtkUnstructuredGrid *input)
bool IsGenerateDataRequired(mitk::BaseRenderer *renderer, mitk::Mapper *mapper, mitk::DataNode *dataNode) const
virtual DataNode * GetDataNode() const
Get the DataNode containing the data to map. Method only returns valid DataNode Pointer if the mapper...
Organizes the rendering process.
vtkUnstructuredGridMapper * m_VtkDataSetMapper
UnstructuredGridVtkMapper3D()
void ApplyColorAndOpacityProperties(mitk::BaseRenderer *renderer, vtkActor *actor) override
Apply color and opacity properties read from the PropertyList. Called by mapper subclasses.
vtkDataSetTriangleFilter * m_VtkTriangleFilter
vtkUnstructuredGridVolumeZSweepMapper * m_VtkVolumeZSweepMapper
LocalStorageHandler< BaseLocalStorage > m_LSH
void SetProperty(const std::string &propertyKey, BaseProperty *property, const std::string &contextName="", bool fallBackOnDefaultContext=false) override
Add new or change existent property.
BaseData * GetData() const
Get the data object (instance of BaseData, e.g., an Image) managed by this DataNode.
void AddProperty(const char *propertyKey, BaseProperty *property, const mitk::BaseRenderer *renderer=nullptr, bool overwrite=false)
Add the property (instance of BaseProperty) if it does not exist (or always ifoverwrite istrue) with ...
void ApplyProperties(vtkActor *, mitk::BaseRenderer *renderer) override
Apply color and opacity properties read from the PropertyList.
vtkProp * GetVtkProp(mitk::BaseRenderer *renderer) override
virtual int GetVtkScalarMode()
~UnstructuredGridVtkMapper3D() override
static void ApplyMitkPropertiesToVtkProperty(mitk::DataNode *node, vtkProperty *property, mitk::BaseRenderer *renderer)
vtkProjectedTetrahedraMapper * m_VtkPTMapper
bool GetVisibility(bool &visible, const mitk::BaseRenderer *renderer, const char *propertyKey="visible") const
Convenience access method for visibility properties (instances of BoolProperty with property-key "vis...
virtual const mitk::UnstructuredGrid * GetInput()
void SetBoundingObject(mitk::BoundingObject *bo)
static void SetDefaultProperties(mitk::DataNode *node, mitk::BaseRenderer *renderer=nullptr, bool overwrite=false)
vtkActor * m_ActorWireframe
static void SetDefaultPropertiesForVtkProperty(mitk::DataNode *node, mitk::BaseRenderer *renderer, bool overwrite)
vtkUnstructuredGridMapper * m_VtkDataSetMapper2
void ResetMapper(BaseRenderer *) override
Reset the mapper (i.e., make sure that nothing is displayed) if no valid data is present. In most cases the reimplemented function disables the according actors (toggling visibility off)
static vtkUnstructuredGridMapper * New()
void UpdateGenerateDataTime()
vtkUnstructuredGridVolumeRayCastMapper * m_VtkVolumeRayCastMapper
int GetTimestep() const
Returns the current time step as calculated from the renderer.
void GenerateDataForRenderer(mitk::BaseRenderer *renderer) override
Generate the data needed for rendering into renderer.
Class for storing unstructured grids (vtkUnstructuredGrid)
virtual DataStorage::Pointer GetDataStorage() const
Class for nodes of the DataTree.