ATLAS Offline Software
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
VolVisAttributes Class Reference

#include <VisAttributes.h>

Inheritance diagram for VolVisAttributes:
Collaboration diagram for VolVisAttributes:

Public Member Functions

 VolVisAttributes ()
 
void init ()
 
SoMaterial * get (const std::string &name) const
 
void overrideTransparencies (float transpfact)
 
QByteArray getState (bool onlyChangedMaterials=true)
 
void applyState (QByteArray)
 

Protected Member Functions

void add (const std::string &name, SoMaterial *)
 
void setColorFromRGB (SoMaterial *mat, const std::string &type, const int r, const int g, const int b)
 

Private Member Functions

float getValFromRGB (const int rgb)
 

Private Attributes

Impm_d
 

Detailed Description

Definition at line 71 of file VisAttributes.h.

Constructor & Destructor Documentation

◆ VolVisAttributes()

VolVisAttributes::VolVisAttributes ( )

Definition at line 1222 of file VisAttributes.cxx.

1222  {
1223 
1224  // WARM CYLINDER
1225  {
1226  SoMaterial *m = new SoMaterial;
1227  m->ambientColor.setValue(1, .4, .4);
1228  m->diffuseColor.setValue(1, .4, .4);
1229  m->specularColor.setValue(0.441667, 0.441667, 0.441667);
1230  m->shininess.setValue(0.67);
1231  add( "LAr::Barrel::Cryostat::Cylinder::#4",m);
1232  add( "LAr::Barrel::Cryostat::Cylinder::#5",m);
1233  add( "LAr::Barrel::Cryostat::Cylinder::#6",m);
1234  add( "LAr::Barrel::Cryostat::Cylinder::#7",m);
1235  add( "LAr::Barrel::Cryostat::Cylinder::#8",m);
1236  add( "LAr::Barrel::Cryostat::Cylinder::#9",m);
1237  add( "LAr::Barrel::Cryostat::InnerWall",m);
1238  add( "LAr::Barrel::Cryostat::InnerEndWall",m);
1239  add( "LAr::Barrel::Cryostat::Leg",m);
1240  }
1241 
1242  {
1243  // WARM CYLINDER
1244  SoMaterial *m = new SoMaterial;
1245  m->ambientColor.setValue(.4, .4, 1);
1246  m->diffuseColor.setValue(.4, .4, 1);
1247  m->specularColor.setValue(0.441667, 0.441667, 0.441667);
1248  m->shininess.setValue(0.67);
1249  add( "LAr::Barrel::Cryostat::Cylinder::#0",m);
1250  add( "LAr::Barrel::Cryostat::Cylinder::#1",m);
1251  add( "LAr::Barrel::Cryostat::Cylinder::#2",m);
1252  add( "LAr::Barrel::Cryostat::Cylinder::#3",m);
1253  add( "LAr::Barrel::Cryostat::Ear",m);
1254  add( "LAr::Barrel::Cryostat::OuterWall",m);
1255  }
1256 
1257  {
1258  SoMaterial *m = new SoMaterial;
1259  m->diffuseColor.setValue (1, 1, 0.5);
1260  m->ambientColor.setValue (0.54, 0.54, 0.27);
1261  m->emissiveColor.setValue (0.133, 0.133, 0.067);
1262  add("bcmModLog",m);
1263  add("bcmWallLog",m);
1264  }
1265 
1266 
1267 
1268  {
1269  // Cutout - EMEC
1270  SoMaterial *m = new SoMaterial;
1271  //setColorFromRGB(m, "diffuse", 255, 190, 11); // ffbe0b - Mango (lighter)
1272  setColorFromRGB(m, "diffuse",245, 180, 0); // F5B400 - Selective Yellow (darker)
1273  m->shininess.setValue(0.67);
1274  add( "LAr::EMEC::Mother",m);
1275  }
1276  {
1277  // Cutout - HEC
1278  SoMaterial *m = new SoMaterial;
1279  setColorFromRGB(m, "diffuse", 47, 25, 95); // 2f195f - Russian Violet (darker)
1280  //setColorFromRGB(m, "diffuse",56, 30, 113); // 381E71 - Persian Indigo (lighter)
1281  m->shininess.setValue(0.67);
1282  add( "LAr::HEC::LiquidArgon",m);
1283  }
1284  {
1285  // Cutout - FCAL
1286  SoMaterial *m = new SoMaterial;
1287  setColorFromRGB(m, "diffuse", 246, 247, 64); // f6f740 - Maximum Yellow
1288  m->shininess.setValue(0.67);
1289  add( "LAr::FCAL::LiquidArgonC",m);
1290  add( "LAr::FCAL::LiquidArgonA",m);
1291  }
1292 
1293  {
1294  // Cutout - TRT
1295  SoMaterial *m = new SoMaterial;
1296  setColorFromRGB(m, "diffuse", 114, 83, 143); // 72538F - Royal Purple
1297  m->shininess.setValue(0.67);
1298  add( "TRTEndcapWheelAB",m);
1299  add( "TRTBarrel",m);
1300  }
1301 
1302  {
1303  // Cutout - SCT
1304  SoMaterial *m = new SoMaterial;
1305  //setColorFromRGB(m, "diffuse", 80, 255, 177); // 50FFB1 - Medium Spring Green
1306  setColorFromRGB(m, "diffuse", 170, 255, 255); // AAFFFF - Celeste
1307  m->shininess.setValue(0.67);
1308  add( "SCT_Barrel",m);
1309  add( "SCT_ForwardA",m);
1310  add( "SCT_ForwardC",m);
1311  }
1312 
1313  // Detailed Muon View for Run3 Detector Paper
1314  // RPC layers
1315  {
1316  SoMaterial *m = new SoMaterial;
1317  setColorFromRGB(m, "diffuse", 61, 52, 139); // 3D348B - Dark Slate Blue
1318  m->shininess.setValue(0.67);
1319  //add( "RPC_AL_extsuppanel",m); // WIP
1320  add( "Rpclayer",m);
1321  }
1322 
1323  // Adding ITk colors
1324  // ITk Pixel sensors
1325  {
1326  SoMaterial *m = new SoMaterial;
1327  setColorFromRGB(m, "diffuse", 81, 163, 119);
1328  setColorFromRGB(m, "ambient", 0, 40, 48);
1329  setColorFromRGB(m, "specular", 255, 255, 255);
1330  setColorFromRGB(m, "emissive", 0, 0, 0);
1331  m->shininess.setValue(0.5);
1332 
1333  // innermost pixel barrel layer
1334  add( "InnerBarrelSingleMod_Sensor",m);
1335  add( "InnerBarrelSingleMod_DeadVolume",m);
1336  add( "InnerBarrelSingleMod_Chip",m);
1337  add( "InnerBarrelSingleMod_Bonding",m);
1338  // next-to-innermost pixel barrel layer
1339  add( "InnerBarrelQuadMod_Sensor",m);
1340  add( "InnerRingSingleMod_Chip",m);
1341  // innermost pixel endcap layer
1342  add( "InnerRingSingleMod_Sensor",m);
1343  add( "InnerRingSingleMod_Bonding",m);
1344  // next-to-innermost pixel endcap layer
1345  add( "InnerEndcapQuadMod_Sensor",m);
1346  // next-to-innermost pixel layers
1347  add( "InnerQuadMod_Chip",m);
1348  add( "InnerQuadMod_Bonding",m);
1349  // outer pixel barrel layers
1350  add( "OuterBarrelQuadMod_Sensor",m);
1351  add( "InclinedQuadMod_Sensor",m);
1352  // outer pixel endcap layers
1353  add( "OuterEndcapQuadMod_Sensor",m);
1354  // outer pixel layers
1355  add( "OuterQuadMod_Chip",m);
1356  add( "OuterQuadMod_Bonding",m);
1357 
1358  }
1359 
1360  // ITk Strip sensors
1361  {
1362  SoMaterial *m = new SoMaterial;
1363  setColorFromRGB(m, "diffuse", 54, 163, 255);
1364  setColorFromRGB(m, "ambient", 0, 0, 0);
1365  setColorFromRGB(m, "specular", 0, 0, 0);
1366  setColorFromRGB(m, "emissive", 37, 74, 111);
1367 
1368  // strip barrel
1369  add( "BRLSensorSS",m);
1370  add( "BRLSensorMS",m);
1371 
1372  // strip endcap
1373  add( "ECSensor0",m);
1374  add( "ECSensor1",m);
1375  add( "ECSensor2",m);
1376  add( "ECSensor3",m);
1377  add( "ECSensor4",m);
1378  add( "ECSensor5",m);
1379 
1380  add( "ECSensorBack0",m);
1381  add( "ECSensorBack1",m);
1382  add( "ECSensorBack2",m);
1383  add( "ECSensorBack3",m);
1384  add( "ECSensorBack4",m);
1385  add( "ECSensorBack5",m);
1386 
1387  }
1388 
1389  // ITk Pixel services
1390  {
1391  SoMaterial *m = new SoMaterial;
1392  setColorFromRGB(m, "diffuse", 81, 163, 119);
1393  setColorFromRGB(m, "ambient", 0, 40, 48);
1394  setColorFromRGB(m, "specular", 255, 255, 255);
1395  setColorFromRGB(m, "emissive", 0, 0, 0);
1396  m->shininess.setValue(0.5);
1397 
1398  m->transparency.setValue(0.6);
1399 
1400  // pigtails and flexes
1401  // innermost pixel barrel layer
1402  add( "InnerBarrelSingleMod_Pigtail",m);
1403  // next-to-innermost pixel layers
1404  add( "InnerQuadMod_QuadPigtail",m);
1405  add( "InnerQuadMod_QuadFlex",m);
1406  // outer pixel layers
1407  add( "OuterQuadMod_QuadFlex",m);
1408 
1409  // Services and cooling
1410  // inner pixel system
1411  add( "InnerPixelBarrel_T0",m);
1412  add( "InnerPixEndcap_L0T0Back_ring",m);
1413  add( "InnerPixEndcap_L1T0Front_ring",m);
1414  add( "InnerPixEndcap_L1T0Back_ring",m);
1415  add( "InnerPixEndcap_L2T0Front_ring",m);
1416  add( "InnerPixEndcap_L2T0Back_ring",m);
1417  // outer pixel system
1418  add( "L2HalfRingEndCapBusTapeRing",m);
1419  add( "L3HalfRingEndCapBusTapeRing",m);
1420  add( "L4endcapBusTape",m);
1421 
1422  // other types and endcaps
1423  unsigned int sectors = 9;
1424  std::vector<unsigned int> layers = {2, 3, 4};
1425  for (auto& layer : layers) {
1426  for (unsigned int sector = 0; sector<sectors; sector++) {
1427  std::string volumeName = "Pixel__ModuleSvcM" + std::to_string(sectors-sector) + "_L" + std::to_string(layer) + "_S" + std::to_string(sector);
1428  add( volumeName,m);
1429  }
1430  }
1431  add( "PixelSvcBrlT1_L2",m);
1432  add( "PixelSvcBrlT1_L3",m);
1433  add( "PixelSvcBrlT1_L4in",m);
1434  add( "PixelSvcBrlT1_L4out",m);
1435  for (unsigned int sector = 0; sector<sectors; sector++) {
1436  std::string volumeName = "PixelSvcBrlT1_Radial" + std::to_string(sectors-sector);
1437  add( volumeName,m);
1438  }
1439 
1440  add( "svcEcT1_r199_z103",m);
1441  add( "svcEcT1_r199_z116",m);
1442  add( "svcEcT1_r199_z127",m);
1443  add( "svcEcT1_r199_z141",m);
1444  add( "svcEcT1_r199_z1366",m);
1445  add( "svcEcT1_r198_z172",m);
1446  add( "svcEcT1_r198_z190",m);
1447  add( "svcEcT1_r198_z210",m);
1448  add( "svcEcT1_r198_z232",m);
1449  add( "svcEcT1_r198_z257",m);
1450  add( "svcEcT1_r198_z149",m);
1451 
1452  add( "svcEcT1_r259_z151",m);
1453  add( "svcEcT1_r259_z176",m);
1454  add( "svcEcT1_r259_z203",m);
1455  add( "svcEcT1_r259_z234",m);
1456  add( "svcEcT1_r259_z270",m);
1457  add( "svcEcT1_r259_z311",m);
1458  add( "svcEcT1_r259_z359",m);
1459  add( "svcEcT1_r259_z149",m);
1460 
1461  add( "svcEcT1_r319_z131",m);
1462  add( "svcEcT1_r319_z150",m);
1463  add( "svcEcT1_r319_z170",m);
1464  add( "svcEcT1_r319_z192",m);
1465  add( "svcEcT1_r319_z218",m);
1466  add( "svcEcT1_r319_z246",m);
1467  add( "svcEcT1_r319_z746",m);
1468  add( "svcEcT1_r318_z317",m);
1469  add( "svcEcT1_r318_z149",m);
1470 
1471  add( "SvcEcT0TwdBS_r156_199_z.5",m);
1472  add( "SvcEcT0TwdBS_r156_198_z.5",m);
1473  add( "SvcEcT0TwdBS_r199_199_z.5",m);
1474  add( "SvcEcT0TwdBS_r216_259_z.5",m);
1475  add( "SvcEcT0TwdBS_r276_319_z.5",m);
1476  add( "SvcEcT0TwdBS_r276_318_z.5",m);
1477  add( "SvcEcT0TwdBS_r318_319_z.5",m);
1478 
1479  add( "SvcEc_r196.7_197.1_z78.6",m);
1480  add( "SvcEc_r196.7_197.1_z97.6",m);
1481  add( "SvcEc_r196.7_197.1_z121.2",m);
1482  add( "SvcEc_r196.7_197.1_z150.3",m);
1483  add( "SvcEc_r196.7_197.1_z186.7",m);
1484  add( "SvcEc_r196.7_197.1_z23.3",m);
1485  add( "SvcEc_r337.8_338.2_z1939.2",m);
1486 
1487 
1488  add( "SvcEc_r264.4_264.8_z58.1",m);
1489  add( "SvcEc_r264.4_264.8_z66.6",m);
1490  add( "SvcEc_r264.4_264.8_z76.4",m);
1491  add( "SvcEc_r264.4_264.8_z87.5",m);
1492  add( "SvcEc_r264.4_264.8_z100.3",m);
1493  add( "SvcEc_r264.4_264.8_z115",m);
1494  add( "SvcEc_r264.4_264.8_z131.9",m);
1495  add( "SvcEc_r264.4_264.8_z30.9",m);
1496  add( "SvcEc_r338.8_339.2_z1937.2",m);
1497 
1498  add( "SvcEc_r327.3_327.7_z52.7",m);
1499  add( "SvcEc_r327.3_327.7_z58.8",m);
1500  add( "SvcEc_r327.3_327.7_z65.6",m);
1501  add( "SvcEc_r327.3_327.7_z73.1",m);
1502  add( "SvcEc_r327.3_327.7_z81.7",m);
1503  add( "SvcEc_r327.3_327.7_z91.1",m);
1504  add( "SvcEc_r327.3_327.7_z101.6",m);
1505  add( "SvcEc_r327.3_327.7_z113.4",m);
1506  add( "SvcEc_r327.3_327.7_z34.7",m);
1507  add( "SvcEc_r339.8_340.2_z1935.2",m);
1508 
1509  add( "SvcEc_r197.1_202.8_z.4",m);
1510  add( "SvcEc_r203.2_263.4_z.4",m);
1511  add( "SvcEc_r264.8_270.8_z.4",m);
1512  add( "SvcEc_r271.2_326.3_z.4",m);
1513  add( "SvcEc_r326.7_327.3_z.4",m);
1514  add( "SvcEc_r327.7_333.8_z.4",m);
1515  add( "SvcEc_r334.2_337.3_z.4",m);
1516  add( "SvcEc_r337.7_337.8_z.4",m);
1517  add( "SvcEc_r338.2_338.3_z.4",m);
1518  add( "SvcEc_r338.7_338.8_z.4",m);
1519  add( "SvcEc_r339.2_339.3_z.4",m);
1520  add( "SvcEc_r339.7_339.8_z.4",m);
1521 
1522 
1523  // cooling (when separated from services)
1524  // inner pixel system
1525  add( "InnerPixelBarrelCoolingL0",m);
1526  add( "InnerPixelBarrelCoolingL1",m);
1527  // outer pixel system
1528  add( "OuterQuadMod_Cell",m);
1529  add( "LongeronCoolingTube",m);
1530  add( "L2HalfRingCoolingPipe",m);
1531  add( "L3HalfRingCoolingPipe",m);
1532  add( "L4endcapcoolingpipe",m);
1533 
1534  }
1535 
1536  // ITk Strip services
1537  {
1538  SoMaterial *m = new SoMaterial;
1539  setColorFromRGB(m, "diffuse", 28, 55, 83);
1540  setColorFromRGB(m, "ambient", 0, 0, 0);
1541  setColorFromRGB(m, "specular", 0, 0, 0);
1542  setColorFromRGB(m, "emissive", 0, 87, 127);
1543  m->transparency.setValue(0.5);
1544 
1545  add ("SV_Barrel01",m);
1546  add ("SV_Barrel12",m);
1547  add ("SV_Barrel23",m);
1548  add ("SV_Barrel3Out",m);
1549  add ("SV_BarrelPastEndcap",m);
1550  add ("SV_BarrelAtEC_lv",m);
1551  add ("SV_Barrel_lv",m);
1552  add ("SV_Endcap_lv",m);
1553  add ("SV_Endcap01",m);
1554  add ("SV_Endcap12",m);
1555  add ("SV_Endcap23",m);
1556  add ("SV_Endcap34",m);
1557  add ("SV_Endcap45",m);
1558  add ("SV_Endcap5Out",m);
1559  add( "SVatBulkhead_lv",m);
1560 
1561  add( "SVatBulkhead_lv",m);
1562  add( "StaveSignalSS",m);
1563  add( "StaveGround",m);
1564 
1565  }
1566 
1567  // ITk Pixel support structures
1568  {
1569  SoMaterial *m = new SoMaterial;
1570  setColorFromRGB(m, "diffuse", 81, 163, 119);
1571  setColorFromRGB(m, "ambient", 0, 40, 48);
1572  setColorFromRGB(m, "specular", 255, 255, 255);
1573  setColorFromRGB(m, "emissive", 0, 0, 0);
1574  m->shininess.setValue(0.5);
1575 
1576  m->transparency.setValue(0.6);
1577  // inner pixel system
1578  add( "IPTvol",m);
1579  add( "ISTvol",m);
1580  add( "InnerPixBarrelSupport_Stave",m);
1581  add( "InnerPixBarrelSupport_Stave1",m);
1582  add( "InnerPixBarrelSupport_Global",m);
1583  add( "InnerPixEndcap_CoupledRingSupport",m);
1584  add( "InnerPixEndcap_IntermediateRingSupport",m);
1585  add( "InnerPixEndcap_L1RingSupport",m);
1586  add( "QuarterShell",m);
1587  // outer pixel system
1588  add( "InclL2HalfShell",m);
1589  add( "InclL2Support",m);
1590  add( "InclL3HalfShell",m);
1591  add( "InclL3Support",m);
1592  add( "InclL4HalfShell",m);
1593  add( "InclL4Support",m);
1594  add( "LongeronCornerBase",m);
1595  add( "LongeronCornerEnd",m);
1596  add( "LongeronTrussWall",m);
1597  add( "LongeronCapBase",m);
1598  add( "LongeronTopCap",m);
1599  add( "L2HalfRingCarbonFoamInner",m);
1600  add( "L2HalfRingCarbonFoamOuter",m);
1601  add( "L2HalfRingFaceSheet",m);
1602  add( "L3HalfRingCarbonFoamInner",m);
1603  add( "L3HalfRingCarbonFoamOuter",m);
1604  add( "L3HalfRingFaceSheet",m);
1605  add( "L4endcapinnerCarbonFoam",m);
1606  add( "L4endcapouterCarbonFoam",m);
1607  add( "L4endcapFaceSheet",m);
1608  add( "L2HalfShell",m);
1609  add( "L3HalfShell",m);
1610  add( "L4HalfShell",m);
1611  add( "L2HalfRingEndCapFixingLug",m);
1612  add( "L3HalfRingEndCapFixingLug",m);
1613  add( "HalfRingEndCapFixingLug",m);
1614 
1615  // other supports still in the pixel volume
1616  add( "FrontSupportFacing",m);
1617  add( "FrontSupportCore",m);
1618  add( "RearSupport",m);
1619  }
1620 
1621  // ITk Strip support structures
1622  {
1623  SoMaterial *m = new SoMaterial;
1624  setColorFromRGB(m, "diffuse", 28, 55, 83);
1625  setColorFromRGB(m, "ambient", 0, 0, 0);
1626  setColorFromRGB(m, "specular", 0, 0, 0);
1627  setColorFromRGB(m, "emissive", 0, 87, 127);
1628  m->transparency.setValue(0.5);
1629 
1630  add( "StripB_Cyl0",m);
1631  add( "StripB_Cyl1",m);
1632  add( "StripB_Cyl2",m);
1633  add( "StripB_Cyl3",m);
1634  add( "StripB_Cyl4",m);
1635  add( "StaveCylHat0",m);
1636  add( "StaveCylHat1",m);
1637  add( "StaveCylHat2",m);
1638  add( "StaveCylHat3",m);
1639  add( "Flange0",m);
1640  add( "Flange1",m);
1641  add( "Flange2",m);
1642  add( "Flange3",m);
1643  add( "Interlink0",m);
1644  add( "Interlink1",m);
1645  add( "Interlink2",m);
1646  add( "Interlink3",m);
1647  add( "WheelInnerT",m);
1648  add( "WheelOuterT",m);
1649  add( "OC_Shell",m);
1650  add( "ZBraceI",m);
1651  add( "ZBraceO",m);
1652  add( "ECPSTube",m);
1653  add( "EC_InnerCyl",m);
1654  add( "OCFlangeTop",m);
1655  add( "OCFlangeFoot",m);
1656  add( "OCHatTop",m);
1657  add( "OCHatWall",m);
1658  add( "OCHatFoot",m);
1659  add( "PetalCore",m);
1660  add( "BladeFace",m);
1661  add( "BladeSideRod",m);
1662  add( "BladeCore",m);
1663  add( "LockBaseL",m);
1664  add( "LockBaseH",m);
1665  add( "RailWall",m);
1666  add( "RailWedge",m);
1667  add( "RailBolt",m);
1668  add( "RailWheel",m);
1669  add( "RailShelf",m);
1670  add( "RailSquare",m);
1671  add( "RailSquareT",m);
1672  add( "RailSquare1",m);
1673  add( "OCMountPadOuter",m);
1674  add( "OCMountPadMiddle",m);
1675  add( "OCMountPadInner",m);
1676  add( "ZtubeD0D1",m);
1677  add( "ZtubeD1D2",m);
1678  add( "ZtubeD2D3",m);
1679  add( "ZtubeD3D4",m);
1680  add( "ZtubeD4D5",m);
1681  add( "StiffDiscAve",m);
1682  add( "Bulkhead",m);
1683  add( "StaveFacesheetAll",m);
1684  add( "EOS",m);
1685  add( "StaveEOS_CFoam",m);
1686  add( "StaveBusGlue",m);
1687  add( "StaveCloseoutEOS_End",m);
1688  add( "StaveCoreMS",m);
1689  add( "StaveCoreSS",m);
1690  add( "StaveMountC",m);
1691  add( "StaveMountI",m);
1692  add( "StaveMountE",m);
1693 
1694  }
1695 
1696  // polymoderator
1697  {
1698  SoMaterial *m = new SoMaterial;
1699  setColorFromRGB(m, "diffuse", 143, 145, 145);
1700  setColorFromRGB(m, "ambient", 178, 184, 184);
1701  setColorFromRGB(m, "specular", 181, 122, 117);
1702  setColorFromRGB(m, "emissive", 0, 0, 0);
1703  m->shininess.setValue(1);
1704  add( "PolyMod",m);
1705  add( "PolyMod_InnerLayer",m);
1706  add( "InnerPolyMod",m);
1707  add( "InnerPolyMod_InnerLayer",m);
1708  }
1709 
1710 
1711  // volumes that don't need colors as they are made of air
1712  {
1713  SoMaterial *m = new SoMaterial;
1714  m->transparency.setValue(1.0);
1715  add( "StaveCchannelAirEOS",m);
1716  add( "StaveCchannelAirLong",m);
1717  add( "StaveCchannelAirLongEOS",m);
1718  add( "PetalCloseoutShortSpace",m);
1719  add( "PetalCloseoutLongSpace",m);
1720  }
1721 
1722  {
1723  SoMaterial *m = new SoMaterial;
1724  setColorFromRGB(m, "diffuse", 76, 76, 204);
1725  setColorFromRGB(m, "emissive", 53, 53, 141);
1726  m->transparency.setValue(0.7);
1727  add( "SealPlate",m);
1728  }
1729 
1730 
1731  init();
1732 }

