MCPcopy Create free account
hub / github.com/Kitware/VTK / SetCroppingRegions

Method SetCroppingRegions

Rendering/VolumeOpenGL2/vtkOpenGLGPUVolumeRayCastMapper.cxx:1280–1340  ·  view source on GitHub ↗

------------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

1278
1279//------------------------------------------------------------------------------
1280void vtkOpenGLGPUVolumeRayCastMapper::vtkInternal::SetCroppingRegions(
1281 vtkShaderProgram* prog, double loadedBounds[6])
1282{
1283 if (this->Parent->GetCropping())
1284 {
1285 int cropFlags = this->Parent->GetCroppingRegionFlags();
1286 double croppingRegionPlanes[6];
1287 this->Parent->GetCroppingRegionPlanes(croppingRegionPlanes);
1288
1289 // Clamp it
1290 croppingRegionPlanes[0] =
1291 croppingRegionPlanes[0] < loadedBounds[0] ? loadedBounds[0] : croppingRegionPlanes[0];
1292 croppingRegionPlanes[0] =
1293 croppingRegionPlanes[0] > loadedBounds[1] ? loadedBounds[1] : croppingRegionPlanes[0];
1294 croppingRegionPlanes[1] =
1295 croppingRegionPlanes[1] < loadedBounds[0] ? loadedBounds[0] : croppingRegionPlanes[1];
1296 croppingRegionPlanes[1] =
1297 croppingRegionPlanes[1] > loadedBounds[1] ? loadedBounds[1] : croppingRegionPlanes[1];
1298
1299 croppingRegionPlanes[2] =
1300 croppingRegionPlanes[2] < loadedBounds[2] ? loadedBounds[2] : croppingRegionPlanes[2];
1301 croppingRegionPlanes[2] =
1302 croppingRegionPlanes[2] > loadedBounds[3] ? loadedBounds[3] : croppingRegionPlanes[2];
1303 croppingRegionPlanes[3] =
1304 croppingRegionPlanes[3] < loadedBounds[2] ? loadedBounds[2] : croppingRegionPlanes[3];
1305 croppingRegionPlanes[3] =
1306 croppingRegionPlanes[3] > loadedBounds[3] ? loadedBounds[3] : croppingRegionPlanes[3];
1307
1308 croppingRegionPlanes[4] =
1309 croppingRegionPlanes[4] < loadedBounds[4] ? loadedBounds[4] : croppingRegionPlanes[4];
1310 croppingRegionPlanes[4] =
1311 croppingRegionPlanes[4] > loadedBounds[5] ? loadedBounds[5] : croppingRegionPlanes[4];
1312 croppingRegionPlanes[5] =
1313 croppingRegionPlanes[5] < loadedBounds[4] ? loadedBounds[4] : croppingRegionPlanes[5];
1314 croppingRegionPlanes[5] =
1315 croppingRegionPlanes[5] > loadedBounds[5] ? loadedBounds[5] : croppingRegionPlanes[5];
1316
1317 float cropPlanes[6] = { static_cast<float>(croppingRegionPlanes[0]),
1318 static_cast<float>(croppingRegionPlanes[1]), static_cast<float>(croppingRegionPlanes[2]),
1319 static_cast<float>(croppingRegionPlanes[3]), static_cast<float>(croppingRegionPlanes[4]),
1320 static_cast<float>(croppingRegionPlanes[5]) };
1321
1322 prog->SetUniform1fv("in_croppingPlanes", 6, cropPlanes);
1323 constexpr int numberOfRegions = 32;
1324 int cropFlagsArray[numberOfRegions];
1325 cropFlagsArray[0] = 0;
1326 int i = 1;
1327 while (cropFlags && i < 32)
1328 {
1329 cropFlagsArray[i] = cropFlags & 1;
1330 cropFlags = cropFlags >> 1;
1331 ++i;
1332 }
1333 for (; i < 32; ++i)
1334 {
1335 cropFlagsArray[i] = 0;
1336 }
1337

Callers 1

Calls 5

GetCroppingMethod · 0.80
SetUniform1fvMethod · 0.45
SetUniform1ivMethod · 0.45

Tested by

no test coverage detected