13 #ifndef mitkRenderingManager_h
14 #define mitkRenderingManager_h
18 #include <vtkCallbackCommand.h>
20 #include <itkObject.h>
21 #include <itkObjectFactory.h>
28 class vtkRenderWindow;
33 class RenderingManagerFactory;
35 class TimeNavigationController;
87 REQUEST_UPDATE_ALL = 0,
89 REQUEST_UPDATE_3DWINDOWS
160 bool resetCamera =
true);
183 bool resetCamera =
true);
206 bool resetCamera =
true);
237 bool resetCamera =
true);
254 bool resetCamera =
true);
283 itkSetMacro(LODIncreaseBlocked,
bool);
286 itkGetMacro(LODIncreaseBlocked,
bool);
289 itkBooleanMacro(LODIncreaseBlocked);
292 itkSetMacro(LODAbortMechanismEnabled,
bool);
295 itkGetMacro(LODAbortMechanismEnabled,
bool);
298 itkBooleanMacro(LODAbortMechanismEnabled);
360 itkGetMacro(FocusedRenderWindow, vtkRenderWindow *);
363 itkGetConstMacro(ConstrainedPanningZooming,
bool);
371 RENDERING_INACTIVE = 0,
416 vtkCallbackCommand *commands[3u];
454 void InternalViewInitialization(
BaseRenderer *baseRenderer,
456 bool boundingBoxInitialized,
467 bool ExtendGeometryForBoundingBox(
const TimeGeometry* originalGeometry, TimeGeometry::Pointer& modifiedGeometry);
469 vtkRenderWindow *m_FocusedRenderWindow;
473 #pragma GCC visibility push(default)
478 #pragma GCC visibility pop
493 itkFactorylessNewMacro(Self);
BaseGeometry Describes the geometry of a data object.
Abstract base class for properties.
Data management class that handles 'was created by' relations.
Factory interface for facilitating the usage of a platform-specific mitk::RenderingManager instance.
Manager for coordinating the rendering process.
void SetShadingValues(float ambient, float diffuse, float specular, float specpower)
itk::SmartPointer< DataStorage > DataStoragePointer
void SetMaximumLOD(unsigned int max)
void SetAntiAliasing(AntiAliasing antiAliasing)
virtual void DoMonitorRendering()
virtual void ExecutePendingRequests()
BaseProperty * GetProperty(const char *propertyKey) const
itk::SmartPointer< TimeNavigationController > m_TimeNavigationController
void ExecutePendingHighResRenderingRequest()
void SetClippingPlaneStatus(bool status)
bool m_ClippingPlaneEnabled
PropertyList::Pointer m_PropertyList
void RequestUpdate(vtkRenderWindow *renderWindow)
virtual void InitializeViewByBoundingObjects(vtkRenderWindow *renderWindow, const DataStorage *dataStorage, bool resetCamera=true)
Initialize the given render window by the aggregated geometry of all objects that are held in the dat...
virtual bool InitializeViews(const BaseGeometry *geometry, RequestType type=REQUEST_UPDATE_ALL, bool resetCamera=true)
Initialize the render windows specified by "type" to the given geometry.
virtual void StartOrResetTimer()
RenderWindowList m_RenderWindowList
bool GetClippingPlaneStatus()
TimeNavigationController * GetTimeNavigationController()
bool m_LODIncreaseBlocked
mitkClassMacroItkParent(RenderingManager, itk::Object)
virtual bool InitializeViews(RequestType type=REQUEST_UPDATE_ALL)
Initialize the render windows specified by "type" to the default viewing direction without updating t...
static RenderingManagerFactory * s_RenderingManagerFactory
static bool IsInstantiated()
DataStoragePointer m_DataStorage
const RenderWindowVector & GetAllRegisteredRenderWindows()
RendererBoolMap m_RenderingAbortedMap
virtual void GenerateRenderingRequestEvent()=0
std::vector< float > FloatVector
virtual void InitializeViewsByBoundingObjects(const DataStorage *dataStorage)
Initialize the render windows by the aggregated geometry of all objects that are held in the data sto...
bool GetShading(unsigned int lod)
const TimeNavigationController * GetTimeNavigationController() const
RenderWindowVector m_AllRenderWindows
void RemoveRenderWindow(vtkRenderWindow *renderWindow)
static void RenderingProgressCallback(vtkObject *caller, unsigned long eid, void *clientdata, void *calldata)
virtual void DoFinishAbortRendering()
static RenderingManager * GetInstance()
FloatVector m_ShadingValues
void SetRenderWindowFocus(vtkRenderWindow *focusWindow)
Sets a flag to the given renderwindow to indicated that it has the focus e.g. has been clicked recent...
std::vector< vtkRenderWindow * > RenderWindowVector
@ REQUEST_UPDATE_2DWINDOWS
std::map< vtkRenderWindow *, RenderWindowCallbacks > RenderWindowCallbacksList
virtual bool InitializeViews(const TimeGeometry *geometry, RequestType type=REQUEST_UPDATE_ALL, bool resetCamera=true)
Initialize the render windows specified by "type" to the given geometry.
static const RenderingManagerFactory * GetFactory()
void SetShading(bool state, unsigned int lod)
void ForceImmediateUpdate(vtkRenderWindow *renderWindow)
void SetProperty(const char *propertyKey, BaseProperty *propertyValue)
static void RenderingEndCallback(vtkObject *caller, unsigned long eid, void *clientdata, void *calldata)
RenderWindowCallbacksList m_RenderWindowCallbacksList
PropertyList::Pointer GetPropertyList() const
RendererIntMap m_NextLODMap
virtual bool InitializeView(vtkRenderWindow *renderWindow, const BaseGeometry *geometry, bool resetCamera=true)
Initialize the specified render window to the given geometry.
void AddRenderWindow(vtkRenderWindow *renderWindow)
void ForceImmediateUpdateAll(RequestType type=REQUEST_UPDATE_ALL)
~RenderingManager() override
void RequestUpdateAll(RequestType type=REQUEST_UPDATE_ALL)
bool m_ConstrainedPanningZooming
void SetDataStorage(DataStorage *storage)
Setter for internal DataStorage.
virtual bool InitializeView(vtkRenderWindow *renderWindow)
Initialize the specified render window to the default viewing direction without updating the geometry...
FloatVector & GetShadingValues()
BoolVector m_ShadingEnabled
static void RenderingStartCallback(vtkObject *caller, unsigned long eid, void *clientdata, void *calldata)
void SetConstrainedPanningZooming(bool constrain)
std::map< BaseRenderer *, bool > RendererBoolMap
bool m_LODAbortMechanismEnabled
std::vector< bool > BoolVector
virtual bool InitializeView(vtkRenderWindow *renderWindow, const TimeGeometry *geometry, bool resetCamera=true)
Initialize the specified render window to the given geometry.
std::map< BaseRenderer *, unsigned int > RendererIntMap
virtual void DoStartRendering()
static RenderingManager::Pointer s_Instance
std::map< vtkRenderWindow *, int > RenderWindowList
int GetNextLOD(BaseRenderer *renderer)
virtual void InitializePropertyList()
static void SetFactory(RenderingManagerFactory *factory)
mitkClassMacro(TestingRenderingManager, RenderingManager)
void GenerateRenderingRequestEvent() override
Controls the time-related properties of the time stepper, according to the given input world time geo...
Find image slices visible on a given plane.
itkEventMacroDeclaration(BoundingShapeInteractionEvent, itk::AnyEvent)