Member Function Documentation

◆ add()

void VisAttributes::add ( const std::string &  name,
SoMaterial *  material 
)
protectedinherited

Definition at line 122 of file VisAttributes.cxx.

122  {
123  if (m_d->_map.find(name)!=m_d->_map.end()) {
124  std::cout<<"VisAttributes::add ERROR: Material " <<name<<" already added!"<<std::endl;
125  return;
126  }
127  material->ref();
128  m_d->_map[name]=material;
129  if (material->transparency.getNum()!=1)
130  std::cout<<"VisAttributes::add Warning: Found #transparency values different from 1 in material "<<name<<std::endl;
131  // FIXME. Commented out, because Ric and I are not sure why this is an issue
132  // We may want to add this back if this turns out to indicate a real problem
133  // if (material->transparency[0]!=0.0)
134  // std::cout<<"VisAttributes::add Warning: Found transparency value different from 0 in material "<<name<<std::endl;
135 }

◆ applyState()

void VisAttributes::applyState ( QByteArray  ba)
inherited

Definition at line 61 of file VisAttributes.cxx.

62 {
63  //Get map out:
64  QMap<QString,QByteArray> storedstates;
65  QBuffer buffer(&ba);
66  buffer.open(QIODevice::ReadOnly);
67  QDataStream state(&buffer);
68  qint32 version;
69  state >> version;
70  if (version!=0)
71  return;//ignore silently
72  state >> storedstates;
73  buffer.close();
74 
76 
77  //Apply states from map:
78  QMap<QString,QByteArray>::const_iterator it, itE(storedstates.constEnd());
79  for (it = storedstates.constBegin(); it!=itE; ++it) {
80  itMat = m_d->_map.find(it.key().toStdString());
81  if (itMat!=itMatE) {
82  QByteArray b(it.value());
84  }
85  }
86 
87 }

