Home Reference Source

viewer/defaultsettings.js

  1. /**
  2. * @ignore
  3. */
  4. export class DefaultSettings {
  5. static create(settings) {
  6. if (settings == null) {
  7. var settings = {};
  8. }
  9. if (settings.autoRender == null) {
  10. settings.autoRender = true;
  11. }
  12. if (settings.useOverlay == null) {
  13. settings.useOverlay = true;
  14. }
  15. if (settings.useObjectColors == null) {
  16. settings.useObjectColors = false;
  17. }
  18. if (settings.useSmallIndicesIfPossible == null) {
  19. settings.useSmallIndicesIfPossible = true;
  20. }
  21. if (settings.quantizeNormals == null) {
  22. settings.quantizeNormals = true;
  23. }
  24. if (settings.quantizeVertices == null) {
  25. settings.quantizeVertices = true;
  26. }
  27. if (settings.quantizeColors == null) {
  28. settings.quantizeColors = true;
  29. }
  30. if (settings.resetToDefaultViewOnLoad == null) {
  31. settings.resetToDefaultViewOnLoad = true;
  32. }
  33. if (settings.gpuReuse == null) {
  34. settings.gpuReuse = false;
  35. }
  36. if (settings.loaderSettings == null) {
  37. settings.loaderSettings = {};
  38. }
  39. if (settings.loaderSettings.useObjectColors == null) {
  40. settings.loaderSettings.useObjectColors = false;
  41. }
  42. if (settings.loaderSettings.useUuidAndRid == null) {
  43. settings.loaderSettings.useUuidAndRid = false;
  44. }
  45. if (settings.loaderSettings.quantizeNormals == null) {
  46. settings.loaderSettings.quantizeNormals = true;
  47. }
  48. if (settings.loaderSettings.octEncodeNormals == null) {
  49. settings.loaderSettings.octEncodeNormals = false;
  50. }
  51. if (settings.loaderSettings.quantizeVertices == null) {
  52. settings.loaderSettings.quantizeVertices = true;
  53. }
  54. if (settings.loaderSettings.quantizeColors == null) {
  55. settings.loaderSettings.quantizeColors = true;
  56. }
  57. if (settings.triangleThresholdDefaultLayer == null) {
  58. settings.triangleThresholdDefaultLayer = 1000000;
  59. }
  60. if (settings.defaultLayerEnabled == null) {
  61. settings.defaultLayerEnabled = true;
  62. }
  63. if (settings.tilingLayerEnabled == null) {
  64. settings.tilingLayerEnabled = false;
  65. }
  66. if (settings.maxOctreeDepth == null) {
  67. settings.maxOctreeDepth = 5;
  68. }
  69. if (settings.fakeLoading == null) {
  70. settings.fakeLoading = false;
  71. }
  72. if (settings.autoResize == null) {
  73. settings.autoResize = true;
  74. }
  75. if (settings.loaderSettings.splitGeometry == null) {
  76. settings.loaderSettings.splitGeometry = false;
  77. }
  78. if (settings.loaderSettings.generateLineRenders == null) {
  79. settings.loaderSettings.generateLineRenders = false;
  80. }
  81. if (settings.loaderSettings.normalizeUnitsToMM == null) {
  82. settings.loaderSettings.normalizeUnitsToMM = true;
  83. }
  84. if (settings.loaderSettings.useSmallInts == null) {
  85. settings.loaderSettings.useSmallInts = false;
  86. }
  87. if (settings.loaderSettings.reportProgress == null) {
  88. settings.loaderSettings.reportProgress = false;
  89. }
  90. if (settings.autoCombineGpuBuffers == null) {
  91. settings.autoCombineGpuBuffers = false;
  92. }
  93. if (settings.regionSelector == null) {
  94. settings.regionSelector = (bbs) => {
  95. return Promise.resolve(bbs[0]);
  96. };
  97. }
  98. if (settings.excludedTypes == null) {
  99. settings.excludedTypes = ["IfcSpace", "IfcOpeningElement", "IfcAnnotation"];
  100. }
  101. if (settings.loaderSettings.tilingLayerReuse == null) {
  102. settings.loaderSettings.tilingLayerReuse = false;
  103. }
  104. if (settings.loaderSettings.reuseThreshold == null) {
  105. settings.loaderSettings.reuseThreshold = 25000;
  106. }
  107. if (settings.loaderSettings.prepareBuffers == null) {
  108. settings.loaderSettings.prepareBuffers = true;
  109. }
  110. if (settings.realtimeSettings == null) {
  111. settings.realtimeSettings = {};
  112. }
  113. if (settings.realtimeSettings.orderIndependentTransparency == null) {
  114. settings.realtimeSettings.orderIndependentTransparency = true;
  115. }
  116. if (settings.realtimeSettings.drawLineRenders == null) {
  117. settings.realtimeSettings.drawLineRenders = false;
  118. }
  119. return settings;
  120. }
  121. }