CFx SDK Documentation 2026 SP0
Loading...
Searching...
No Matches
GiEnvironmentTraitsData.h
Go to the documentation of this file.
1
2// Copyright (C) 2002-2024, Open Design Alliance (the "Alliance").
3// All rights reserved.
4//
5// This software and its documentation and related materials are owned by
6// the Alliance. The software may only be incorporated into application
7// programs owned by members of the Alliance, subject to a signed
8// Membership Agreement and Supplemental Software License Agreement with the
9// Alliance. The structure and organization of this software are the valuable
10// trade secrets of the Alliance and its suppliers. The software is also
11// protected by copyright law and international treaty provisions. Application
12// programs incorporating this software must include the following statement
13// with their copyright notices:
14//
15// This application incorporates Open Design Alliance software pursuant to a license
16// agreement with Open Design Alliance.
17// Open Design Alliance Copyright (C) 2002-2024 by Open Design Alliance.
18// All rights reserved.
19//
20// By use of this software, its documentation or related materials, you
21// acknowledge and accept the above terms.
23
24#ifndef __OD_GI_ENVIRONMENT_TRAITS_DATA__
25#define __OD_GI_ENVIRONMENT_TRAITS_DATA__
26
27#include "TD_PackPush.h"
28
29#include "Gi/GiEnvironment.h"
30#include "Gi/GiLightTraits.h" // Define OdGiSkyParameters
31
37{
38protected:
40
41protected:
43 : m_type(OdGiDrawable::kGeometry)
44 {
45 }
46
47public:
55
61 static void deleteBackgroundTraitsData(OdGiBackgroundTraitsData* pBackgroundTraits);
62
71 bool operator ==(const OdGiBackgroundTraitsData &data2) const
72 {
73 return m_type == data2.m_type;
74 }
75
84 bool operator !=(const OdGiBackgroundTraitsData &data2) const
85 {
86 return m_type != data2.m_type;
87 }
88};
89
95{
96 OdCmEntityColor m_color;
97
98public:
104
111 OdCmEntityColor color() const { return m_color; }
112
118 void setColor(const OdCmEntityColor& color) { m_color = color; }
119
129 {
130 return ((*static_cast<const OdGiBackgroundTraitsData*>(this) == static_cast<const OdGiBackgroundTraitsData&>(data2)) &&
131 (m_color == data2.m_color));
132 }
133
143 {
144 return !(*this == data2);
145 }
146};
147
153{
154 OdCmEntityColor m_colorTop;
155 OdCmEntityColor m_colorMiddle;
156 OdCmEntityColor m_colorBottom;
157 double m_dHorizon;
158 double m_dHeight;
159 double m_dRotation;
160
161public:
166 OdGiGradientBackgroundTraitsData() : m_dHorizon(0.0), m_dHeight(0.0), m_dRotation(0.0) { m_type = OdGiDrawable::kGradientBackground; }
167
174 OdCmEntityColor colorTop() const { return m_colorTop; }
175
181 void setColorTop(const OdCmEntityColor& color) { m_colorTop = color; }
182
189 OdCmEntityColor colorMiddle() const { return m_colorMiddle; }
190
196 void setColorMiddle(const OdCmEntityColor& color) { m_colorMiddle = color; }
197
204 OdCmEntityColor colorBottom() const { return m_colorBottom; }
205
211 void setColorBottom(const OdCmEntityColor& color) { m_colorBottom = color; }
212
213
220 double horizon() const { return m_dHorizon; }
221
228 double height() const { return m_dHeight; }
229
236 double rotation() const { return m_dRotation; }
237
238
248 void setHorizon(double value) { m_dHorizon = value; }
249
259 void setHeight(double value) { m_dHeight = value; }
260
271 void setRotation(double value) { m_dRotation = value; }
272
273
290 {
291 return ((*static_cast<const OdGiBackgroundTraitsData*>(this) == static_cast<const OdGiBackgroundTraitsData&>(data2)) &&
292 (m_colorTop == data2.m_colorTop) &&
293 (m_colorMiddle == data2.m_colorMiddle) &&
294 (m_colorBottom == data2.m_colorBottom) &&
295 OdEqual(m_dHorizon, data2.m_dHorizon) &&
296 OdEqual(m_dHeight, data2.m_dHeight) &&
297 OdEqual(m_dRotation, data2.m_dRotation));
298 }
299
316 {
317 return !(*this == data2);
318 }
319};
320
326{
327 OdString m_imageFileName;
328 bool m_bFitToScreen;
329 bool m_bMaintainAspect;
330 bool m_bUseTiling;
331 OdGeVector2d m_vOffset;
332 OdGeVector2d m_vScale;
333
334public:
335
341 OdGiImageBackgroundTraitsData() : m_bFitToScreen(false), m_bMaintainAspect(false), m_bUseTiling(false) { m_type = OdGiDrawable::kImageBackground; }
342
349 const OdString& imageFilename() const { return m_imageFileName; }
350
356 void setImageFilename(const OdString& filename) { m_imageFileName = filename; }
357
364 bool fitToScreen() const { return m_bFitToScreen; }
365
372 bool maintainAspectRatio() const { return m_bMaintainAspect; }
373
380 bool useTiling() const { return m_bUseTiling; }
381
387 void setFitToScreen(bool flag) { m_bFitToScreen = flag; }
388
395 void setMaintainAspectRatio(bool flag) { m_bMaintainAspect = flag; }
396
405 void setUseTiling(bool flag) { m_bUseTiling = flag; }
406
413 void setOffset(double x, double y);
414
421 double xOffset() const { return m_vOffset.x; }
422
429 double yOffset() const { return m_vOffset.y; }
430
436 void setXOffset(double xOffset) { m_vOffset.x = xOffset; }
437
443 void setYOffset(double yOffset) { m_vOffset.y = yOffset; }
444
451 void setScale(double x, double y);
452
460 double xScale() const { return m_vScale.x; }
461
469 double yScale() const { return m_vScale.y; }
470
476 void setXScale(double xScale) { m_vScale.x = xScale; }
477
483 void setYScale(double yScale) { m_vScale.y = yScale; }
484
501 {
502 return ((*static_cast<const OdGiBackgroundTraitsData*>(this) == static_cast<const OdGiBackgroundTraitsData&>(data2)) &&
503 (m_imageFileName == data2.m_imageFileName) &&
504 (m_bFitToScreen == data2.m_bFitToScreen) &&
505 (m_bMaintainAspect == data2.m_bMaintainAspect) &&
506 (m_bUseTiling == data2.m_bUseTiling) &&
507 (m_vOffset == data2.m_vOffset) &&
508 (m_vScale == data2.m_vScale));
509 }
510
527 {
528 return !(*this == data2);
529 }
530};
531
533{
534 m_vOffset.set(x, y);
535}
536
537inline void OdGiImageBackgroundTraitsData::setScale(double x, double y)
538{
539 m_vScale.set(x, y);
540}
541
547{
548 OdCmEntityColor m_colorSkyZenith;
549 OdCmEntityColor m_colorSkyHorizon;
550 OdCmEntityColor m_colorUndergroundHorizon;
551 OdCmEntityColor m_colorUndergroundAzimuth;
552 OdCmEntityColor m_colorGroundPlaneNear;
553 OdCmEntityColor m_colorGroundPlaneFar;
554
555public:
561
562
569 OdCmEntityColor colorSkyZenith() const { return m_colorSkyZenith; }
570
576 void setColorSkyZenith(const OdCmEntityColor& color) { m_colorSkyZenith = color; }
577
584 OdCmEntityColor colorSkyHorizon() const { return m_colorSkyHorizon; }
585
591 void setColorSkyHorizon(const OdCmEntityColor& color) { m_colorSkyHorizon = color; }
592
599 OdCmEntityColor colorUndergroundHorizon() const { return m_colorUndergroundHorizon; }
600
606 void setColorUndergroundHorizon(const OdCmEntityColor& color) { m_colorUndergroundHorizon = color; }
607
614 OdCmEntityColor colorUndergroundAzimuth() const { return m_colorUndergroundAzimuth; }
615
621 void setColorUndergroundAzimuth(const OdCmEntityColor& color) { m_colorUndergroundAzimuth = color; }
622
629 OdCmEntityColor colorGroundPlaneNear() const { return m_colorGroundPlaneNear; }
630
636 void setColorGroundPlaneNear(const OdCmEntityColor& color) { m_colorGroundPlaneNear = color; }
637
644 OdCmEntityColor colorGroundPlaneFar() const { return m_colorGroundPlaneFar; }
645
651 void setColorGroundPlaneFar(const OdCmEntityColor& color) { m_colorGroundPlaneFar = color; }
652
669 {
670 return ((*static_cast<const OdGiBackgroundTraitsData*>(this) == static_cast<const OdGiBackgroundTraitsData&>(data2)) &&
671 (m_colorSkyZenith == data2.m_colorSkyZenith) &&
672 (m_colorSkyHorizon == data2.m_colorSkyHorizon) &&
673 (m_colorUndergroundHorizon == data2.m_colorUndergroundHorizon) &&
674 (m_colorUndergroundAzimuth == data2.m_colorUndergroundAzimuth) &&
675 (m_colorGroundPlaneNear == data2.m_colorGroundPlaneNear) &&
676 (m_colorGroundPlaneFar == data2.m_colorGroundPlaneFar));
677 }
678
695 {
696 return !(*this == data2);
697 }
698};
699
705{
706 bool m_status;
707 double m_intensityFactor;
708 double m_haze;
709 double m_horizonHeight;
710 double m_horizonBlur;
711 OdCmEntityColor m_groundColor;
712 OdCmEntityColor m_nightColor;
713 bool m_aerialPerspective;
714 double m_visibilityDistance;
715 double m_diskScale;
716 double m_glowIntensity;
717 double m_diskIntensity;
718 OdUInt16 m_solarDiskSamples;
719 OdGeVector3d m_sunDirection;
720 double m_redBlueShift;
721 double m_saturation;
722public:
728 : m_status(false)
729 , m_intensityFactor(0.)
730 , m_haze(0.)
731 , m_horizonHeight(0.)
732 , m_horizonBlur(0.)
733 , m_aerialPerspective(false)
734 , m_visibilityDistance(0.)
735 , m_diskScale(0.)
736 , m_glowIntensity(0.)
737 , m_diskIntensity(0.)
738 , m_solarDiskSamples(0)
739 , m_redBlueShift(0.)
740 , m_saturation(0.)
742
749
756
783 {
784 return ((*static_cast<const OdGiBackgroundTraitsData*>(this) == static_cast<const OdGiBackgroundTraitsData&>(data2)) &&
785 (m_status == data2.m_status) &&
786 OdEqual(m_intensityFactor, data2.m_intensityFactor) &&
787 OdEqual(m_haze, data2.m_haze) &&
788 OdEqual(m_horizonHeight, data2.m_horizonHeight) &&
789 OdEqual(m_horizonBlur, data2.m_horizonBlur) &&
790 (m_groundColor == data2.m_groundColor) &&
791 (m_nightColor == data2.m_nightColor) &&
792 (m_aerialPerspective == data2.m_aerialPerspective) &&
793 OdEqual(m_visibilityDistance, data2.m_visibilityDistance) &&
794 OdEqual(m_diskScale, data2.m_diskScale) &&
795 OdEqual(m_glowIntensity, data2.m_glowIntensity) &&
796 OdEqual(m_diskIntensity, data2.m_diskIntensity) &&
797 (m_solarDiskSamples == data2.m_solarDiskSamples) &&
798 (m_sunDirection == data2.m_sunDirection) &&
799 OdEqual(m_redBlueShift, data2.m_redBlueShift) &&
800 OdEqual(m_saturation, data2.m_saturation));
801 }
802
829 {
830 return !(*this == data2);
831 }
832};
833
835{
836 params.setIllumination(m_status);
837 params.setIntensityFactor(m_intensityFactor);
838 params.setHaze(m_haze);
839 params.setHorizonHeight(m_horizonHeight);
840 params.setHorizonBlur(m_horizonBlur);
841 params.setGroundColor(m_groundColor);
842 params.setNightColor(m_nightColor);
843 params.setAerialPerspective(m_aerialPerspective);
844 params.setVisibilityDistance(m_visibilityDistance);
845 params.setDiskScale(m_diskScale);
846 params.setGlowIntensity(m_glowIntensity);
847 params.setDiskIntensity(m_diskIntensity);
848 params.setSolarDiskSamples(m_solarDiskSamples);
849 params.setSunDirection(m_sunDirection);
850 params.setRedBlueShift(m_redBlueShift);
851 params.setSaturation(m_saturation);
852}
853
855{
856 m_status = params.illumination();
857 m_intensityFactor = params.intensityFactor();
858 m_haze = params.haze();
859 m_horizonHeight = params.horizonHeight();
860 m_horizonBlur = params.horizonBlur();
861 m_groundColor = params.groundColor();
862 m_nightColor = params.nightColor();
863 m_aerialPerspective = params.aerialPerspective();
864 m_visibilityDistance = params.visibilityDistance();
865 m_diskScale = params.diskScale();
866 m_glowIntensity = params.glowIntensity();
867 m_diskIntensity = params.diskIntensity();
868 m_solarDiskSamples = params.solarDiskSamples();
869 m_sunDirection = params.sunDirection();
870 m_redBlueShift = params.redBlueShift();
871 m_saturation = params.saturation();
872}
873
879{
880 bool m_bEnable;
881 OdString m_iblFileName;
882 double m_rotation;
883 bool m_bDisplay;
884 OdDbStub *m_secBkgndId;
885
886public:
887
893 : m_bEnable(false)
894 , m_rotation(0.)
895 , m_bDisplay(false)
896 , m_secBkgndId(NULL)
898
905 bool isEnabled() const { return m_bEnable; }
906
912 void enable(bool bSet) { m_bEnable = bSet; }
913
920 const OdString &IBLFileName() const { return m_iblFileName; }
921
927 void setIBLFileName(const OdString &iblFileName) { m_iblFileName = iblFileName; }
928
935 double rotation() const { return m_rotation; }
936
942 void setRotation(double angle) { m_rotation = angle; }
943
950 bool displayImage() const { return m_bDisplay; }
951
957 void setDisplayImage(bool bSet) { m_bDisplay = bSet; }
958
965 OdDbStub *secondaryBackground() const { return m_secBkgndId; }
966
972 void setSecondaryBackground(OdDbStub *secBkgndId) { m_secBkgndId = secBkgndId; }
973
989 {
990 return ((*static_cast<const OdGiBackgroundTraitsData*>(this) == static_cast<const OdGiBackgroundTraitsData&>(data2)) &&
991 (m_bEnable == data2.m_bEnable) &&
992 (m_iblFileName == data2.m_iblFileName) &&
993 OdEqual(m_rotation, data2.m_rotation) &&
994 (m_bDisplay == data2.m_bDisplay) &&
995 (m_secBkgndId == data2.m_secBkgndId));
996 }
997
1013 {
1014 return !(*this == data2);
1015 }
1016};
1017
1023{
1024 double m_longRot;
1025 double m_latRot;
1026 double m_fovAngle;
1027 bool m_bFovOverride;
1028public:
1033 OdGiEnvironmentBackgroundTraitsData() : m_longRot(0.0), m_latRot(0.0), m_fovAngle(OdaToRadian(45.0)), m_bFovOverride(false)
1035
1045 void setRotation(double longRad, double latRad)
1046 {
1047 m_longRot = longRad;
1048 m_latRot = latRad;
1049 }
1050
1057 double longitudeRotation() const
1058 {
1059 return m_longRot;
1060 }
1061
1068 double latitudeRotation() const
1069 {
1070 return m_latRot;
1071 }
1072
1081 void enableFovOverride(bool bEnable)
1082 {
1083 m_bFovOverride = bEnable;
1084 }
1085
1092 bool fovOverride() const
1093 {
1094 return m_bFovOverride;
1095 }
1096
1102 void setFovOverrideAngle(double fovRad)
1103 {
1104 m_fovAngle = fovRad;
1105 }
1106
1113 double fovOverrideAngle() const
1114 {
1115 return m_fovAngle;
1116 }
1117
1127 {
1128 return ((*static_cast<const OdGiBackgroundTraitsData*>(this) == static_cast<const OdGiBackgroundTraitsData&>(data2)) &&
1129 OdEqual(m_longRot, data2.m_longRot) && OdEqual(m_latRot, data2.m_latRot) &&
1130 (m_bFovOverride == data2.m_bFovOverride) && (!m_bFovOverride || OdEqual(m_fovAngle, data2.m_fovAngle)));
1131 }
1132
1142 {
1143 return !(*this == data2);
1144 }
1145};
1146
1152{
1153 void *m_pData;
1154protected:
1155 void clear();
1156 bool compare(const OdGiCustomBackgroundTraitsData &data2) const;
1157public:
1164
1169
1176 void setProperty(const OdChar *pName, const OdGiVariant *pData);
1177
1186 const OdGiVariant *property(const OdChar *pName) const;
1187
1197 {
1198 return (*static_cast<const OdGiBackgroundTraitsData*>(this) == static_cast<const OdGiBackgroundTraitsData&>(data2)) &&
1199 compare(data2);
1200 }
1201
1211 {
1212 return !(*this == data2);
1213 }
1214};
1215
1216// Delete background traits data by background type
1217
1219{
1220 switch (pBackgroundTraits->type())
1221 {
1223 delete static_cast<OdGiSolidBackgroundTraitsData*>(pBackgroundTraits);
1224 break;
1226 delete static_cast<OdGiGradientBackgroundTraitsData*>(pBackgroundTraits);
1227 break;
1229 delete static_cast<OdGiImageBackgroundTraitsData*>(pBackgroundTraits);
1230 break;
1232 delete static_cast<OdGiGroundPlaneBackgroundTraitsData*>(pBackgroundTraits);
1233 break;
1235 delete static_cast<OdGiSkyBackgroundTraitsData*>(pBackgroundTraits);
1236 break;
1238 delete static_cast<OdGiIBLBackgroundTraitsData*>(pBackgroundTraits);
1239 break;
1241 delete static_cast<OdGiEnvironmentBackgroundTraitsData*>(pBackgroundTraits);
1242 break;
1244 delete static_cast<OdGiCustomBackgroundTraitsData*>(pBackgroundTraits);
1245 break;
1246 default:
1247 ODA_FAIL();
1248 }
1249}
1250
1256{
1257 bool m_bEnable;
1258 bool m_bIsBackground;
1259 OdCmEntityColor m_FogColor;
1260 double m_dNearDist;
1261 double m_dFarDist;
1262 double m_dNearPerc;
1263 double m_dFarPerc;
1264 OdGiMaterialTexturePtr m_envMap;
1265public:
1266
1272 : m_bEnable(false)
1273 , m_bIsBackground(false)
1274 , m_FogColor(128, 128, 128)
1275 , m_dNearDist(0.0)
1276 , m_dFarDist(100.0)
1277 , m_dNearPerc(0.0)
1278 , m_dFarPerc(100.0)
1279 {
1280 }
1281
1287 void setEnable(bool bEnable) { m_bEnable = bEnable; }
1288
1295 bool enable() const { return m_bEnable; }
1296
1302 void setIsBackground(bool bEnable) { m_bIsBackground = bEnable; }
1303
1310 bool isBackground() const { return m_bIsBackground; }
1311
1317 void setFogColor(const OdCmEntityColor &color) { m_FogColor = color; }
1318
1325 const OdCmEntityColor &fogColor() const { return m_FogColor; }
1326
1332 void setNearDistance(double nearDist) { m_dNearDist = nearDist; }
1333
1340 double nearDistance() const { return m_dNearDist; }
1341
1347 void setFarDistance(double farDist) { m_dFarDist = farDist; }
1348
1355 double farDistance() const { return m_dFarDist; }
1356
1362 void setNearPercentage(double nearPct) { m_dNearPerc = nearPct; }
1363
1370 double nearPercentage() const { return m_dNearPerc; }
1371
1377 void setFarPercentage(double farPct) { m_dFarPerc = farPct; }
1378
1385 double farPercentage() const { return m_dFarPerc; }
1386
1393 {
1394 m_envMap.release();
1395 if (map)
1396 {
1397 m_envMap = OdGiMaterialTexture::cast(map->clone());
1398 }
1399 }
1400
1407 OdGiMaterialTexturePtr environmentMap() const { return m_envMap; }
1408
1425 {
1426 return ((m_bEnable == data2.m_bEnable) &&
1427 (m_bIsBackground == data2.m_bIsBackground) &&
1428 (m_FogColor == data2.m_FogColor) &&
1429 OdEqual(m_dNearDist, data2.m_dNearDist) &&
1430 OdEqual(m_dFarDist, data2.m_dFarDist) &&
1431 OdEqual(m_dNearPerc, data2.m_dNearPerc) &&
1432 OdEqual(m_dFarPerc, data2.m_dFarPerc) &&
1433 ((m_envMap.isNull() && data2.m_envMap.isNull()) ||
1434 (!m_envMap.isNull() && !data2.m_envMap.isNull() && (*m_envMap == *data2.m_envMap))));
1435 }
1436
1453 {
1454 return !(*this == data2);
1455 }
1456};
1457
1463{
1464 bool m_bMatEnable;
1465 bool m_bTextureSampling;
1466 bool m_bBackFaces;
1467 bool m_bShadows;
1468 bool m_bDiagnosticBack;
1469 double m_dScaleFactor;
1470public:
1484 : m_bMatEnable(true)
1485 , m_bTextureSampling(true)
1486 , m_bBackFaces(true)
1487 , m_bShadows(true)
1488 , m_bDiagnosticBack(false)
1489 , m_dScaleFactor(1.0)
1490 {
1491 }
1492
1496 virtual ~OdGiRenderSettingsTraitsData() { } // Exclude warnings in some compilers
1497
1506 void setMaterialEnabled(bool enabled) { m_bMatEnable = enabled; }
1507
1514 bool materialEnabled() const { return m_bMatEnable; }
1515
1521 void setTextureSampling(bool enabled) { m_bTextureSampling = enabled; }
1522
1532 bool textureSampling() const { return m_bTextureSampling; }
1533
1539 void setBackFacesEnabled(bool enabled) { m_bBackFaces = enabled; }
1540
1547 bool backFacesEnabled() const { return m_bBackFaces; }
1548
1554 void setShadowsEnabled(bool enabled) { m_bShadows = enabled; }
1555
1562 bool shadowsEnabled() const { return m_bShadows; }
1563
1569 void setDiagnosticBackgroundEnabled(bool enabled) { m_bDiagnosticBack = enabled; }
1570
1577 bool diagnosticBackgroundEnabled() const { return m_bDiagnosticBack; }
1578
1587 void setModelScaleFactor(double scaleFactor) { m_dScaleFactor = scaleFactor; }
1588
1595 double modelScaleFactor() const { return m_dScaleFactor; }
1596
1613 {
1614 return ((m_bMatEnable == data2.m_bMatEnable) &&
1615 (m_bTextureSampling == data2.m_bTextureSampling) &&
1616 (m_bBackFaces == data2.m_bBackFaces) &&
1617 (m_bShadows == data2.m_bShadows) &&
1618 (m_bDiagnosticBack == data2.m_bDiagnosticBack) &&
1619 OdEqual(m_dScaleFactor, data2.m_dScaleFactor));
1620 }
1621
1638 {
1639 return !(*this == data2);
1640 }
1641};
1642
1648{
1649 int m_iSamplingMin;
1650 int m_iSamplingMax;
1651 OdGiMrFilter m_SamplingFilter;
1652 double m_dSamplingWidth;
1653 double m_dSamplingHeight;
1654 float m_fContrastR;
1655 float m_fContrastG;
1656 float m_fContrastB;
1657 float m_fContrastA;
1658 OdGiMrShadowMode m_ShadowMode;
1659 bool m_bShadowMapEnabled;
1660 bool m_bRayTraceEnabled;
1661 int m_iRTReflection;
1662 int m_iRTRefraction;
1663 int m_iRTSum;
1664 bool m_bGlobalIllum;
1665 int m_iGISampleCount;
1666 bool m_bSampleRadEnabled;
1667 double m_dSampleRad;
1668 int m_iPhotonsPerLight;
1669 int m_iPhotonsReflection;
1670 int m_iPhotonsRefraction;
1671 int m_iPhotonsSum;
1672 bool m_bFGEnabled;
1673 int m_iFGRayCount;
1674 bool m_bFGRadMin;
1675 bool m_bFGRadMax;
1676 bool m_bFGPixels;
1677 double m_dFGSRadMin;
1678 double m_dFGSRadMax;
1679 double m_dLightLumScale;
1680 OdGiMrDiagnosticMode m_DiagMode;
1681 OdGiMrDiagnosticGridMode m_DiagGridMode;
1682 float m_fDiagGridSize;
1683 OdGiMrDiagnosticPhotonMode m_DiagPhtMode;
1684 OdGiMrDiagnosticBSPMode m_DiagBSPMode;
1685 bool m_bExportMIEnabled;
1686 OdString m_sMIFile;
1687 int m_iTileSize;
1688 OdGiMrTileOrder m_TileOrder;
1689 int m_iMemLimit;
1690 float m_fEnergyMult;
1691 void* m_pProgressMonitor;
1692 OdGiMrExposureType m_ExposureType;
1693 OdGiMrFinalGatheringMode m_FGMode;
1694 double m_dShadowMult;
1695 OdGiMrExportMIMode m_MIMode;
1696public:
1697
1753 , m_iSamplingMin(-1)
1754 , m_iSamplingMax(0)
1755 , m_SamplingFilter(krBox)
1756 , m_dSamplingWidth(1.0)
1757 , m_dSamplingHeight(1.0)
1758 , m_fContrastR(0.1f)
1759 , m_fContrastG(0.1f)
1760 , m_fContrastB(0.1f)
1761 , m_fContrastA(0.1f)
1762 , m_ShadowMode(krSimple)
1763 , m_bShadowMapEnabled(true)
1764 , m_bRayTraceEnabled(true)
1765 , m_iRTReflection(2)
1766 , m_iRTRefraction(2)
1767 , m_iRTSum(4)
1768 , m_bGlobalIllum(false)
1769 , m_iGISampleCount(500)
1770 , m_bSampleRadEnabled(false)
1771 , m_dSampleRad(1.0)
1772 , m_iPhotonsPerLight(10000)
1773 , m_iPhotonsReflection(5)
1774 , m_iPhotonsRefraction(5)
1775 , m_iPhotonsSum(5)
1776 , m_bFGEnabled(false)
1777 , m_iFGRayCount(1000)
1778 , m_bFGRadMin(false)
1779 , m_bFGRadMax(false)
1780 , m_bFGPixels(false)
1781 , m_dFGSRadMin(1.0)
1782 , m_dFGSRadMax(1.0)
1783 , m_dLightLumScale(1.0)
1784 , m_DiagMode(krOff)
1785 , m_DiagGridMode(krObject)
1786 , m_fDiagGridSize(10.0f)
1787 , m_DiagPhtMode(krDensity)
1788 , m_DiagBSPMode(krDepth)
1789 , m_bExportMIEnabled(false)
1790 , m_sMIFile()
1791 , m_iTileSize(32)
1792 , m_TileOrder(krHilbert)
1793 , m_iMemLimit(1048)
1794 , m_fEnergyMult(1.0f)
1795 , m_pProgressMonitor(NULL)
1796 , m_ExposureType(krAutomatic)
1797 , m_FGMode(krFinalGatherAuto)
1798 , m_dShadowMult(1.0)
1799 , m_MIMode(krExportMIOff)
1800 {
1801 }
1802
1809 void setSampling(int min, int max)
1810 {
1811 m_iSamplingMin = min;
1812 m_iSamplingMax = max;
1813 }
1814
1821 void sampling(int& min, int& max) const
1822 {
1823 min = m_iSamplingMin;
1824 max = m_iSamplingMax;
1825 }
1826
1834 void setSamplingFilter(OdGiMrFilter filter, double width, double height)
1835 {
1836 m_SamplingFilter = filter;
1837 m_dSamplingWidth = width;
1838 m_dSamplingHeight = height;
1839 }
1840
1848 void samplingFilter(OdGiMrFilter& filter, double& width, double& height) const
1849 {
1850 filter = m_SamplingFilter;
1851 width = m_dSamplingWidth;
1852 height = m_dSamplingHeight;
1853 }
1854
1866 void setSamplingContrastColor(float r, float g, float b, float a)
1867 {
1868 m_fContrastR = r;
1869 m_fContrastG = g;
1870 m_fContrastB = b;
1871 m_fContrastA = a;
1872 }
1873
1885 void samplingContrastColor(float& r, float& g, float& b, float& a) const
1886 {
1887 r = m_fContrastR;
1888 g = m_fContrastG;
1889 b = m_fContrastB;
1890 a = m_fContrastA;
1891 }
1892
1899 {
1900 m_ShadowMode = mode;
1901 }
1902
1910 {
1911 return m_ShadowMode;
1912 }
1913
1919 void setShadowMapEnabled(bool enabled)
1920 {
1921 m_bShadowMapEnabled = enabled;
1922 }
1923
1930 bool shadowMapEnabled() const
1931 {
1932 return m_bShadowMapEnabled;
1933 }
1934
1940 void setRayTraceEnabled(bool enabled)
1941 {
1942 m_bRayTraceEnabled = enabled;
1943 }
1944
1951 bool rayTraceEnabled() const
1952 {
1953 return m_bRayTraceEnabled;
1954 }
1955
1963 void setRayTraceDepth(int reflection, int refraction, int sum)
1964 {
1965 m_iRTReflection = reflection;
1966 m_iRTRefraction = refraction;
1967 m_iRTSum = sum;
1968 }
1969
1977 void rayTraceDepth(int& reflection, int& refraction, int& sum) const
1978 {
1979 reflection = m_iRTReflection;
1980 refraction = m_iRTRefraction;
1981 sum = m_iRTSum;
1982 }
1983
1990 {
1991 m_bGlobalIllum = enabled;
1992 }
1993
2001 {
2002 return m_bGlobalIllum;
2003 }
2004
2010 void setGISampleCount(int num)
2011 {
2012 m_iGISampleCount = num;
2013 }
2014
2021 int giSampleCount() const
2022 {
2023 return m_iGISampleCount;
2024 }
2025
2031 void setGISampleRadiusEnabled(bool enabled)
2032 {
2033 m_bSampleRadEnabled = enabled;
2034 }
2035
2043 {
2044 return m_bSampleRadEnabled;
2045 }
2046
2055 void setGISampleRadius(double radius)
2056 {
2057 m_dSampleRad = radius;
2058 }
2059
2066 double giSampleRadius() const
2067 {
2068 return m_dSampleRad;
2069 }
2070
2077 {
2078 m_iPhotonsPerLight = num;
2079 }
2080
2088 {
2089 return m_iPhotonsPerLight;
2090 }
2091
2099 void setPhotonTraceDepth(int reflection, int refraction, int sum)
2100 {
2101 m_iPhotonsReflection = reflection;
2102 m_iPhotonsRefraction = refraction;
2103 m_iPhotonsSum = sum;
2104 }
2105
2113 void photonTraceDepth(int& reflection, int& refraction, int& sum) const
2114 {
2115 reflection = m_iPhotonsReflection;
2116 refraction = m_iPhotonsRefraction;
2117 sum = m_iPhotonsSum;
2118 }
2119
2128 void setFinalGatheringEnabled(bool enabled)
2129 {
2130 m_bFGEnabled = enabled;
2131 }
2132
2143 {
2144 return m_bFGEnabled;
2145 }
2146
2155 void setFGRayCount(int num)
2156 {
2157 m_iFGRayCount = num;
2158 }
2159
2169 int fgRayCount() const
2170 {
2171 return m_iFGRayCount;
2172 }
2173
2181 void setFGRadiusState(bool bMin, bool bMax, bool bPixels)
2182 {
2183 m_bFGRadMin = bMin;
2184 m_bFGRadMax = bMax;
2185 m_bFGPixels = bPixels;
2186 }
2187
2195 void fgSampleRadiusState(bool& bMin, bool& bMax, bool& bPixels)
2196 {
2197 bMin = m_bFGRadMin;
2198 bMax = m_bFGRadMax;
2199 bPixels = m_bFGPixels;
2200 }
2201
2208 void setFGSampleRadius(double min, double max)
2209 {
2210 m_dFGSRadMin = min;
2211 m_dFGSRadMax = max;
2212 }
2213
2220 void fgSampleRadius(double& min, double& max) const
2221 {
2222 min = m_dFGSRadMin;
2223 max = m_dFGSRadMax;
2224 }
2225
2231 void setLightLuminanceScale(double luminance)
2232 {
2233 m_dLightLumScale = luminance;
2234 }
2235
2242 double lightLuminanceScale() const
2243 {
2244 return m_dLightLumScale;
2245 }
2246
2253 {
2254 m_DiagMode = mode;
2255 }
2256
2264 {
2265 return m_DiagMode;
2266 }
2267
2275 {
2276 m_DiagGridMode = mode;
2277 m_fDiagGridSize = fSize;
2278 }
2279
2286 void diagnosticGridMode(OdGiMrDiagnosticGridMode& mode, float& fSize) const
2287 {
2288 mode = m_DiagGridMode;
2289 fSize = m_fDiagGridSize;
2290 }
2291
2298 {
2299 m_DiagPhtMode = mode;
2300 }
2301
2309 {
2310 return m_DiagPhtMode;
2311 }
2312
2319 {
2320 m_DiagBSPMode = mode;
2321 }
2322
2330 {
2331 return m_DiagBSPMode;
2332 }
2333
2339 void setExportMIEnabled(bool enabled)
2340 {
2341 m_bExportMIEnabled = enabled;
2342 }
2343
2350 bool exportMIEnabled() const
2351 {
2352 return m_bExportMIEnabled;
2353 }
2354
2360 void setExportMIFileName(const OdString& miName)
2361 {
2362 m_sMIFile = miName;
2363 }
2364
2372 {
2373 return m_sMIFile;
2374 }
2375
2386 {
2387 m_iTileSize = size;
2388 }
2389
2396 int tileSize() const
2397 {
2398 return m_iTileSize;
2399 }
2400
2407 {
2408 m_TileOrder = order;
2409 }
2410
2418 {
2419 return m_TileOrder;
2420 }
2421
2427 void setMemoryLimit(int limit)
2428 {
2429 m_iMemLimit = limit;
2430 }
2431
2438 int memoryLimit() const
2439 {
2440 return m_iMemLimit;
2441 }
2442
2448 void setEnergyMultiplier(float fScale)
2449 {
2450 m_fEnergyMult = fScale;
2451 }
2452
2459 float energyMultiplier() const
2460 {
2461 return m_fEnergyMult;
2462 }
2463
2469 void setProgressMonitor(void* pMonitor)
2470 {
2471 m_pProgressMonitor = pMonitor;
2472 }
2473
2480 const void* progressMonitor() const
2481 {
2482 return m_pProgressMonitor;
2483 }
2484
2491 {
2492 m_ExposureType = type;
2493 }
2494
2502 {
2503 return m_ExposureType;
2504 }
2505
2515 {
2516 m_FGMode = mode;
2517 }
2518
2529 {
2530 return m_FGMode;
2531 }
2532
2538 void setShadowSamplingMultiplier(double multiplier)
2539 {
2540 m_dShadowMult = multiplier;
2541 }
2542
2550 {
2551 return m_dShadowMult;
2552 }
2553
2560 {
2561 m_MIMode = mode;
2562 }
2563
2571 {
2572 return m_MIMode;
2573 }
2574
2583 {
2584 return ((*static_cast<const OdGiRenderSettingsTraitsData*>(this) != static_cast<const OdGiRenderSettingsTraitsData&>(data2)) ||
2585 (m_iSamplingMin != data2.m_iSamplingMin) ||
2586 (m_iSamplingMax != data2.m_iSamplingMax) ||
2587 (m_SamplingFilter != data2.m_SamplingFilter) ||
2588 !OdEqual(m_dSamplingWidth, data2.m_dSamplingWidth) ||
2589 !OdEqual(m_dSamplingHeight, data2.m_dSamplingHeight) ||
2590 (m_fContrastR != data2.m_fContrastR) ||
2591 (m_fContrastG != data2.m_fContrastG) ||
2592 (m_fContrastB != data2.m_fContrastB) ||
2593 (m_fContrastA != data2.m_fContrastA) ||
2594 (m_ShadowMode != data2.m_ShadowMode) ||
2595 (m_bShadowMapEnabled != data2.m_bShadowMapEnabled) ||
2596 (m_bRayTraceEnabled != data2.m_bRayTraceEnabled) ||
2597 (m_iRTReflection != data2.m_iRTReflection) ||
2598 (m_iRTRefraction != data2.m_iRTRefraction) ||
2599 (m_iRTSum != data2.m_iRTSum) ||
2600 (m_bGlobalIllum != data2.m_bGlobalIllum) ||
2601 (m_iGISampleCount != data2.m_iGISampleCount) ||
2602 (m_bSampleRadEnabled != data2.m_bSampleRadEnabled) ||
2603 !OdEqual(m_dSampleRad, data2.m_dSampleRad) ||
2604 (m_iPhotonsPerLight != data2.m_iPhotonsPerLight) ||
2605 (m_iPhotonsReflection != data2.m_iPhotonsReflection) ||
2606 (m_iPhotonsRefraction != data2.m_iPhotonsRefraction) ||
2607 (m_iPhotonsSum != data2.m_iPhotonsSum) ||
2608 (m_bFGEnabled != data2.m_bFGEnabled) ||
2609 (m_iFGRayCount != data2.m_iFGRayCount) ||
2610 (m_bFGRadMin != data2.m_bFGRadMin) ||
2611 (m_bFGRadMax != data2.m_bFGRadMax) ||
2612 (m_bFGPixels != data2.m_bFGPixels) ||
2613 !OdEqual(m_dFGSRadMin, data2.m_dFGSRadMin) ||
2614 !OdEqual(m_dFGSRadMax, data2.m_dFGSRadMax) ||
2615 !OdEqual(m_dLightLumScale, data2.m_dLightLumScale) ||
2616 (m_DiagMode != data2.m_DiagMode) ||
2617 (m_DiagGridMode != data2.m_DiagGridMode) ||
2618 (m_fDiagGridSize != data2.m_fDiagGridSize) ||
2619 (m_DiagPhtMode != data2.m_DiagPhtMode) ||
2620 (m_DiagBSPMode != data2.m_DiagBSPMode) ||
2621 (m_bExportMIEnabled != data2.m_bExportMIEnabled) ||
2622 (m_sMIFile != data2.m_sMIFile) ||
2623 (m_iTileSize != data2.m_iTileSize) ||
2624 (m_TileOrder != data2.m_TileOrder) ||
2625 (m_iMemLimit != data2.m_iMemLimit) ||
2626 (m_fEnergyMult != data2.m_fEnergyMult) ||
2627 (m_pProgressMonitor != data2.m_pProgressMonitor) ||
2628 (m_ExposureType != data2.m_ExposureType) ||
2629 (m_FGMode != data2.m_FGMode) ||
2630 !OdEqual(m_dShadowMult, data2.m_dShadowMult) ||
2631 (m_MIMode != data2.m_MIMode));
2632 }
2633
2642 {
2643 return !(*this != data2);
2644 }
2645};
2646
2652{
2653 OdGiQuitCondition m_QuitCondition;
2654 int m_iRenderLevel;
2655 int m_iRenderTime;
2656 OdGiLightingMode m_LightingModel;
2657 OdGiFilterType m_FilterType;
2658 float m_fFilterWidth;
2659 float m_fFilterHeight;
2660public:
2661
2677 , m_QuitCondition(krEQuitByRenderLevel)
2678 , m_iRenderLevel(1)
2679 , m_iRenderTime(1)
2680 , m_LightingModel(krEBasic)
2681 , m_FilterType(krEBox)
2682 , m_fFilterWidth(1.0f)
2683 , m_fFilterHeight(1.0f)
2684 {
2685 }
2686
2693 {
2694 m_QuitCondition = condition;
2695 }
2696
2704 {
2705 return m_QuitCondition;
2706 }
2707
2714 {
2715 m_iRenderLevel = level;
2716 }
2717
2725 {
2726 return m_iRenderLevel;
2727 }
2728
2735 {
2736 m_iRenderTime = time;
2737 }
2738
2746 {
2747 return m_iRenderTime;
2748 }
2749
2761 {
2762 m_LightingModel = mode;
2763 }
2764
2777 {
2778 return m_LightingModel;
2779 }
2780
2787 {
2788 m_FilterType = type;
2789 }
2790
2798 {
2799 return m_FilterType;
2800 }
2801
2819 {
2820 m_fFilterWidth = width;
2821 }
2822
2829 float filterWidth() const
2830 {
2831 return m_fFilterWidth;
2832 }
2833
2851 {
2852 m_fFilterHeight = height;
2853 }
2854
2861 float filterHeight() const
2862 {
2863 return m_fFilterHeight;
2864 }
2865
2883 {
2884 return ((*static_cast<const OdGiRenderSettingsTraitsData*>(this) != static_cast<const OdGiRenderSettingsTraitsData&>(data2)) ||
2885 (m_QuitCondition != data2.m_QuitCondition) ||
2886 (m_iRenderLevel != data2.m_iRenderLevel) ||
2887 (m_iRenderTime != data2.m_iRenderTime) ||
2888 (m_LightingModel != data2.m_LightingModel) ||
2889 (m_FilterType != data2.m_FilterType) ||
2890 (m_fFilterWidth != data2.m_fFilterWidth) ||
2891 (m_fFilterHeight != data2.m_fFilterHeight));
2892 }
2893
2911 {
2912 return !(*this != data2);
2913 }
2914};
2915
2922{
2923 OdUInt32 m_kindOfRenderSettings;
2924public:
2929 : m_kindOfRenderSettings(0)
2930 {
2931 }
2932
2943
2950 {
2951 m_kindOfRenderSettings = nFlags;
2952 }
2953
2961 {
2962 return m_kindOfRenderSettings;
2963 }
2964
2971 void modifyKindOfRenderSettings(OdUInt32 nFlags, bool bOp = true)
2972 {
2973 SETBIT(m_kindOfRenderSettings, nFlags, bOp);
2974 }
2975
2983 {
2984 return GETBIT(m_kindOfRenderSettings, kMentalRaySettings);
2985 }
2986
2994 {
2995 return GETBIT(m_kindOfRenderSettings, kRapidRTSettings);
2996 }
2997
3011 {
3012 return ((*static_cast<const OdGiMentalRayRenderSettingsTraitsData*>(this) != static_cast<const OdGiMentalRayRenderSettingsTraitsData&>(data2)) ||
3013 (*static_cast<const OdGiRapidRTRenderSettingsTraitsData*>(this) != static_cast<const OdGiRapidRTRenderSettingsTraitsData&>(data2)) ||
3014 (m_kindOfRenderSettings != data2.m_kindOfRenderSettings));
3015 }
3016
3030 {
3031 return !(*this != data2);
3032 }
3033};
3034
3035#include "TD_PackPop.h"
3036
3037#endif // __OD_GI_ENVIRONMENT_TRAITS_DATA__
#define ODA_FAIL()
Definition DebugStuff.h:88
true
false
Definition DimVarDefs.h:165
enum OdGiLightingMode_ OdGiLightingMode
@ krSimple
@ krAutomatic
enum OdGiMrTileOrder_ OdGiMrTileOrder
@ krDensity
enum OdGiMrFilter_ OdGiMrFilter
@ krFinalGatherAuto
enum OdGiMrDiagnosticMode_ OdGiMrDiagnosticMode
enum OdGiMrDiagnosticPhotonMode_ OdGiMrDiagnosticPhotonMode
enum OdGiMrDiagnosticBSPMode_ OdGiMrDiagnosticBSPMode
enum OdGiMrShadowMode_ OdGiMrShadowMode
@ krBox
@ krObject
@ krEBox
enum OdGiMrDiagnosticGridMode_ OdGiMrDiagnosticGridMode
@ krHilbert
@ krEBasic
enum OdGiMrExportMIMode_ OdGiMrExportMIMode
enum OdGiMrExposureType_ OdGiMrExposureType
enum OdGiMrFinalGatheringMode_ OdGiMrFinalGatheringMode
@ krOff
@ krDepth
enum OdGiFilterType_ OdGiFilterType
@ krEQuitByRenderLevel
@ krExportMIOff
enum OdGiQuitCondition_ OdGiQuitCondition
OdSmartPtr< OdGiMaterialTexture > OdGiMaterialTexturePtr
Definition GiMaterial.h:971
unsigned int OdUInt32
unsigned short OdUInt16
wchar_t OdChar
#define OdaToRadian(deg)
Definition OdaCommon.h:68
bool OdEqual(double x, double y, double tol=1.e-10)
Definition OdaDefs.h:542
#define SETBIT(flags, bit, value)
Definition OdaDefs.h:516
#define GETBIT(flags, bit)
Definition OdaDefs.h:517
#define FIRSTDLL_EXPORT
Definition RootExport.h:39
bool isNull() const
OdGiDrawable::DrawableType m_type
bool operator!=(const OdGiBackgroundTraitsData &data2) const
bool operator==(const OdGiBackgroundTraitsData &data2) const
static void deleteBackgroundTraitsData(OdGiBackgroundTraitsData *pBackgroundTraits)
OdGiDrawable::DrawableType type() const
void modifyKindOfRenderSettings(OdUInt32 nFlags, bool bOp=true)
bool operator==(const OdGiCombinedRenderSettingsTraitsData &data2) const
bool operator!=(const OdGiCombinedRenderSettingsTraitsData &data2) const
const OdGiVariant * property(const OdChar *pName) const
bool compare(const OdGiCustomBackgroundTraitsData &data2) const
void setProperty(const OdChar *pName, const OdGiVariant *pData)
@ kGroundPlaneBackground
Definition GiDrawable.h:100
@ kEnvironmentBackground
Definition GiDrawable.h:106
@ kGradientBackground
Definition GiDrawable.h:98
@ kImageBasedLightingBackground
Definition GiDrawable.h:104
bool operator==(const OdGiEnvironmentBackgroundTraitsData &data2) const
bool operator!=(const OdGiEnvironmentBackgroundTraitsData &data2) const
void setRotation(double longRad, double latRad)
bool operator==(const OdGiGradientBackgroundTraitsData &data2) const
void setColorBottom(const OdCmEntityColor &color)
void setColorTop(const OdCmEntityColor &color)
void setColorMiddle(const OdCmEntityColor &color)
bool operator!=(const OdGiGradientBackgroundTraitsData &data2) const
void setColorUndergroundHorizon(const OdCmEntityColor &color)
void setColorSkyHorizon(const OdCmEntityColor &color)
void setColorGroundPlaneFar(const OdCmEntityColor &color)
void setColorSkyZenith(const OdCmEntityColor &color)
void setColorUndergroundAzimuth(const OdCmEntityColor &color)
void setColorGroundPlaneNear(const OdCmEntityColor &color)
bool operator!=(const OdGiGroundPlaneBackgroundTraitsData &data2) const
bool operator==(const OdGiGroundPlaneBackgroundTraitsData &data2) const
bool operator!=(const OdGiIBLBackgroundTraitsData &data2) const
void setIBLFileName(const OdString &iblFileName)
const OdString & IBLFileName() const
void setSecondaryBackground(OdDbStub *secBkgndId)
bool operator==(const OdGiIBLBackgroundTraitsData &data2) const
bool operator==(const OdGiImageBackgroundTraitsData &data2) const
const OdString & imageFilename() const
bool operator!=(const OdGiImageBackgroundTraitsData &data2) const
void setImageFilename(const OdString &filename)
bool operator!=(const OdGiMentalRayRenderSettingsTraitsData &data2) const
void samplingContrastColor(float &r, float &g, float &b, float &a) const
void setSamplingContrastColor(float r, float g, float b, float a)
void samplingFilter(OdGiMrFilter &filter, double &width, double &height) const
void setSamplingFilter(OdGiMrFilter filter, double width, double height)
void setDiagnosticMode(OdGiMrDiagnosticMode mode)
OdGiMrFinalGatheringMode finalGatheringMode() const
void setFGRadiusState(bool bMin, bool bMax, bool bPixels)
void setRayTraceDepth(int reflection, int refraction, int sum)
void setFinalGatheringMode(OdGiMrFinalGatheringMode mode)
void setExposureType(OdGiMrExposureType type)
void fgSampleRadiusState(bool &bMin, bool &bMax, bool &bPixels)
void setDiagnosticPhotonMode(OdGiMrDiagnosticPhotonMode mode)
OdGiMrDiagnosticPhotonMode diagnosticPhotonMode() const
void photonTraceDepth(int &reflection, int &refraction, int &sum) const
void fgSampleRadius(double &min, double &max) const
void setPhotonTraceDepth(int reflection, int refraction, int sum)
void diagnosticGridMode(OdGiMrDiagnosticGridMode &mode, float &fSize) const
void setDiagnosticBSPMode(OdGiMrDiagnosticBSPMode mode)
void setExportMIMode(OdGiMrExportMIMode mode)
bool operator==(const OdGiMentalRayRenderSettingsTraitsData &data2) const
void setDiagnosticGridMode(OdGiMrDiagnosticGridMode mode, float fSize)
OdGiMrDiagnosticBSPMode diagnosticBSPMode() const
void rayTraceDepth(int &reflection, int &refraction, int &sum) const
void setExportMIFileName(const OdString &miName)
bool operator==(const OdGiRapidRTRenderSettingsTraitsData &data2) const
bool operator!=(const OdGiRapidRTRenderSettingsTraitsData &data2) const
void setQuitCondition(OdGiQuitCondition condition)
OdGiMaterialTexturePtr environmentMap() const
bool operator==(const OdGiRenderEnvironmentTraitsData &data2) const
void setFogColor(const OdCmEntityColor &color)
void setEnvironmentMap(const OdGiMaterialTexture *map)
const OdCmEntityColor & fogColor() const
bool operator!=(const OdGiRenderEnvironmentTraitsData &data2) const
bool operator==(const OdGiRenderSettingsTraitsData &data2) const
void setDiagnosticBackgroundEnabled(bool enabled)
void setModelScaleFactor(double scaleFactor)
bool operator!=(const OdGiRenderSettingsTraitsData &data2) const
bool operator==(const OdGiSkyBackgroundTraitsData &data2) const
bool operator!=(const OdGiSkyBackgroundTraitsData &data2) const
void setSkyParameters(const OdGiSkyParameters &params)
void skyParameters(OdGiSkyParameters &params) const
bool operator==(const OdGiSolidBackgroundTraitsData &data2) const
void setColor(const OdCmEntityColor &color)
bool operator!=(const OdGiSolidBackgroundTraitsData &data2) const
virtual OdRxObjectPtr clone() const
static OdRxObjectPtr cast(const OdRxObject *pointer)
Definition RxObject.h:640
GLenum GLint * params
Definition gles2_ext.h:184
GLint level
Definition gles2_ext.h:110
GLint GLenum GLsizei width
Definition gles2_ext.h:110
GLsizeiptr size
Definition gles2_ext.h:182
GLuint GLsizei GLsizei GLint GLenum * type
Definition gles2_ext.h:274
GLfloat x
Definition gles2_ext.h:314
GLint GLenum GLsizei GLsizei height
Definition gles2_ext.h:110
GLfloat GLfloat y
Definition gles2_ext.h:316
GLsizei const GLfloat * value
Definition gles2_ext.h:302