◆ get()

SoMaterial * VisAttributes::get ( const std::string &  name) const
inherited

Definition at line 113 of file VisAttributes.cxx.

113  {
114  std::map <std::string, SoMaterial *>::const_iterator m = m_d->_map.find(name);
115  if (m!=m_d->_map.end()) {
116  return (*m).second;
117  } else {
118  return NULL;
119  }
120 }

◆ getState()

QByteArray VisAttributes::getState ( bool  onlyChangedMaterials = true)
inherited

Definition at line 32 of file VisAttributes.cxx.

33 {
34  //Figure out states to store
35  QMap<QString,QByteArray> storedstates, statesnow = m_d->currentState();
36  if (onlyChangedMaterials) {
37  QMap<QString,QByteArray>::const_iterator it, itE(statesnow.constEnd());
38  QMap<QString,QByteArray>::const_iterator itOrig, itOrigE(m_d->initialState.constEnd());
39  for (it = statesnow.constBegin(); it!=itE; ++it) {
40  itOrig = m_d->initialState.constFind(it.key());
41  if (itOrig==itOrigE||it.value()!=itOrig.value())
42  storedstates.insert(it.key(),it.value());
43  }
44  } else {
45  storedstates = statesnow;
46  }
47 
48  //Put map in bytearray and return:
49  QByteArray byteArray;
50  QBuffer buffer(&byteArray);
51  buffer.open(QIODevice::WriteOnly);
52  QDataStream out(&buffer);
53  out << qint32(0);//version
54  out << storedstates;
55  buffer.close();
56  return byteArray;
57 
58 }

