| 121 | } |
| 122 | |
| 123 | void mitk::SurfaceVtkMapper2D::Update(mitk::BaseRenderer *renderer) |
| 124 | { |
| 125 | const mitk::DataNode *node = GetDataNode(); |
| 126 | |
| 127 | if (node == nullptr) |
| 128 | { |
| 129 | this->ResetMapper(renderer); |
| 130 | return; |
| 131 | } |
| 132 | |
| 133 | bool visible = true; |
| 134 | node->GetVisibility(visible, renderer, "visible"); |
| 135 | |
| 136 | if (!visible) |
| 137 | { |
| 138 | this->ResetMapper(renderer); |
| 139 | return; |
| 140 | } |
| 141 | |
| 142 | auto *surface = static_cast<mitk::Surface *>(node->GetData()); |
| 143 | |
| 144 | if (surface == nullptr) |
| 145 | { |
| 146 | this->ResetMapper(renderer); |
| 147 | return; |
| 148 | } |
| 149 | |
| 150 | const auto* worldGeometry = renderer->GetWorldTimeGeometry(); |
| 151 | const auto timeBounds = worldGeometry->GetTimeBounds(renderer->GetTimeStep()); |
| 152 | |
| 153 | if (!surface->GetTimeGeometry()->IsValidTimePoint(timeBounds[0])) |
| 154 | { |
| 155 | this->ResetMapper(renderer); |
| 156 | return; |
| 157 | } |
| 158 | |
| 159 | // Calculate time step of the input data for the specified renderer (integer value) |
| 160 | this->CalculateTimeStep(renderer); |
| 161 | |
| 162 | surface->UpdateOutputInformation(); |
| 163 | LocalStorage *localStorage = m_LSH.GetLocalStorage(renderer); |
| 164 | localStorage->m_PropAssembly->VisibilityOn(); |
| 165 | |
| 166 | // check if something important has changed and we need to rerender |
| 167 | if ((localStorage->m_LastUpdateTime < node->GetMTime()) // was the node modified? |
| 168 | || |
| 169 | (localStorage->m_LastUpdateTime < surface->GetPipelineMTime()) // Was the data modified? |
| 170 | || |
| 171 | (localStorage->m_LastUpdateTime < |
| 172 | renderer->GetCurrentWorldPlaneGeometryUpdateTime()) // was the geometry modified? |
| 173 | || |
| 174 | (localStorage->m_LastUpdateTime < renderer->GetCurrentWorldPlaneGeometry()->GetMTime()) || |
| 175 | (localStorage->m_LastUpdateTime < node->GetPropertyList()->GetMTime()) // was a property modified? |
| 176 | || |
| 177 | (localStorage->m_LastUpdateTime < node->GetPropertyList(renderer)->GetMTime())) |
| 178 | { |
| 179 | this->GenerateDataForRenderer(renderer); |
| 180 | } |
no test coverage detected