25 #ifndef __OD_GI_ENVIRONMENT_TRAITS_DATA__
26 #define __OD_GI_ENVIRONMENT_TRAITS_DATA__
79 (m_color == data2.m_color));
83 return !(*
this == data2);
111 double height()
const {
return m_dHeight; }
121 (m_colorTop == data2.m_colorTop) &&
122 (m_colorMiddle == data2.m_colorMiddle) &&
123 (m_colorBottom == data2.m_colorBottom) &&
124 OdEqual(m_dHorizon, data2.m_dHorizon) &&
125 OdEqual(m_dHeight, data2.m_dHeight) &&
126 OdEqual(m_dRotation, data2.m_dRotation));
130 return !(*
this == data2);
142 bool m_bMaintainAspect;
180 (m_imageFileName == data2.m_imageFileName) &&
181 (m_bFitToScreen == data2.m_bFitToScreen) &&
182 (m_bMaintainAspect == data2.m_bMaintainAspect) &&
183 (m_bUseTiling == data2.m_bUseTiling) &&
184 (m_vOffset == data2.m_vOffset) &&
185 (m_vScale == data2.m_vScale));
189 return !(*
this == data2);
235 (m_colorSkyZenith == data2.m_colorSkyZenith) &&
236 (m_colorSkyHorizon == data2.m_colorSkyHorizon) &&
237 (m_colorUndergroundHorizon == data2.m_colorUndergroundHorizon) &&
238 (m_colorUndergroundAzimuth == data2.m_colorUndergroundAzimuth) &&
239 (m_colorGroundPlaneNear == data2.m_colorGroundPlaneNear) &&
240 (m_colorGroundPlaneFar == data2.m_colorGroundPlaneFar));
244 return !(*
this == data2);
255 double m_intensityFactor;
257 double m_horizonHeight;
258 double m_horizonBlur;
261 bool m_aerialPerspective;
262 double m_visibilityDistance;
264 double m_glowIntensity;
265 double m_diskIntensity;
268 double m_redBlueShift;
279 (m_status == data2.m_status) &&
280 OdEqual(m_intensityFactor, data2.m_intensityFactor) &&
281 OdEqual(m_haze, data2.m_haze) &&
282 OdEqual(m_horizonHeight, data2.m_horizonHeight) &&
283 OdEqual(m_horizonBlur, data2.m_horizonBlur) &&
284 (m_groundColor == data2.m_groundColor) &&
285 (m_nightColor == data2.m_nightColor) &&
286 (m_aerialPerspective == data2.m_aerialPerspective) &&
287 OdEqual(m_visibilityDistance, data2.m_visibilityDistance) &&
288 OdEqual(m_diskScale, data2.m_diskScale) &&
289 OdEqual(m_glowIntensity, data2.m_glowIntensity) &&
290 OdEqual(m_diskIntensity, data2.m_diskIntensity) &&
291 (m_solarDiskSamples == data2.m_solarDiskSamples) &&
292 (m_sunDirection == data2.m_sunDirection) &&
293 OdEqual(m_redBlueShift, data2.m_redBlueShift) &&
294 OdEqual(m_saturation, data2.m_saturation));
298 return !(*
this == data2);
304 params.setIllumination(m_status);
305 params.setIntensityFactor(m_intensityFactor);
307 params.setHorizonHeight(m_horizonHeight);
308 params.setHorizonBlur(m_horizonBlur);
309 params.setGroundColor(m_groundColor);
310 params.setNightColor(m_nightColor);
311 params.setAerialPerspective(m_aerialPerspective);
312 params.setVisibilityDistance(m_visibilityDistance);
313 params.setDiskScale(m_diskScale);
314 params.setGlowIntensity(m_glowIntensity);
315 params.setDiskIntensity(m_diskIntensity);
316 params.setSolarDiskSamples(m_solarDiskSamples);
317 params.setSunDirection(m_sunDirection);
318 params.setRedBlueShift(m_redBlueShift);
319 params.setSaturation(m_saturation);
324 m_status =
params.illumination();
325 m_intensityFactor =
params.intensityFactor();
327 m_horizonHeight =
params.horizonHeight();
328 m_horizonBlur =
params.horizonBlur();
329 m_groundColor =
params.groundColor();
330 m_nightColor =
params.nightColor();
331 m_aerialPerspective =
params.aerialPerspective();
332 m_visibilityDistance =
params.visibilityDistance();
333 m_diskScale =
params.diskScale();
334 m_glowIntensity =
params.glowIntensity();
335 m_diskIntensity =
params.diskIntensity();
336 m_solarDiskSamples =
params.solarDiskSamples();
337 m_sunDirection =
params.sunDirection();
338 m_redBlueShift =
params.redBlueShift();
339 m_saturation =
params.saturation();
352 OdDbStub *m_secBkgndId;
358 void enable(
bool bSet) { m_bEnable = bSet; }
375 (m_bEnable == data2.m_bEnable) &&
376 (m_iblFileName == data2.m_iblFileName) &&
377 OdEqual(m_rotation, data2.m_rotation) &&
378 (m_bDisplay == data2.m_bDisplay) &&
379 (m_secBkgndId == data2.m_secBkgndId));
383 return !(*
this == data2);
391 switch (pBackgroundTraits->
type())
423 bool m_bIsBackground;
433 , m_bIsBackground(
false)
434 , m_FogColor(128, 128, 128)
443 bool enable()
const {
return m_bEnable; }
468 return ((m_bEnable == data2.m_bEnable) &&
469 (m_bIsBackground == data2.m_bIsBackground) &&
470 (m_FogColor == data2.m_FogColor) &&
471 OdEqual(m_dNearDist, data2.m_dNearDist) &&
472 OdEqual(m_dFarDist, data2.m_dFarDist) &&
473 OdEqual(m_dNearPerc, data2.m_dNearPerc) &&
474 OdEqual(m_dFarPerc, data2.m_dFarPerc) &&
475 ((m_envMap.isNull() && data2.m_envMap.isNull()) ||
476 (!m_envMap.isNull() && data2.m_envMap.isNull() && (*m_envMap == *data2.m_envMap))));
480 return !(*
this == data2);
491 bool m_bTextureSampling;
494 bool m_bDiagnosticBack;
495 double m_dScaleFactor;
499 , m_bTextureSampling(
true)
502 , m_bDiagnosticBack(
false)
503 , m_dScaleFactor(1.0)
523 return ((m_bMatEnable == data2.m_bMatEnable) &&
524 (m_bTextureSampling == data2.m_bTextureSampling) &&
525 (m_bBackFaces == data2.m_bBackFaces) &&
526 (m_bShadows == data2.m_bShadows) &&
527 (m_bDiagnosticBack == data2.m_bDiagnosticBack) &&
528 OdEqual(m_dScaleFactor, data2.m_dScaleFactor));
532 return !(*
this == data2);
545 double m_dSamplingWidth;
546 double m_dSamplingHeight;
552 bool m_bShadowMapEnabled;
553 bool m_bRayTraceEnabled;
558 int m_iGISampleCount;
559 bool m_bSampleRadEnabled;
561 int m_iPhotonsPerLight;
562 int m_iPhotonsReflection;
563 int m_iPhotonsRefraction;
572 double m_dLightLumScale;
575 float m_fDiagGridSize;
578 bool m_bExportMIEnabled;
584 void* m_pProgressMonitor;
587 double m_dShadowMult;
594 , m_SamplingFilter(
krBox)
595 , m_dSamplingWidth(1.0)
596 , m_dSamplingHeight(1.0)
602 , m_bShadowMapEnabled(
true)
603 , m_bRayTraceEnabled(
true)
607 , m_bGlobalIllum(
false)
608 , m_iGISampleCount(500)
609 , m_bSampleRadEnabled(
false)
611 , m_iPhotonsPerLight(10000)
612 , m_iPhotonsReflection(5)
613 , m_iPhotonsRefraction(5)
615 , m_bFGEnabled(
false)
616 , m_iFGRayCount(1000)
622 , m_dLightLumScale(1.0)
625 , m_fDiagGridSize(10.0
f)
628 , m_bExportMIEnabled(
false)
633 , m_fEnergyMult(1.0
f)
634 , m_pProgressMonitor(
NULL)
644 m_iSamplingMin =
min;
645 m_iSamplingMax =
max;
649 min = m_iSamplingMin;
650 max = m_iSamplingMax;
654 m_SamplingFilter = filter;
655 m_dSamplingWidth =
width;
656 m_dSamplingHeight =
height;
660 filter = m_SamplingFilter;
661 width = m_dSamplingWidth;
662 height = m_dSamplingHeight;
688 m_bShadowMapEnabled = enabled;
692 return m_bShadowMapEnabled;
696 m_bRayTraceEnabled = enabled;
700 return m_bRayTraceEnabled;
704 m_iRTReflection = reflection;
705 m_iRTRefraction = refraction;
710 reflection = m_iRTReflection;
711 refraction = m_iRTRefraction;
716 m_bGlobalIllum = enabled;
720 return m_bGlobalIllum;
724 m_iGISampleCount = num;
728 return m_iGISampleCount;
732 m_bSampleRadEnabled = enabled;
736 return m_bSampleRadEnabled;
740 m_dSampleRad = radius;
748 m_iPhotonsPerLight = num;
752 return m_iPhotonsPerLight;
756 m_iPhotonsReflection = reflection;
757 m_iPhotonsRefraction = refraction;
762 reflection = m_iPhotonsReflection;
763 refraction = m_iPhotonsRefraction;
768 m_bFGEnabled = enabled;
780 return m_iFGRayCount;
786 m_bFGPixels = bPixels;
792 bPixels = m_bFGPixels;
806 m_dLightLumScale = luminance;
810 return m_dLightLumScale;
822 m_DiagGridMode = mode;
823 m_fDiagGridSize = fSize;
827 mode = m_DiagGridMode;
828 fSize = m_fDiagGridSize;
832 m_DiagPhtMode = mode;
836 return m_DiagPhtMode;
840 m_DiagBSPMode = mode;
844 return m_DiagBSPMode;
848 m_bExportMIEnabled = enabled;
852 return m_bExportMIEnabled;
888 m_fEnergyMult = fScale;
892 return m_fEnergyMult;
896 m_pProgressMonitor = pMonitor;
900 return m_pProgressMonitor;
904 m_ExposureType =
type;
908 return m_ExposureType;
920 m_dShadowMult = multiplier;
924 return m_dShadowMult;
938 (m_iSamplingMin != data2.m_iSamplingMin) ||
939 (m_iSamplingMax != data2.m_iSamplingMax) ||
940 (m_SamplingFilter != data2.m_SamplingFilter) ||
941 !
OdEqual(m_dSamplingWidth, data2.m_dSamplingWidth) ||
942 !
OdEqual(m_dSamplingHeight, data2.m_dSamplingHeight) ||
943 (m_fContrastR != data2.m_fContrastR) ||
944 (m_fContrastG != data2.m_fContrastG) ||
945 (m_fContrastB != data2.m_fContrastB) ||
946 (m_fContrastA != data2.m_fContrastA) ||
947 (m_ShadowMode != data2.m_ShadowMode) ||
948 (m_bShadowMapEnabled != data2.m_bShadowMapEnabled) ||
949 (m_bRayTraceEnabled != data2.m_bRayTraceEnabled) ||
950 (m_iRTReflection != data2.m_iRTReflection) ||
951 (m_iRTRefraction != data2.m_iRTRefraction) ||
952 (m_iRTSum != data2.m_iRTSum) ||
953 (m_bGlobalIllum != data2.m_bGlobalIllum) ||
954 (m_iGISampleCount != data2.m_iGISampleCount) ||
955 (m_bSampleRadEnabled != data2.m_bSampleRadEnabled) ||
956 !
OdEqual(m_dSampleRad, data2.m_dSampleRad) ||
957 (m_iPhotonsPerLight != data2.m_iPhotonsPerLight) ||
958 (m_iPhotonsReflection != data2.m_iPhotonsReflection) ||
959 (m_iPhotonsRefraction != data2.m_iPhotonsRefraction) ||
960 (m_iPhotonsSum != data2.m_iPhotonsSum) ||
961 (m_bFGEnabled != data2.m_bFGEnabled) ||
962 (m_iFGRayCount != data2.m_iFGRayCount) ||
963 (m_bFGRadMin != data2.m_bFGRadMin) ||
964 (m_bFGRadMax != data2.m_bFGRadMax) ||
965 (m_bFGPixels != data2.m_bFGPixels) ||
966 !
OdEqual(m_dFGSRadMin, data2.m_dFGSRadMin) ||
967 !
OdEqual(m_dFGSRadMax, data2.m_dFGSRadMax) ||
968 !
OdEqual(m_dLightLumScale, data2.m_dLightLumScale) ||
969 (m_DiagMode != data2.m_DiagMode) ||
970 (m_DiagGridMode != data2.m_DiagGridMode) ||
971 (m_fDiagGridSize != data2.m_fDiagGridSize) ||
972 (m_DiagPhtMode != data2.m_DiagPhtMode) ||
973 (m_DiagBSPMode != data2.m_DiagBSPMode) ||
974 (m_bExportMIEnabled != data2.m_bExportMIEnabled) ||
975 (m_sMIFile != data2.m_sMIFile) ||
976 (m_iTileSize != data2.m_iTileSize) ||
977 (m_TileOrder != data2.m_TileOrder) ||
978 (m_iMemLimit != data2.m_iMemLimit) ||
979 (m_fEnergyMult != data2.m_fEnergyMult) ||
980 (m_pProgressMonitor != data2.m_pProgressMonitor) ||
981 (m_ExposureType != data2.m_ExposureType) ||
982 (m_FGMode != data2.m_FGMode) ||
983 !
OdEqual(m_dShadowMult, data2.m_dShadowMult) ||
984 (m_MIMode != data2.m_MIMode));
988 return !(*
this != data2);
1003 float m_fFilterWidth;
1004 float m_fFilterHeight;
1013 , m_fFilterWidth(1.0
f)
1014 , m_fFilterHeight(1.0
f)
1020 m_QuitCondition = condition;
1024 return m_QuitCondition;
1028 m_iRenderLevel =
level;
1032 return m_iRenderLevel;
1036 m_iRenderTime = time;
1040 return m_iRenderTime;
1044 m_LightingModel = mode;
1048 return m_LightingModel;
1052 m_FilterType =
type;
1056 return m_FilterType;
1060 m_fFilterWidth =
width;
1064 return m_fFilterWidth;
1068 m_fFilterHeight =
height;
1072 return m_fFilterHeight;
1078 (m_QuitCondition != data2.m_QuitCondition) ||
1079 (m_iRenderLevel != data2.m_iRenderLevel) ||
1080 (m_iRenderTime != data2.m_iRenderTime) ||
1081 (m_LightingModel != data2.m_LightingModel) ||
1082 (m_FilterType != data2.m_FilterType) ||
1083 (m_fFilterWidth != data2.m_fFilterWidth) ||
1084 (m_fFilterHeight != data2.m_fFilterHeight));
1088 return !(*
this != data2);
1102 : m_kindOfRenderSettings(0)
1113 m_kindOfRenderSettings = nFlags;
1117 return m_kindOfRenderSettings;
1121 SETBIT(m_kindOfRenderSettings, nFlags, bOp);
1137 (m_kindOfRenderSettings != data2.m_kindOfRenderSettings));
1141 return !(*
this != data2);
1147 #endif // __OD_GI_ENVIRONMENT_TRAITS_DATA__