------------------------------------------------------------------------------
| 1332 | |
| 1333 | //------------------------------------------------------------------------------ |
| 1334 | void vtkOSPRayPolyDataMapperNode::Render(bool prepass) |
| 1335 | { |
| 1336 | if (prepass) |
| 1337 | { |
| 1338 | // we use a lot of params from our parent |
| 1339 | vtkOSPRayActorNode* aNode = vtkOSPRayActorNode::SafeDownCast(this->Parent); |
| 1340 | vtkActor* act = vtkActor::SafeDownCast(aNode->GetRenderable()); |
| 1341 | |
| 1342 | if (act->GetVisibility() == false) |
| 1343 | { |
| 1344 | return; |
| 1345 | } |
| 1346 | |
| 1347 | vtkOSPRayRendererNode* orn = |
| 1348 | static_cast<vtkOSPRayRendererNode*>(this->GetFirstAncestorOfType("vtkOSPRayRendererNode")); |
| 1349 | |
| 1350 | // if there are no changes, just reuse last result |
| 1351 | vtkMTimeType inTime = aNode->GetMTime(); |
| 1352 | if (this->RenderTime >= inTime) |
| 1353 | { |
| 1354 | this->RenderGeometricModels(); |
| 1355 | return; |
| 1356 | } |
| 1357 | this->RenderTime = inTime; |
| 1358 | this->ClearGeometricModels(); |
| 1359 | |
| 1360 | vtkPolyData* poly = nullptr; |
| 1361 | vtkPolyDataMapper* mapper = vtkPolyDataMapper::SafeDownCast(act->GetMapper()); |
| 1362 | if (mapper && mapper->GetNumberOfInputPorts() > 0) |
| 1363 | { |
| 1364 | poly = mapper->GetInput(); |
| 1365 | } |
| 1366 | if (poly) |
| 1367 | { |
| 1368 | vtkProperty* property = act->GetProperty(); |
| 1369 | double ambient[3]; |
| 1370 | double diffuse[3]; |
| 1371 | property->GetAmbientColor(ambient); |
| 1372 | property->GetDiffuseColor(diffuse); |
| 1373 | this->ORenderPoly( |
| 1374 | orn->GetORenderer(), aNode, poly, ambient, diffuse, property->GetOpacity(), ""); |
| 1375 | } |
| 1376 | this->RenderGeometricModels(); |
| 1377 | } |
| 1378 | } |
| 1379 | |
| 1380 | //---------------------------------------------------------------------------- |
| 1381 | void vtkOSPRayPolyDataMapperNode::RenderGeometricModels() |
nothing calls this directly
no test coverage detected