CFx SDK Documentation 2024 SP0
Loading...
Searching...
No Matches
GsViewImpl.h
Go to the documentation of this file.
1
2// Copyright (C) 2002-2022, 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-2022 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 ODGSVIEWIMPL_INC
25#define ODGSVIEWIMPL_INC
26
27#include "TD_PackPush.h"
28#include "Gs/Gs.h"
29#include "Gs/GsBaseModule.h"
30#include "Gs/GsDCRectArray.h"
31#include "DbStubPtrArray.h"
32#include "Ge/GePoint3d.h"
33#include "Ge/GeVector3d.h"
34#include "Ge/GeMatrix3d.h"
35#include "UInt8Array.h"
36#include "SharedPtr.h"
37#include "Gs/GsDrawableHolder.h"
38#include "Gi/GiCommonDraw.h"
39#include "Gs/GsProperties.h"
40#include "Gs/GsCullingVolume.h"
41#include "Gs/GsViewLocalId.h"
42#include "Gs/GsOverlayDefs.h"
44#include "ThreadsCounter.h"
45
48class OdGiPathNode;
49
50struct OdSiShape;
52
61{
62public:
64
103
108
109 // OdGsView methods
110
118 virtual void init(OdGsBaseVectorizeDevice* pDevice,
119 const OdGsClientViewInfo* pViewInfo = 0,
120 bool enableLayerVisibilityPerView = false);
121
127 virtual OdGsDevice* device() const;
128
134 virtual void clientViewInfo(OdGsClientViewInfo& viewInfo) const;
135
136
155 virtual RenderMode mode() const;
156
177
197 virtual void setMode(RenderMode mode);
198
199
208 virtual void freezeLayer(OdDbStub* layerID);
209
218 virtual void thawLayer(OdDbStub* layerID);
219
227 virtual void clearFrozenLayers();
228
229
236
242 virtual void getViewportBorderProperties(ODCOLORREF& color, int& width) const;
243
248 virtual void setViewportBorderVisibility(bool visible);
249
255 virtual bool isViewportBorderVisible() const;
256
257
262 virtual void setEnableFrontClip(bool enable);
263
269 virtual bool isFrontClipped() const;
270
275 virtual void setFrontClip(double distance);
276
280 virtual double frontClip() const;
281
286 virtual void setEnableBackClip(bool enable);
287
293 virtual bool isBackClipped() const;
294
299 virtual void setBackClip(double distance);
300
304 virtual double backClip() const;
305
306
307
311 virtual OdGePoint3d position() const;
312
316 virtual OdGePoint3d target() const;
317
321 virtual OdGeVector3d upVector() const;
322
326 virtual double fieldWidth() const;
327
331 virtual double fieldHeight() const;
335 double windowAspect() const;
336
340 virtual double lensLength() const;
341
346 virtual void setLensLength(double lensLength);
347
351 virtual bool isPerspective() const;
352
353
354
365 virtual void beginInteractivity(double frameRateInHz);
366
374 virtual bool isInInteractivity() const;
375
381 virtual double interactivityFrameRate() const;
382
389 virtual void endInteractivity();
390
397 virtual void flush();
398
399
400
404 virtual void hide();
405
409 virtual void show();
410
416 virtual bool isVisible();
417
418
419
428 virtual OdGsViewPtr cloneView(bool cloneViewParameters = true, bool cloneGeometry = false);
429
446 virtual bool exceededBounds();
447
453 virtual void enableStereo(bool enabled);
454
460 virtual bool isStereoEnabled() const;
461
477 virtual void setStereoParameters(double magnitude, double parallax);
478
494 virtual void getStereoParameters(double& magnitude, double& parallax) const;
495
500 virtual void initLights(OdRxIterator* pLightsIterator);
501
510 virtual void getSnapShot(OdGiRasterImagePtr &pImage, const OdGsDCRect &region);
511
512
513
523 virtual void setViewport(const OdGePoint2d& lowerLeft, const OdGePoint2d& upperRight);
524
534 virtual void setViewport(const OdGsDCRect& screenRect);
535
544 virtual void setViewport(const OdGsDCRectDouble& screenRec);
545
557 virtual void getViewport(OdGePoint2d& lowerLeft, OdGePoint2d& upperRight) const;
558
570 virtual void getViewport(OdGsDCRect& screenRect) const;
571
580 virtual void getViewport(OdGsDCRectDouble& screenRec) const;
581
582
583
587 virtual OdGeMatrix3d screenMatrix() const;
588
597
602
607
612
617 virtual void viewParameters(OdGsView* pView) const;
618
619
620
626 virtual double lineweightToDcScale() const;
627
634 virtual void setLineweightToDcScale(double scale);
635
643 virtual void setLineweightEnum(int numLineweights, const OdUInt8* lineweights);
644
652 virtual void setLinetypeScaleMultiplier(double linetypeScaleMultiplier);
653
661 virtual void setAlternateLinetypeScaleMultiplier(double linetypeAlternateScaleMultiplier);
662
668 virtual double linetypeScaleMultiplier() const;
669
670
671
682 virtual void dolly(const OdGeVector3d& dollyVector);
683
696 virtual void dolly(double xDolly, double yDolly, double zDolly);
697
712 virtual void roll(double rollAngle);
713
730 virtual void orbit(double xOrbit, double yOrbit);
731
737 virtual void zoom(double zoomFactor);
738
755 virtual void pan(double xPan, double yPan);
756
777 virtual void setView(const OdGePoint3d & position,
778 const OdGePoint3d& target,
779 const OdGeVector3d& upVector,
780 double fieldWidth,
781 double fieldHeight,
782 Projection projection = kParallel);
783
784
785
792 virtual void zoomExtents(const OdGePoint3d &minPt, const OdGePoint3d &maxPt);
793
800 virtual void zoomWindow(const OdGePoint2d &lowerLeft, const OdGePoint2d &upperRight);
801
807 virtual bool pointInView(const OdGePoint3d &pt) const;
808
815 virtual bool extentsInView(const OdGePoint3d &minPt, const OdGePoint3d &maxPt) const;
816
817
818
825 virtual void viewportClipRegion(OdIntArray& counts, OdGePoint2dArray& vertices) const;
826
833 virtual void viewportClipRegion(OdIntArray& counts, OdGsDCPointArray& dcPts) const;
834
842 virtual void setViewportClipRegion(int numContours, const int* numVertices, const OdGePoint2d* vertices);
843
851 virtual void setViewportClipRegion(int numContours, int const* numVertices, OdGsDCPoint const* vertices);
852
853 bool isDependentViewportView() const;
854 bool isDependentGeometryView() const;
855 bool isHelperView() const;
856
857
861 const OdGsBaseModule *getGsModulePtr() const;
862
869 const OdGiContextualColors *contextualColors() const;
870
876 void setContextualColors(OdGiContextualColors *pColors);
877
885 virtual bool pointInViewport(const OdGePoint2d& screenPoint) const;
886
892 virtual void setClearColor(ClearColor color);
893
894
895
899 virtual void invalidate();
900
906 virtual void invalidate(const OdGsDCRect &rect);
907
919 virtual void select(const OdGsDCPoint* points, int numPoints, OdGsSelectionReactor* pReactor,
920 SelectionMode mode = kCrossing);
921
937 virtual bool add(OdGiDrawable* sceneGraph, OdGsModel* model);
938
942 virtual int numRootDrawables() const;
943
949 virtual OdDbStub* rootDrawableIdAt(int i, OdGsModelPtr* pModelReturn = 0) const;
950
956 virtual OdGiDrawablePtr rootDrawableAt(int i, OdGsModelPtr* pModelReturn = 0) const;
957
963 virtual bool erase(OdGiDrawable* sceneGraph);
964
970 virtual void eraseAll();
971
972
973
979 virtual OdGsModel *getModel(const OdGiDrawable *pDrawable) const;
980
985
997 virtual bool isValid() const;
998
1010 virtual void getNumPixelsInUnitSquare(const OdGePoint3d& givenWorldpt,
1011 OdGePoint2d& pixelArea, bool includePerspective = true) const;
1012
1020 virtual void setBackground(OdDbStub *backgroundId);
1021
1027 virtual OdDbStub *background() const;
1028
1036 virtual void setVisualStyle(OdDbStub *visualStyleId);
1037
1043 virtual OdDbStub *visualStyle() const;
1044
1052 virtual void setVisualStyle(const OdGiVisualStyle &visualStyle);
1053
1064 virtual bool visualStyle(OdGiVisualStyle &vs) const;
1065
1074 virtual void enableDefaultLighting(bool bEnable, DefaultLightingType lightType = kTwoLights);
1075
1083 bool defaultLightingEnabled() const;
1084
1096 DefaultLightingType defaultLightingType() const;
1097
1098 // OdGsViewImpl methods
1099
1105 static OdGsViewImpl* safeCast(OdGsView* pView);
1106
1112 static const OdGsViewImpl* safeCast(const OdGsView* pView);
1113
1119 OdUInt32 viewportId() const { return m_giViewportId; }
1120
1128 bool isValidViewportId(const OdUInt32 vpId) const;
1129
1130 //NS TODO: rename to viewportObjectId()
1134 OdDbStub* getViewportObjectId() const { return m_viewInfo.viewportObjectId; }
1135
1139 OdGsBaseVectorizeDevice* baseDevice() { return m_pDevice; }
1140
1144 const OdGsBaseVectorizeDevice* baseDevice() const { return m_pDevice; }
1145
1149 OdDbStub* annotationScaleId() const;
1150
1155
1164 virtual bool viewExtents(OdGeBoundBlock3d& extents) const = 0;
1165
1166 // Own methods
1167
1168
1179 virtual void select(const OdGePoint2d* aPtDc, int numPoints, OdGsSelectionReactor* pReactor,
1180 SelectionMode mode = kCrossing) = 0;
1181
1182 bool isSnapping() const;
1183 void setSnapping(bool val);
1184 bool isRegenOnDrawForbidden() const;
1185 void setRegenOnDrawForbidden(bool val);
1186 bool isAccumulateVpChanges() const;
1187
1191 virtual void clearLinetypeCache() = 0;
1192
1197
1198 // Legacy plot modes (#12611)
1199 // Legacy Wireframe
1200 virtual bool isSupportLegacyWireframeMode() const;
1201 virtual bool isLegacyWireframeMode() const;
1202 virtual void setLegacyWireframeMode(bool bSet);
1203 // Legacy Hidden
1204 virtual bool isSupportLegacyHiddenMode() const;
1205 virtual bool isLegacyHiddenMode() const;
1206 virtual void setLegacyHiddenMode(bool bSet);
1207
1213 bool isSupportPlotStyles() const;
1214 // Transparencies plotting
1215
1221 virtual bool isPlotTransparency() const;
1222
1227 virtual void setPlotTransparency(bool bSet);
1228
1232 OdUInt32 frozenLayers() const { return m_frozenLayers.size(); }
1233
1243 void frozenLayers(OdDbStubPtrArray& frozenLayers) const { frozenLayers = m_frozenLayers; }
1244
1252 bool isLayerVisible(OdDbStub* layerId) const;
1253
1259
1264 double lineweightToPixels(double lineweight) const;
1265
1271 void screenRect(OdGsDCPoint &lowerLeft, OdGsDCPoint &upperRight) const;
1272
1278 void screenRect(OdGePoint2d &lowerLeft, OdGePoint2d &upperRight) const;
1279
1284 void screenRectNorm(OdGsDCRect& normalizedRect) const;
1285
1291 void viewportDcCorners(OdGePoint2d& lower_left, OdGePoint2d& upper_right) const;
1292
1303 bool doPerspectivePt(OdGePoint3d& point) const;
1304
1316
1320 const OdGeMatrix3d& eyeToWorldMatrix() const;
1321
1325 const OdGeMatrix3d& worldToEyeMatrix() const;
1326
1335
1347
1356
1361 {
1362 kProjectionIncludeDept = (1 << 0),
1363 kProjectionIncludeClip = (1 << 1),
1364 kProjectionIncludePerspective = (1 << 2),
1365 kProjectionIncludeRotation = (1 << 3),
1366 kProjectionIncludeAll = 0x0F,
1367 kProjectionIncludeAllNoDept = kProjectionIncludeAll & ~kProjectionIncludeDept
1369
1381
1386
1387 OdGsOverlayId extentsToPixels(OdGsDCRect &rc, const OdGeExtents3d& worldExt, const OdGsBaseModel *pModel, OdDb::LineWeight extendByLineweight = OdDb::kLnWt000) const;
1388 virtual void invalidate(const OdGeExtents3d& worldExt, const OdGsBaseModel *pModel, OdDb::LineWeight extendByLineweight = OdDb::kLnWt000);
1389
1396 void invalidate(const OdGsUpdateExtents& extents, const OdGsBaseModel *pModel);
1397
1404
1412
1413 bool isCompletelyVisible() const;
1414 void setCompletelyVisible(bool val);
1415
1434 void setInversion(bool invertedX, bool invertedY);
1435
1439 virtual OdGiRegenType getRegenType() const { return m_regenerationType; }
1440
1444 double focalLength() const;
1445
1449 const OdGeVector3d& eyeVector() const { return m_eyeVector; }
1450
1454 const OdGeVector3d& xVector() const { return m_xVector; }
1455
1459 const OdGeVector3d& getUpVector() const { return m_upVector; }
1460
1467
1476
1497 virtual double getDeviation(const OdGiDeviationType deviationType,
1498 const OdGePoint3d& pointOnCurve, bool bRecalculate = false) const;
1499
1504
1508 int cachedDrawables() const { return m_nCachedDrawables!=0; }
1509
1510 // Local viewport ID section
1517 {
1518 return m_localId.localViewportId(pModel);
1519 }
1520 virtual bool isLocalViewportIdCompatible(const OdGsViewImpl *pView) const;
1522 {
1523 return m_localId;
1524 }
1525
1531 virtual bool isViewRegenerated() const;
1532
1533 const OdGePoint2d& center() const;
1534 void setCenter(const OdGePoint2d& center);
1535
1540protected:
1541 void getUnrotatedFieldSize(double& fieldWidth, double& fieldHeight) const;
1542 void getClippingPlanes(double& nearClipPlaneDist, double& farClipPlaneDist
1543 , OdGsOverlayId overlayId, OdUInt32 projectionFlags) const;
1544 OdGeMatrix3d projectionMatrix(double nearClipPlaneDist, double farClipPlaneDist
1545 , OdUInt32 projectionFlags) const;
1546 OdGeMatrix3d eyeToScreenMatrix(double nearClipPlaneDist, double farClipPlaneDist
1547 , OdGsOverlayId overlayId) const;
1548 OdGeMatrix3d screenMatrix(double nearClipPlaneDist, double farClipPlaneDist) const;
1549
1558 virtual bool sceneDept(double& zNear, double& zFar, OdGsOverlayId nOverlay) const;
1559 // This is old version of sceneDept overrideable method, which is still provided for compatibility with
1560 // old vectorizers. Don't override it in new vectorizers, use new sceneDept method version even if
1561 // your vectorizer doesn't support overlay buffers. This method will be removed in one of next ODA Platform versions.
1562 virtual bool sceneDept(double& zNear, double& zFar) const;
1563
1574 virtual bool usesDept(double* pMinDeptSupported = 0, double* pMaxDeptSupported = 0) const;
1575protected:
1580
1585
1586 virtual void updateViewProps(bool bFullUpdate = true);
1587
1588 inline bool isCheckValid() const;
1589 inline void setCheckValid(bool bValue) const;
1590 inline bool isInvalid() const;
1591 inline void setInvalid(bool bValue) const;
1592 inline void setPerspectiveEnabled(bool bValue) const;
1593 inline void setAccumulateVpChanges( bool bSet );
1594public:
1600 inline bool isNonRectClipped() const;
1601
1607 inline bool hasLweights() const { return !m_lweights.empty(); }
1608
1612 inline const OdUInt8Array &getLweightsEnum() const { return m_lweights; }
1613
1617 const OdGePoint2d& dcScreenMin() const { return m_dcScreenMin; }
1618
1622 const OdGePoint2d& dcScreenMax() const { return m_dcScreenMax; }
1623
1627 const OdGePoint2d& dcLowerLeft() const { return m_dcLowerLeft; }
1628
1632 const OdGePoint2d& dcUpperRight() const { return m_dcUpperRight; }
1633
1638
1645 static double lensLengthToFOV(double lensLength);
1654 static double lensLengthFromFOV(double fovAngle);
1655
1662
1668 virtual void registerOverlay(const OdGsModel *pModel);
1669
1675 virtual void unregisterOverlay(const OdGsModel *pModel);
1676
1684protected:
1693
1694public:
1713 double calcDeviation(const OdGiDeviationType type, const OdGePoint3d& pt) const;
1714
1715 // Viewport properties (backgrounds, render settings, visual styles) management
1716
1721
1730
1737
1738 // Printing support methods
1739
1745
1752 short viewportRotation() const;
1753
1759 inline bool isRotated() const;
1760
1794 double unrotatedFieldHeight() const;
1795
1829 double unrotatedFieldWidth() const;
1830
1834 double actualFieldWidth() const;
1838 double actualFieldHeight() const;
1839
1840 // Primitives culling routines
1841
1857 virtual void initCullingVolume();
1884 virtual bool isCullingVolumeInitialized() const;
1922 virtual void cullingVolumeTransformBy(const OdGeMatrix3d &xfm);
1923
1930 virtual void setViewport3dClipping(const OdGiClipBoundary* pBoundary, const OdGiAbstractClipBoundary* pClipInfo = NULL);
1936 virtual const OdGiClipBoundary *viewport3dClipping(const OdGiAbstractClipBoundary** ppClipInfo = NULL) const;
1940 OdGiClipBoundaryWithAbstractData *viewport3dClippingObject();
1944 bool hasViewport3dClipping() const;
1945
1953 virtual bool saveViewState(OdGsFiler *pFiler) const;
1954
1962 virtual bool loadViewState(OdGsFiler *pFiler);
1963
1971 virtual bool saveClientViewState(OdGsFiler *pFiler) const;
1972
1980 virtual bool loadClientViewState(OdGsFiler *pFiler);
1981
1986
2002 virtual void collide( OdGiPathNode const*const* pInputList, OdUInt32 nInputListSize, OdGsCollisionDetectionReactor* pReactor,
2003 OdGiPathNode const*const* pCollisionWithList = NULL, OdUInt32 nCollisionWithListSize = 0,
2004 const OdGsCollisionDetectionContext* pCtx = NULL ) = 0;
2005
2011 virtual void enableAntiAliasing(OdUInt32 nMode);
2012
2016 virtual OdUInt32 antiAliasingMode() const;
2017
2023 virtual void enableSSAO(bool bEnable) ODRX_OVERRIDE;
2024
2030 virtual bool ssaoMode() const ODRX_OVERRIDE;
2031
2037 void addClippingShape(const OdSiShape*);
2038
2044 void removeClippingShape(const OdSiShape*);
2045
2049 const OdSiShapeConstPtrArray& clippingShapes() const;
2050
2056 void setClippingShapes(const OdSiShapeConstPtrArray& s);
2057private:
2058 void setExtents(OdGsOverlayId nOverlay, const OdGeExtents3d& ext, bool bAdd, bool bVisible = true);
2059 void getExtents(OdGsOverlayId nOverlay, OdGeExtents3d& ext, bool bVisible = false) const;
2060
2061 void addInvalidRectThisView(OdGsOverlayId nOverlay, const OdGsDCRect& rc, const OdGsDCRect& vpRc);
2062
2063private:
2064 enum EGsViewImplFlags
2065 {
2066 kFirstViewImplFlag = 1,
2067
2068 kInvalid = kFirstViewImplFlag << 0, // device surface entirely invalid
2069 kCheckValid = kFirstViewImplFlag << 1, // device surface entirely valid
2070 kBorderVisible = kFirstViewImplFlag << 2,
2071 kDoFrontClip = kFirstViewImplFlag << 3,
2072 kDoBackClip = kFirstViewImplFlag << 4,
2073 kPerspectiveEnabled = kFirstViewImplFlag << 5,
2074 kHidden = kFirstViewImplFlag << 6, // view is hidden
2075 kTransparentClearColor = kFirstViewImplFlag << 7,
2076 kDevBgClearColor = kFirstViewImplFlag << 8,
2077 kEyeToWorldValid = kFirstViewImplFlag << 9,
2078 kWorldToEyeValid = kFirstViewImplFlag << 10,
2079 kSnapping = kFirstViewImplFlag << 11,
2080 kForbidDrawableRegenDraw = kFirstViewImplFlag << 12,
2081 kDepViewInside = kFirstViewImplFlag << 13,
2082 kLegacyWireframe = kFirstViewImplFlag << 14,
2083 // there are two modes with hidden lines removed:
2084 // - normal, set by SHADEMODE command in CAD for display and
2085 // represented by 'Hidden' visual style in shade plot viewport/layout props for printing, and
2086 // - legacy, set by HIDE command in CAD for display and
2087 // according to 'OdDbViewport/OdDbPlotSettings::kHidden' shade plot for printing;
2088 // they both use 'kHiddenLine' render mode, but have some differences, e.g. in plot style usage;
2089 // this flag is to distinguish these two cases
2090 kLegacyHidden = kFirstViewImplFlag << 15,
2091 kPlotTransparency = kFirstViewImplFlag << 16,
2092 kAccumulateVpChanges = kFirstViewImplFlag << 17,
2093 kDefaultLightingEnabled = kFirstViewImplFlag << 18,
2094 kSSAOEnabled = kFirstViewImplFlag << 19
2095 };
2096protected:
2098protected: //FELIX_CHANGE
2101
2113
2118
2127
2137
2138 double m_deviation[5];
2139
2142
2149
2150protected:
2152 {
2154 {
2155 kWorldToDeviceValid = (1 << 0),
2156 kSceneDeptInvalid = (1 << 1),
2157 kViewToScreenValid = (1 << 2)
2162 mutable double m_nearClipPlaneDist1;
2163 mutable double m_farClipPlaneDist1;
2164 mutable double m_nearClipPlaneDist2;
2165 mutable double m_farClipPlaneDist2;
2166 OdGeExtents3d m_extents, m_viewExtents;
2169 : m_nOverlayFlags(0)
2170 , m_nearClipPlaneDist1(0.0)
2171 , m_farClipPlaneDist1(0.0)
2172 , m_nearClipPlaneDist2(0.0)
2173 , m_farClipPlaneDist2(0.0)
2174 {}
2175 };
2177 {
2178 public:
2180 void setSceneDeptInvalid(OdGsOverlayId nOverlay, bool bSet) const;
2182 bool hasInvalidRects(OdUInt32 nOverlays = kGsAllOverlays) const;
2183 };
2185protected:
2191 // Reserved pointer for internal use (binary incompatible changes), do not delete.
2193
2194 // Made protected for access in OdGiViewport methods
2196
2198
2200
2203
2204 friend class GsViewImplHelper;
2207 friend class OdGsBaseModule;
2209};
2210
2212{
2214}
2215
2217{
2219}
2220
2222{
2224}
2225
2227{
2228 return m_pModule.get();
2229}
2230
2232{
2233 return m_viewInfo.contextColors.get();
2234}
2235
2237{
2238 m_viewInfo.contextColors = pColors;
2239 invalidate();
2240}
2241
2243{
2245}
2246
2248{
2249 return GETBIT(m_gsViewImplFlags, kCheckValid);
2250}
2251
2252inline void OdGsViewImpl::setCheckValid(bool bValue) const
2253{
2254 SETBIT(m_gsViewImplFlags, kCheckValid, bValue);
2255}
2256
2257inline bool OdGsViewImpl::isInvalid() const
2258{
2259 return GETBIT(m_gsViewImplFlags, kInvalid);
2260}
2261
2262inline void OdGsViewImpl::setInvalid(bool bValue) const
2263{
2264 SETBIT(m_gsViewImplFlags, kInvalid, bValue);
2265}
2266
2267inline void OdGsViewImpl::setPerspectiveEnabled(bool bValue) const
2268{
2269 SETBIT(m_gsViewImplFlags, kPerspectiveEnabled, bValue);
2270 if (bValue != isPerspective())
2272}
2273
2275{
2276 return GETBIT(m_gsViewImplFlags, kDefaultLightingEnabled);
2277}
2278
2280{
2281 return m_defaultLightingType;
2282}
2283
2285{
2286 if (antiAliasingMode() != nMode)
2287 {
2288 m_antiAliasingMode = nMode;
2289 invalidate();
2290 }
2291}
2292
2294{
2295 return m_antiAliasingMode;
2296}
2297
2298inline void OdGsViewImpl::enableSSAO(bool bEnable)
2299{
2300 if (ssaoMode() != bEnable)
2301 {
2302 SETBIT(m_gsViewImplFlags, kSSAOEnabled, bEnable);
2303 invalidate();
2304 }
2305}
2306
2307inline bool OdGsViewImpl::ssaoMode() const
2308{
2309 return GETBIT(m_gsViewImplFlags, kSSAOEnabled);
2310}
2311
2313{
2314 return m_nrcCounts.size() != 0;
2315}
2316
2317inline bool OdGsViewImpl::isRotated() const
2318{
2319 short rotation = viewportRotation();
2320 return rotation == 90 || rotation == 270;
2321}
2322
2323inline void OdGsViewImpl::invalidate(const OdGsUpdateExtents& extents, const OdGsBaseModel *pModel)
2324{
2325 invalidate(extents.getExtents(), pModel, extents.getLineweight());
2326}
2327
2329{
2330 if(!GETBIT(m_gsViewImplFlags, kEyeToWorldValid))
2331 {
2333 SETBIT(m_gsViewImplFlags, kEyeToWorldValid, true);
2334 }
2335 return m_eyeToWorld;
2336}
2337
2339{
2340 if(!GETBIT(m_gsViewImplFlags, kWorldToEyeValid))
2341 {
2343 SETBIT(m_gsViewImplFlags, kWorldToEyeValid, true);
2344 }
2345 return m_worldToEye;
2346}
2347
2349{
2350 return OdSmartPtr<OdGsViewImpl>(pView).get();
2351}
2352
2354{
2355 return OdSmartPtr<OdGsViewImpl>(pView).get();
2356}
2357
2358inline bool OdGsViewImpl::isSnapping() const
2359{
2360 return GETBIT(m_gsViewImplFlags, kSnapping);
2361}
2362
2363inline void OdGsViewImpl::setSnapping(bool val)
2364{
2365 SETBIT(m_gsViewImplFlags, kSnapping, val);
2366}
2367
2369{
2370 return GETBIT(m_gsViewImplFlags, kForbidDrawableRegenDraw);
2371}
2372
2374{
2375 SETBIT(m_gsViewImplFlags, kForbidDrawableRegenDraw, val);
2376}
2377
2379{
2380 return GETBIT(m_gsViewImplFlags, kAccumulateVpChanges);
2381}
2382
2384{
2385 SETBIT( m_gsViewImplFlags, kAccumulateVpChanges, bSet );
2386}
2387
2389{
2390 return GETBIT(m_gsViewImplFlags, kDepViewInside);
2391}
2392
2394{
2395 SETBIT(m_gsViewImplFlags, kDepViewInside, val);
2396}
2397
2399{
2400 return m_p3dClip.get();
2401}
2402
2404{
2405 return !m_p3dClip.isNull();
2406}
2407
2409{
2410 return m_fieldWidth;
2411}
2412
2414{
2415 return m_fieldHeight;
2416}
2417
2419{
2420 if (!m_clippingShapes.contains(p))
2422}
2423
2425{
2427 if (m_clippingShapes.find(p, i, 0))
2429}
2430
2432{
2433 return m_clippingShapes;
2434}
2435
2437{
2438 m_clippingShapes = s;
2439}
2440
2441GS_TOOLKIT_EXPORT double calcFocalLength(double lensLength, double fieldWidth, double fieldHeight);
2442
2443#include "TD_PackPop.h"
2444
2445#endif // ODGSVIEWIMPL_INC
true
Definition: DimVarDefs.h:2046
scale
Definition: DimVarDefs.h:1684
false
Definition: DimVarDefs.h:165
OdGiRegenType
Definition: GiCommonDraw.h:51
OdGiDeviationType
Definition: GiCommonDraw.h:65
#define GS_TOOLKIT_EXPORT
Definition: GsExport.h:37
OdGsOverlayId
Definition: GsOverlayDefs.h:42
@ kGsMainOverlay
Definition: GsOverlayDefs.h:43
@ kGsAllOverlays
Definition: GsOverlayDefs.h:57
GS_TOOLKIT_EXPORT double calcFocalLength(double lensLength, double fieldWidth, double fieldHeight)
OdArray< const OdSiShape *, OdMemoryAllocator< const OdSiShape * > > OdSiShapeConstPtrArray
Definition: GsViewImpl.h:51
bool isInvalid(const ViewPropsArray &props)
Definition: GsViewProps.h:176
#define ODCOLORREF
Definition: OdPlatform.h:933
unsigned int OdUInt32
unsigned char OdUInt8
#define ODRX_OVERRIDE
ptrdiff_t OdIntPtr
#define SETBIT(flags, bit, value)
Definition: OdaDefs.h:516
#define GETBIT(flags, bit)
Definition: OdaDefs.h:517
bool contains(const ConstForPtrT &value, size_type start=0) const
Definition: OdArray.h:1524
size_type size() const
Definition: OdArray.h:1247
bool find(const ConstForPtrT &value, size_type &findIndex, size_type start=0) const
Definition: OdArray.h:2178
OdArray & removeAt(size_type arrayIndex)
Definition: OdArray.h:2127
size_type append(const T &value)
Definition: OdArray.h:1725
OdGeMatrix3d & setCoordSystem(const OdGePoint3d &origin, const OdGeVector3d &xAxis, const OdGeVector3d &yAxis, const OdGeVector3d &zAxis)
OdGeMatrix3d inverse() const
const OdGeExtents3d & getExtents() const
OdDb::LineWeight getLineweight() const
Definition: Gs.h:140
virtual void enableSSAO(bool bEnable)=0
virtual void invalidate()=0
ClearColor
Definition: Gs.h:1044
virtual OdUInt32 antiAliasingMode() const =0
DefaultLightingType
Definition: Gs.h:187
SelectionMode
Definition: Gs.h:173
virtual void enableAntiAliasing(OdUInt32 nMode)=0
virtual bool ssaoMode() const =0
RenderMode
Definition: Gs.h:148
@ k2DOptimized
Definition: Gs.h:150
Projection
Definition: Gs.h:164
bool hasInvalidRects(OdUInt32 nOverlays=kGsAllOverlays) const
void clearInvalidRects(OdUInt32 nOverlays=kGsAllOverlays)
void setSceneDeptInvalid(OdGsOverlayId nOverlay, bool bSet) const
double m_fieldHeight
Definition: GsViewImpl.h:2115
OdUInt32 viewportId() const
Definition: GsViewImpl.h:1119
virtual void endInteractivity()
const OdGePoint2d & dcScreenMin() const
Definition: GsViewImpl.h:1617
OdUInt8Array m_lweights
Definition: GsViewImpl.h:2133
virtual double interactivityFrameRate() const
virtual void dolly(const OdGeVector3d &dollyVector)
virtual void invalidateCachedViewportGeometry()
virtual bool exceededBounds()
OdGePoint2d m_center
Definition: GsViewImpl.h:2124
double m_dInteractivityFrameRate
Definition: GsViewImpl.h:2202
void setPerspectiveEnabled(bool bValue) const
Definition: GsViewImpl.h:2267
virtual OdGiRegenType getRegenType() const
Definition: GsViewImpl.h:1439
virtual bool isViewRegenerated() const
virtual bool saveViewState(OdGsFiler *pFiler) const
virtual void setEnableBackClip(bool enable)
OdGsClientViewInfo m_viewInfo
Definition: GsViewImpl.h:2187
virtual void initLights(OdRxIterator *pLightsIterator)
OdDbStubPtrArray m_frozenLayersDiff
Definition: GsViewImpl.h:2100
bool hasLweights() const
Definition: GsViewImpl.h:1607
const OdGeMatrix3d & eyeToWorldMatrix() const
Definition: GsViewImpl.h:2328
virtual double getDeviation(const OdGiDeviationType deviationType, const OdGePoint3d &pointOnCurve, bool bRecalculate=false) const
OdGePoint2d m_dcUpperRight
Definition: GsViewImpl.h:2112
ODCOLORREF m_borderColor
Definition: GsViewImpl.h:2103
virtual bool visualStyle(OdGiVisualStyle &vs) const
virtual void setAlternateLinetypeScaleMultiplier(double linetypeAlternateScaleMultiplier)
bool isDependentViewportView() const
Definition: GsViewImpl.h:2211
double windowAspect() const
virtual OdGePoint3d position() const
virtual bool isPlotTransparency() const
virtual OdGePoint3d target() const
void setCenter(const OdGePoint2d &center)
virtual OdGeMatrix3d screenMatrix() const
virtual bool pointInView(const OdGePoint3d &pt) const
OdDbStub * getViewportObjectId() const
Definition: GsViewImpl.h:1134
bool isLayerVisible(OdDbStub *layerId) const
virtual void getNumPixelsInUnitSquare(const OdGePoint3d &givenWorldpt, OdGePoint2d &pixelArea, bool includePerspective=true) const
OdUInt32 m_antiAliasingMode
Definition: GsViewImpl.h:2148
const OdGiContextualColors * contextualColors() const
Definition: GsViewImpl.h:2231
bool isSupportPlotStyles() const
Definition: GsViewImpl.h:2242
OdGeMatrix3d m_worldToEye
Definition: GsViewImpl.h:2126
bool m_bInInteractivityMode
Definition: GsViewImpl.h:2201
OdGeMatrix3d eyeToScreenMatrix(double nearClipPlaneDist, double farClipPlaneDist, OdGsOverlayId overlayId) const
virtual OdDbStub * background() const
virtual OdGeMatrix3d objectToDeviceMatrix() const
DefaultLightingType m_defaultLightingType
Definition: GsViewImpl.h:2147
virtual bool isSupportLegacyHiddenMode() const
void setContextualColors(OdGiContextualColors *pColors)
Definition: GsViewImpl.h:2236
virtual OdDbStub * rootDrawableIdAt(int i, OdGsModelPtr *pModelReturn=0) const
OdGiDrawablePtr drawableAt(DrawableHolder &drawableHolder)
void screenRectNorm(OdGsDCRect &normalizedRect) const
OdUInt32 m_giViewportId
Definition: GsViewImpl.h:2188
OdGsDCRectArray invalidRects(OdGsOverlayId nOverlay=kGsMainOverlay) const
virtual bool isValid() const
virtual void setViewport(const OdGsDCRect &screenRect)
const OdGePoint2d & dcScreenMax() const
Definition: GsViewImpl.h:1622
virtual void cullingVolumeTransformBy(const OdGeMatrix3d &xfm)
virtual void flush()
OdGiRegenType m_regenerationType
Definition: GsViewImpl.h:2190
virtual void propagateLayersChanges()
virtual void clearFrozenLayers()
OdGePoint3d m_position
Definition: GsViewImpl.h:2119
virtual void roll(double rollAngle)
virtual void zoomExtents(const OdGePoint3d &minPt, const OdGePoint3d &maxPt)
double m_backClipDist
Definition: GsViewImpl.h:2106
virtual OdGeVector3d upVector() const
virtual void freezeLayer(OdDbStub *layerID)
int m_nCachedDrawables
Definition: GsViewImpl.h:2140
double getLinetypeGenerationCriteria() const
OdGsOverlayId extentsToPixels(OdGsDCRect &rc, const OdGeExtents3d &worldExt, const OdGsBaseModel *pModel, OdDb::LineWeight extendByLineweight=OdDb::kLnWt000) const
OdGeMatrix3d projectionMatrix(double nearClipPlaneDist, double farClipPlaneDist, OdUInt32 projectionFlags) const
virtual OdGsViewPtr cloneView(bool cloneViewParameters=true, bool cloneGeometry=false)
OdGeMatrix3d perspectiveMatrix() const
virtual void viewParameters(OdGsView *pView) const
virtual void show()
virtual bool cullingVolumeIntersectWithOpt(const OdGsCullingPrimitive &prim) const
double actualFieldHeight() const
Definition: GsViewImpl.h:2413
void invalidateRegion(const OdGiPathNode &path)
virtual void invalidate(const OdGeExtents3d &worldExt, const OdGsBaseModel *pModel, OdDb::LineWeight extendByLineweight=OdDb::kLnWt000)
ODRX_DECLARE_MEMBERS(OdGsViewImpl)
OdGsPropertiesPtr getViewportPropertiesRoot() const
int lineweightToPixels(OdDb::LineWeight lineweight) const
double focalLength() const
void screenRect(OdGsDCPoint &lowerLeft, OdGsDCPoint &upperRight) const
virtual void select(const OdGsDCPoint *points, int numPoints, OdGsSelectionReactor *pReactor, SelectionMode mode=kCrossing)
virtual bool isPerspective() const
bool m_screenInvertedY
Definition: GsViewImpl.h:2108
virtual void setLensLength(double lensLength)
virtual void invalidate(const OdGsDCRect &rect)
OdGePoint3d focusPoint() const
virtual double lineweightToDcScale() const
virtual void hide()
double m_linetypeAlternateScaleMultiplier
Definition: GsViewImpl.h:2131
virtual const OdGiClipBoundary * viewport3dClipping(const OdGiAbstractClipBoundary **ppClipInfo=NULL) const
virtual void orbit(double xOrbit, double yOrbit)
double linetypeAlternateScaleMultiplier() const
virtual void getViewport(OdGsDCRect &screenRect) const
OdGePoint2d m_dcScreenMax
Definition: GsViewImpl.h:2110
virtual OdUInt32 antiAliasingMode() const
Definition: GsViewImpl.h:2293
double actualFieldWidth() const
Definition: GsViewImpl.h:2408
void setInversion(bool invertedX, bool invertedY)
virtual double lensLength() const
void setInvalid(bool bValue) const
Definition: GsViewImpl.h:2262
void setRegenOnDrawForbidden(bool val)
Definition: GsViewImpl.h:2373
virtual void setLegacyWireframeMode(bool bSet)
virtual void select(const OdGePoint2d *aPtDc, int numPoints, OdGsSelectionReactor *pReactor, SelectionMode mode=kCrossing)=0
virtual bool isVisible()
virtual bool add(OdGiDrawable *sceneGraph, OdGsModel *model)
ClearColor clearColor() const
const OdGsBaseModule * getGsModulePtr() const
Definition: GsViewImpl.h:2226
virtual OdGsModelArray getModelList() const
OdDbStubPtrArray m_lastFrozenLayers
Definition: GsViewImpl.h:2097
virtual void enableStereo(bool enabled)
virtual void getViewportBorderProperties(ODCOLORREF &color, int &width) const
virtual void zoom(double zoomFactor)
double m_lineweightToDcScale
Definition: GsViewImpl.h:2132
OdGsCullingVolumePtr m_pCullingVolume
Definition: GsViewImpl.h:2134
OdGeVector3d m_xVector
Definition: GsViewImpl.h:2123
OdGsViewLocalId m_localId
Definition: GsViewImpl.h:2189
OdSiShapeConstPtrArray m_clippingShapes
Definition: GsViewImpl.h:2136
virtual void setLineweightToDcScale(double scale)
virtual void updateViewProps(bool bFullUpdate=true)
OdGeMatrix3d m_eyeToWorld
Definition: GsViewImpl.h:2125
virtual RenderMode mode() const
virtual OdGeMatrix3d projectionMatrix() const
OdGeVector3d m_eyeVector
Definition: GsViewImpl.h:2122
virtual void viewportClipRegion(OdIntArray &counts, OdGsDCPointArray &dcPts) const
void removeClippingShape(const OdSiShape *)
Definition: GsViewImpl.h:2424
virtual void init(OdGsBaseVectorizeDevice *pDevice, const OdGsClientViewInfo *pViewInfo=0, bool enableLayerVisibilityPerView=false)
virtual bool isSupportLegacyWireframeMode() const
const OdGeMatrix3d & worldToEyeMatrix() const
Definition: GsViewImpl.h:2338
OdGiDrawablePtr m_pViewportTrans
Definition: GsViewImpl.h:2146
OdGePoint2dArray m_nrcPoints
Definition: GsViewImpl.h:2129
virtual void setLinetypeScaleMultiplier(double linetypeScaleMultiplier)
const OdGeMatrix3d & rotationMatrix() const
OdGePoint2d m_dcScreenMin
Definition: GsViewImpl.h:2109
virtual bool loadClientViewState(OdGsFiler *pFiler)
void setCompletelyVisible(bool val)
Definition: GsViewImpl.h:2393
virtual void dolly(double xDolly, double yDolly, double zDolly)
virtual int numRootDrawables() const
virtual bool usesDept(double *pMinDeptSupported=0, double *pMaxDeptSupported=0) const
OdGePoint2d m_dcLowerLeft
Definition: GsViewImpl.h:2111
virtual OdGsDevice * device() const
void screenRect(OdGePoint2d &lowerLeft, OdGePoint2d &upperRight) const
OdDbStub * m_pVisualStyleId
Definition: GsViewImpl.h:2145
virtual void viewportClipRegion(OdIntArray &counts, OdGePoint2dArray &vertices) const
const OdSiShapeConstPtrArray & clippingShapes() const
Definition: GsViewImpl.h:2431
bool hasViewport3dClipping() const
Definition: GsViewImpl.h:2403
bool defaultLightingEnabled() const
Definition: GsViewImpl.h:2274
virtual void pan(double xPan, double yPan)
bool isViewportOnScreen() const
virtual void setVisualStyle(OdDbStub *visualStyleId)
double lineweightToPixels(double lineweight) const
virtual bool isLocalViewportIdCompatible(const OdGsViewImpl *pView) const
void onWorldToEyeChanged()
const OdGePoint2d & center() const
virtual void setClearColor(ClearColor color)
virtual void setViewport(const OdGsDCRectDouble &screenRec)
virtual bool loadViewState(OdGsFiler *pFiler)
void setCheckValid(bool bValue) const
Definition: GsViewImpl.h:2252
virtual void invalidate()
virtual double frontClip() const
OdDbStub * m_pBackgroundId
Definition: GsViewImpl.h:2144
void getClippingPlanes(double &nearClipPlaneDist, double &farClipPlaneDist, OdGsOverlayId overlayId, OdUInt32 projectionFlags) const
static double lensLengthFromFOV(double fovAngle)
double getLinetypeScaleMultiplier() const
virtual bool isLegacyHiddenMode() const
const OdUInt8Array & getLweightsEnum() const
Definition: GsViewImpl.h:1612
OdGeMatrix3d projectionMatrix(OdUInt32 nIncludes, OdGsOverlayId nOverlay=kGsMainOverlay) const
bool isAccumulateVpChanges() const
Definition: GsViewImpl.h:2378
GsViewOverlayDataContainer m_overlayData
Definition: GsViewImpl.h:2184
OdGeMatrix3d worldToDeviceMatrix(OdGsOverlayId nOverlay) const
double calcDeviation(const OdGiDeviationType type, const OdGePoint3d &pt) const
OdUInt32 frozenLayers() const
Definition: GsViewImpl.h:1232
virtual double fieldWidth() const
bool doPerspectivePt(OdGePoint3d &point) const
virtual void initCullingVolume()
virtual void setLineweightEnum(int numLineweights, const OdUInt8 *lineweights)
double m_lensLength
Definition: GsViewImpl.h:2116
virtual void setStereoParameters(double magnitude, double parallax)
DefaultLightingType defaultLightingType() const
Definition: GsViewImpl.h:2279
virtual bool sceneDept(double &zNear, double &zFar, OdGsOverlayId nOverlay) const
double m_linetypeScaleMultiplier
Definition: GsViewImpl.h:2130
bool isInvalid() const
Definition: GsViewImpl.h:2257
virtual void getViewport(OdGePoint2d &lowerLeft, OdGePoint2d &upperRight) const
virtual bool isStereoEnabled() const
virtual bool isCullingVolumeInitialized() const
bool isRegenOnDrawForbidden() const
Definition: GsViewImpl.h:2368
OdGsBaseVectorizeDevice * m_pDevice
Definition: GsViewImpl.h:2186
OdSharedPtr< OdGiClipBoundaryWithAbstractData > m_p3dClip
Definition: GsViewImpl.h:2135
bool isHelperView() const
Definition: GsViewImpl.h:2221
virtual void setBackground(OdDbStub *backgroundId)
virtual bool sceneDept(double &zNear, double &zFar) const
int cachedDrawables() const
Definition: GsViewImpl.h:1508
virtual bool isBackClipped() const
virtual void setView(const OdGePoint3d &position, const OdGePoint3d &target, const OdGeVector3d &upVector, double fieldWidth, double fieldHeight, Projection projection=kParallel)
virtual OdGeMatrix3d worldToDeviceMatrix() const
virtual bool pointInViewport(const OdGePoint2d &screenPoint) const
virtual void propagateInvalidVpFlag()
virtual void beginInteractivity(double frameRateInHz)
OdIntPtr drawablesFilterFunction() const
OdDbStub * annotationScaleId() const
void getUnrotatedFieldSize(double &fieldWidth, double &fieldHeight) const
virtual bool erase(OdGiDrawable *sceneGraph)
virtual double fieldHeight() const
virtual void zoomWindow(const OdGePoint2d &lowerLeft, const OdGePoint2d &upperRight)
OdGePoint3d m_target
Definition: GsViewImpl.h:2120
bool setModeOverride(RenderMode mode)
virtual void setBackClip(double distance)
const OdGsBaseVectorizeDevice * baseDevice() const
Definition: GsViewImpl.h:1144
virtual void getSnapShot(OdGiRasterImagePtr &pImage, const OdGsDCRect &region)
RenderMode m_renderMode
Definition: GsViewImpl.h:2195
OdIntArray m_nrcCounts
Definition: GsViewImpl.h:2128
double unrotatedFieldHeight() const
virtual void setVisualStyle(const OdGiVisualStyle &visualStyle)
virtual const OdDbStubPtrArray & getFrozenLayersDiff() const
OdGsCullingVolumePtr cullingVolume() const
virtual OdGsCullingVolume::IntersectionStatus cullingVolumeIntersectWith(const OdGsCullingPrimitive &prim) const
OdRxObjectPtr m_pGsReserved
Definition: GsViewImpl.h:2192
virtual void setLegacyHiddenMode(bool bSet)
double m_fieldWidth
Definition: GsViewImpl.h:2114
virtual void eraseAll()
virtual void setViewport(const OdGePoint2d &lowerLeft, const OdGePoint2d &upperRight)
virtual bool extentsInView(const OdGePoint3d &minPt, const OdGePoint3d &maxPt) const
virtual bool isFrontClipped() const
OdGeMatrix3d objectToDeviceMatrix(OdGsOverlayId nOverlay) const
OdGsBaseModulePtr m_pModule
Definition: GsViewImpl.h:2099
virtual void enableSSAO(bool bEnable) ODRX_OVERRIDE
Definition: GsViewImpl.h:2298
virtual void clearLinetypeCache()=0
virtual bool ssaoMode() const ODRX_OVERRIDE
Definition: GsViewImpl.h:2307
bool updateViewportProperties(OdUInt32 incFlags)
double m_eyeVecLength
Definition: GsViewImpl.h:2117
virtual void getViewport(OdGsDCRectDouble &screenRec) const
void setSnapping(bool val)
Definition: GsViewImpl.h:2363
virtual void setViewportClipRegion(int numContours, int const *numVertices, OdGsDCPoint const *vertices)
void frozenLayers(OdDbStubPtrArray &frozenLayers) const
Definition: GsViewImpl.h:1243
OdGeVector3d m_upVector
Definition: GsViewImpl.h:2121
virtual void thawLayer(OdDbStub *layerID)
static OdGsViewImpl * safeCast(OdGsView *pView)
Definition: GsViewImpl.h:2348
int m_borderWeight
Definition: GsViewImpl.h:2104
short viewportRotation() const
double m_frontClipDist
Definition: GsViewImpl.h:2105
virtual void setEnableFrontClip(bool enable)
bool m_screenInvertedX
Definition: GsViewImpl.h:2107
virtual int partialUpdateExtentsEnlargement() const
bool doInversePerspectivePt(OdGePoint3d &point) const
OdGsViewLocalId & getViewLocalId()
Definition: GsViewImpl.h:1521
OdGiClipBoundaryWithAbstractData * viewport3dClippingObject()
Definition: GsViewImpl.h:2398
OdDbStubPtrArray m_frozenLayers
Definition: GsViewImpl.h:2199
bool isValidViewportId(const OdUInt32 vpId) const
virtual bool isLegacyWireframeMode() const
OdGeMatrix3d screenMatrix(double nearClipPlaneDist, double farClipPlaneDist) const
virtual void collide(OdGiPathNode const *const *pInputList, OdUInt32 nInputListSize, OdGsCollisionDetectionReactor *pReactor, OdGiPathNode const *const *pCollisionWithList=NULL, OdUInt32 nCollisionWithListSize=0, const OdGsCollisionDetectionContext *pCtx=NULL)=0
virtual bool isInInteractivity() const
virtual void setMode(RenderMode mode)
bool isSnapping() const
Definition: GsViewImpl.h:2358
virtual double backClip() const
static double lensLengthToFOV(double lensLength)
OdGsPropertiesPtr m_pProperties
Definition: GsViewImpl.h:2143
void initDeviation()
virtual void setViewportClipRegion(int numContours, const int *numVertices, const OdGePoint2d *vertices)
virtual void setPlotTransparency(bool bSet)
virtual void setViewport3dClipping(const OdGiClipBoundary *pBoundary, const OdGiAbstractClipBoundary *pClipInfo=NULL)
virtual OdGeMatrix3d viewingMatrix() const
void viewportDcCorners(OdGePoint2d &lower_left, OdGePoint2d &upper_right) const
virtual OdGsModel * getModel(const OdGiDrawable *pDrawable) const
virtual void enableDefaultLighting(bool bEnable, DefaultLightingType lightType=kTwoLights)
void onFinalRelease()
const OdGePoint2d & dcLowerLeft() const
Definition: GsViewImpl.h:1627
virtual bool isViewportBorderVisible() const
DrawableHolderArray m_drawables
Definition: GsViewImpl.h:2197
bool isDependentGeometryView() const
Definition: GsViewImpl.h:2216
bool isCheckValid() const
Definition: GsViewImpl.h:2247
OdGeMatrix3d eyeToScreenMatrix(OdGsOverlayId nOverlay=kGsMainOverlay) const
void setClippingShapes(const OdSiShapeConstPtrArray &s)
Definition: GsViewImpl.h:2436
const OdGeVector3d & getUpVector() const
Definition: GsViewImpl.h:1459
virtual bool saveClientViewState(OdGsFiler *pFiler) const
virtual bool viewExtents(OdGeBoundBlock3d &extents) const =0
virtual void setViewportBorderVisibility(bool visible)
void invalidateCachedViewportGeometry(OdUInt32 mask)
bool isRotated() const
Definition: GsViewImpl.h:2317
OdGsPropertiesPtr getViewportPropertiesForType(OdGsProperties::PropertiesType type) const
virtual void getStereoParameters(double &magnitude, double &parallax) const
bool isCompletelyVisible() const
Definition: GsViewImpl.h:2388
void addClippingShape(const OdSiShape *)
Definition: GsViewImpl.h:2418
OdUInt32 m_gsViewImplFlags
Definition: GsViewImpl.h:2102
const OdGePoint2d & dcUpperRight() const
Definition: GsViewImpl.h:1632
void setCullingVolume(OdGsCullingVolumePtr newVol)
virtual void enableAntiAliasing(OdUInt32 nMode)
Definition: GsViewImpl.h:2284
void setAccumulateVpChanges(bool bSet)
Definition: GsViewImpl.h:2383
virtual OdDbStub * visualStyle() const
OdUInt32 localViewportId(const OdGsBaseModel *pModel) const
Definition: GsViewImpl.h:1516
double unrotatedFieldWidth() const
virtual void clientViewInfo(OdGsClientViewInfo &viewInfo) const
virtual void registerOverlay(const OdGsModel *pModel)
const OdGeVector3d & xVector() const
Definition: GsViewImpl.h:1454
virtual void unregisterOverlay(const OdGsModel *pModel)
OdMutexPtr m_mtExtents
Definition: GsViewImpl.h:2141
virtual void setFrontClip(double distance)
OdGsNode * getRootNode(DrawableHolder &holder)
virtual OdGiDrawablePtr rootDrawableAt(int i, OdGsModelPtr *pModelReturn=0) const
bool isNonRectClipped() const
Definition: GsViewImpl.h:2312
OdGsBaseVectorizeDevice * baseDevice()
Definition: GsViewImpl.h:1139
virtual void setViewportBorderProperties(ODCOLORREF color, int width)
const OdGeVector3d & eyeVector() const
Definition: GsViewImpl.h:1449
virtual double linetypeScaleMultiplier() const
bool isNull() const
Definition: SharedPtr.h:163
T * get()
Definition: SharedPtr.h:134
const T * get() const
Definition: SmartPtr.h:339
GLint GLenum GLsizei width
Definition: gles2_ext.h:110
GLenum GLint GLuint mask
Definition: gles2_ext.h:262
GLuint GLsizei GLsizei GLint GLenum * type
Definition: gles2_ext.h:274
LineWeight
Definition: OdaDefs.h:386
@ kLnWt000
Definition: OdaDefs.h:387
OdUInt32 viewportFlags
Definition: Gs.h:1214
@ kDependentViewport
Definition: Gs.h:1204
@ kDependentGeometry
Definition: Gs.h:1205
OdGiContextualColorsPtr contextColors
Definition: Gs.h:1213