Medical Imaging Interaction Toolkit  2018.4.99-389bf124
Medical Imaging Interaction Toolkit
mitkRegistrationWrapperMapper2D.cpp
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 
14 #include <vtkPropAssembly.h>
15 #include <vtkPointData.h>
16 #include <vtkProperty.h>
17 #include <vtkCellArray.h>
18 
19 #include <mitkProperties.h>
20 #include <mitkExceptionMacro.h>
21 #include <mitkException.h>
22 
25 #include "mitkRegVisHelper.h"
26 
28 {
29 
30 }
31 
32 
34 {
35 
36 }
37 
39 {
40  return (time < renderer->GetCurrentWorldPlaneGeometryUpdateTime()) //was the geometry modified?
41  || (time < renderer->GetCurrentWorldPlaneGeometry()->GetMTime());
42 }
43 
45 {
47 
48  if( ( worldGeometry.IsNull() ) || ( !worldGeometry->IsValid() ) || ( !worldGeometry->HasReferenceGeometry() ))
49  {
50  return false;
51  }
52 
53  mitk::PlaneGeometry::Pointer newDesc = worldGeometry->Clone();
54 
55  mitk::Geometry3D::Pointer dummyDesc;
56  mitk::GetGridGeometryFromNode(this->GetDataNode(), dummyDesc, gridFrequ);
57 
58  mitk::Vector3D spacing = worldGeometry->GetSpacing();
59  spacing[0] = dummyDesc->GetSpacing()[0];
60  spacing[1] = dummyDesc->GetSpacing()[1];
61 
62  mitk::Geometry3D::BoundsArrayType bounds = newDesc->GetBounds();
63  bounds[1] *= (newDesc->GetSpacing()[0]/spacing[0]);
64  bounds[3] *= (newDesc->GetSpacing()[1]/spacing[1]);
65  newDesc->SetBounds(bounds);
66  newDesc->SetSpacing(spacing);
67 
68 
69  gridDesc = newDesc;
70 
71  return true;
72 };
73 
void GetGridGeometryFromNode(const mitk::DataNode *regNode, mitk::Geometry3D::Pointer &gridDesc, unsigned int &gridFrequ)
BoundingBoxType::BoundsArrayType BoundsArrayType
virtual DataNode * GetDataNode() const
Get the DataNode containing the data to map. Method only returns valid DataNode Pointer if the mapper...
Definition: mitkMapper.cpp:31
Organizes the rendering process.
virtual const PlaneGeometry * GetCurrentWorldPlaneGeometry()
Get the current 2D-worldgeometry (m_CurrentWorldPlaneGeometry) used for 2D-rendering.
bool RendererGeometryIsOutdated(mitk::BaseRenderer *renderer, const itk::TimeStamp &time) const override
bool GetGeometryDescription(mitk::BaseRenderer *renderer, mitk::BaseGeometry::ConstPointer &gridDesc, unsigned int &gridFrequ) const override