◆ getValFromRGB()

float VisAttributes::getValFromRGB ( const int  rgb)
privateinherited

Definition at line 144 of file VisAttributes.cxx.

145 {
146  return rgb/255.0;
147 }

◆ init()

void VisAttributes::init ( )
inherited

Definition at line 26 of file VisAttributes.cxx.

27 {
29 }

◆ overrideTransparencies()

void VisAttributes::overrideTransparencies ( float  transpfact)
inherited

Definition at line 137 of file VisAttributes.cxx.

138 {
140  for (it=m_d->_map.begin();it!=itE;++it)
141  it->second->transparency.set1Value( 0, transpfact );
142 }

◆ setColorFromRGB()

void VisAttributes::setColorFromRGB ( SoMaterial *  mat,
const std::string &  type,
const int  r,
const int  g,
const int  b 
)
protectedinherited

Definition at line 149 of file VisAttributes.cxx.

150 {
151  const float fr = getValFromRGB(r);
152  const float fg = getValFromRGB(g);
153  const float fb = getValFromRGB(b);
154  if (type == "ambient")
155  mat->ambientColor.setValue(fr, fg, fb);
156  else if (type == "diffuse")
157  mat->diffuseColor.setValue(fr, fg, fb);
158  else if (type == "specular")
159  mat->specularColor.setValue(fr, fg, fb);
160  else if (type == "emissive")
161  mat->emissiveColor.setValue(fr, fg, fb);
162  else
163  std::cout << "ERROR! Color type not supported ==> " << type << std::endl;
164 
165  // Debug Msg
166  //std::cout << "Set color (" << r << "," << g << "," << b << ") to (" << fr << "," << fg << "," << fb << ")" << std::endl;
167  return;
168 }

Member Data Documentation

◆ m_d

Imp* VisAttributes::m_d
privateinherited

Definition at line 48 of file VisAttributes.h.


The documentation for this class was generated from the following files:
VisAttributes::add
void add(const std::string &name, SoMaterial *)
Definition: VisAttributes.cxx:122
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
beamspotman.r
def r
Definition: beamspotman.py:676
VisAttributes::init
void init()
Definition: VisAttributes.cxx:26
python.SystemOfUnits.m
int m
Definition: SystemOfUnits.py:91
mat
GeoMaterial * mat
Definition: LArDetectorConstructionTBEC.cxx:53
module_driven_slicing.layers
layers
Definition: module_driven_slicing.py:114
skel.it
it
Definition: skel.GENtoEVGEN.py:423
python.AthDsoLogger.out
out
Definition: AthDsoLogger.py:71
VP1QtInventorUtils::deserialiseSoMaterial
static bool deserialiseSoMaterial(QByteArray &, SoMaterial *&)
Definition: VP1QtInventorUtils.cxx:1188
TruthTest.itE
itE
Definition: TruthTest.py:25
createCoolChannelIdFile.buffer
buffer
Definition: createCoolChannelIdFile.py:12
VisAttributes::Imp::currentState
QMap< QString, QByteArray > currentState() const
Definition: VisAttributes.cxx:90
python.CaloCondTools.g
g
Definition: CaloCondTools.py:15
VisAttributes::Imp::_map
std::map< std::string, SoMaterial * > _map
Definition: VisAttributes.cxx:18
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
ActsTrk::to_string
std::string to_string(const DetectorType &type)
Definition: GeometryDefs.h:34
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
VisAttributes::m_d
Imp * m_d
Definition: VisAttributes.h:47
get_generator_info.version
version
Definition: get_generator_info.py:33
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
VisAttributes::setColorFromRGB
void setColorFromRGB(SoMaterial *mat, const std::string &type, const int r, const int g, const int b)
Definition: VisAttributes.cxx:149
grepfile.fr
fr
Definition: grepfile.py:32
VisAttributes::getValFromRGB
float getValFromRGB(const int rgb)
Definition: VisAttributes.cxx:144
VisAttributes::Imp::initialState
QMap< QString, QByteArray > initialState
Definition: VisAttributes.cxx:21