CFx SDK Documentation  2022 SP0
GsInterfaceWrappers.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2017, 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 Teigha(R) software pursuant to a license
16 // agreement with Open Design Alliance.
17 // Teigha(R) Copyright (C) 2002-2017 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 __GSINTERFACEWRAPPERS_H_INCLUDED_
25 #define __GSINTERFACEWRAPPERS_H_INCLUDED_
26 
27 #include "Gs/Gs.h"
28 #include "Ge/GePoint3d.h"
29 #include "Ge/GeVector3d.h"
30 #include "Ge/GeMatrix3d.h"
31 #include "Gs/GsModel.h"
32 #include "Gs/GsUpdateManager.h"
33 
34 #include "UInt8Array.h"
35 #include "IntArray.h"
36 #include "Ge/GePoint2dArray.h"
37 
38 #include "TD_PackPush.h"
39 
47 template <typename RedirectionBaseInterface, typename RedirectionInterface>
48 class OdGsDefaultRedirectionBase : public RedirectionInterface
49 {
50  private:
51  RedirectionBaseInterface *m_pRedirectionObj;
52  public:
53  OdGsDefaultRedirectionBase(RedirectionBaseInterface *pRedirectionObj = NULL)
54  : m_pRedirectionObj(pRedirectionObj)
55  {}
56 
57  bool hasRedirection() const { return m_pRedirectionObj != NULL; }
58  const RedirectionBaseInterface *redirection() const { return m_pRedirectionObj; }
59  RedirectionBaseInterface *redirection() { return m_pRedirectionObj; }
60  void setRedirection(RedirectionBaseInterface *pRedirectionObj) { m_pRedirectionObj = pRedirectionObj; }
61  void resetRedirection() { m_pRedirectionObj = NULL; }
62 };
63 
71 template <typename RedirectionBaseInterface, typename RedirectionInterface>
72 class OdGsAbstractRedirectionBase : public RedirectionInterface
73 {
74  public:
75  OdGsAbstractRedirectionBase(RedirectionBaseInterface * /*pRedirectionObj*/ = NULL)
76  {}
77 
78  virtual bool hasRedirection() const = 0;
79  virtual const RedirectionBaseInterface *redirection() const = 0;
80  virtual RedirectionBaseInterface *redirection() = 0;
81  virtual void setRedirection(RedirectionBaseInterface * /*pRedirectionObj*/) {}
82  virtual void resetRedirection() {}
83 };
84 
92 template <typename GsViewInterface = OdGsView, typename RedirectionBase = OdGsDefaultRedirectionBase<OdGsView, GsViewInterface> >
93 class OdGsViewWrapper : public RedirectionBase
94 {
95  private:
96  bool trHas() const { return this->hasRedirection(); }
97  const OdGsView *trCall() const { return this->redirection(); }
98  OdGsView *trCall() { return this->redirection(); }
99  public:
100  OdGsViewWrapper(OdGsView *pRedirectionView = NULL)
101  : RedirectionBase(pRedirectionView)
102  {}
103 
104  // OdGsView wrappers
105 
107  {
108  if (trHas())
109  return trCall()->device();
110  return NULL;
111  }
112 
114  {
115  if (trHas())
116  return trCall()->userGiContext();
117  return NULL;
118  }
119  void setUserGiContext(OdGiContext* pUserGiContext)
120  {
121  if (trHas())
122  trCall()->setUserGiContext(pUserGiContext);
123  }
124 
125  double lineweightToDcScale() const
126  {
127  if (trHas())
128  return trCall()->lineweightToDcScale();
129  return 1.0;
130  }
132  {
133  if (trHas())
134  trCall()->setLineweightToDcScale(scale);
135  }
136  void setLineweightEnum(int numLineweights, const OdUInt8* lineweights)
137  {
138  if (trHas())
139  trCall()->setLineweightEnum(numLineweights, lineweights);
140  }
141 
142  void setViewport(const OdGePoint2d& lowerLeft, const OdGePoint2d& upperRight)
143  {
144  if (trHas())
145  trCall()->setViewport(lowerLeft, upperRight);
146  }
147  void setViewport(const OdGsDCRect& screenRect)
148  {
149  if (trHas())
150  trCall()->setViewport(screenRect);
151  }
152  void setViewport(const OdGsDCRectDouble& screenRect)
153  {
154  if (trHas())
155  trCall()->setViewport(screenRect);
156  }
157  void getViewport(OdGePoint2d& lowerLeft, OdGePoint2d& upperRight) const
158  {
159  if (trHas())
160  trCall()->getViewport(lowerLeft, upperRight);
161  }
162  void getViewport(OdGsDCRect& screenRect) const
163  {
164  if (trHas())
165  trCall()->getViewport(screenRect);
166  }
167  void getViewport(OdGsDCRectDouble& screenRect) const
168  {
169  if (trHas())
170  trCall()->getViewport(screenRect);
171  }
172 
173  void setViewportClipRegion(int numContours, int const* numVertices, OdGsDCPoint const* vertices)
174  {
175  if (trHas())
176  trCall()->setViewportClipRegion(numContours, numVertices, vertices);
177  }
178  void setViewportClipRegion(int numContours, int const* numVertices, OdGePoint2d const* vertices)
179  {
180  if (trHas())
181  trCall()->setViewportClipRegion(numContours, numVertices, vertices);
182  }
183  void viewportClipRegion(OdIntArray& counts, OdGsDCPointArray& vertices) const
184  {
185  if (trHas())
186  trCall()->viewportClipRegion(counts, vertices);
187  }
188  void viewportClipRegion(OdIntArray& counts, OdGePoint2dArray& vertices) const
189  {
190  if (trHas())
191  trCall()->viewportClipRegion(counts, vertices);
192  }
193 
194  void setViewport3dClipping(const OdGiClipBoundary* pBoundary, const OdGiAbstractClipBoundary* pClipInfo = NULL)
195  {
196  if (trHas())
197  trCall()->setViewport3dClipping(pBoundary, pClipInfo);
198  }
200  {
201  if (trHas())
202  return trCall()->viewport3dClipping(ppClipInfo);
203  return NULL;
204  }
205 
207  {
208  if (trHas())
209  trCall()->setViewportBorderProperties(color, width);
210  }
212  {
213  if (trHas())
214  trCall()->getViewportBorderProperties(color, width);
215  }
216  void setViewportBorderVisibility(bool visible)
217  {
218  if (trHas())
219  trCall()->setViewportBorderVisibility(visible);
220  }
222  {
223  if (trHas())
224  return trCall()->isViewportBorderVisible();
225  return false;
226  }
227 
229  double fieldWidth, double fieldHeight, OdGsView::Projection projectionType = OdGsView::kParallel)
230  {
231  if (trHas())
232  trCall()->setView(position, target, upVector, fieldWidth, fieldHeight, projectionType);
233  }
235  {
236  if (trHas())
237  return trCall()->position();
238  return OdGePoint3d::kOrigin;
239  }
241  {
242  if (trHas())
243  return trCall()->target();
245  }
247  {
248  if (trHas())
249  return trCall()->upVector();
250  return OdGeVector3d::kYAxis;
251  }
252 
253  double lensLength() const
254  {
255  if (trHas())
256  return trCall()->lensLength();
257  return 50.0;
258  }
260  {
261  if (trHas())
262  trCall()->setLensLength(lensLength);
263  }
264  bool isPerspective() const
265  {
266  if (trHas())
267  return trCall()->isPerspective();
268  return false;
269  }
270 
271  double fieldWidth() const
272  {
273  if (trHas())
274  return trCall()->fieldWidth();
275  return 1.0;
276  }
277  double fieldHeight() const
278  {
279  if (trHas())
280  return trCall()->fieldHeight();
281  return 1.0;
282  }
283 
284  void setEnableFrontClip(bool enable)
285  {
286  if (trHas())
287  trCall()->setEnableFrontClip(enable);
288  }
289  bool isFrontClipped() const
290  {
291  if (trHas())
292  return trCall()->isFrontClipped();
293  return false;
294  }
295  void setFrontClip(double frontClip)
296  {
297  if (trHas())
298  trCall()->setFrontClip(frontClip);
299  }
300  double frontClip() const
301  {
302  if (trHas())
303  return trCall()->frontClip();
304  return 0.0;
305  }
306  void setEnableBackClip(bool enable)
307  {
308  if (trHas())
309  trCall()->setEnableBackClip(enable);
310  }
311  bool isBackClipped() const
312  {
313  if (trHas())
314  return trCall()->isBackClipped();
315  return false;
316  }
317  void setBackClip(double backClip)
318  {
319  if (trHas())
320  trCall()->setBackClip(backClip);
321  }
322  double backClip() const
323  {
324  if (trHas())
325  return trCall()->backClip();
326  return 0.0;
327  }
328 
330  {
331  if (trHas())
332  return trCall()->viewingMatrix();
334  }
336  {
337  if (trHas())
338  return trCall()->projectionMatrix();
340  }
342  {
343  if (trHas())
344  return trCall()->screenMatrix();
346  }
348  {
349  if (trHas())
350  return trCall()->worldToDeviceMatrix();
352  }
354  {
355  if (trHas())
356  return trCall()->objectToDeviceMatrix();
358  }
359 
361  {
362  if (trHas())
363  trCall()->setMode(mode);
364  }
366  {
367  if (trHas())
368  return trCall()->mode();
369  return OdGsView::kNone;
370  }
371 
372  bool add(OdGiDrawable* pSceneGraph, OdGsModel* pModel)
373  {
374  if (trHas())
375  return trCall()->add(pSceneGraph, pModel);
376  return false;
377  }
378  bool erase(OdGiDrawable* sceneGraph)
379  {
380  if (trHas())
381  return trCall()->erase(sceneGraph);
382  return false;
383  }
384  void eraseAll()
385  {
386  if (trHas())
387  trCall()->eraseAll();
388  }
389 
390  OdGsModel *getModel(const OdGiDrawable *pDrawable) const
391  {
392  if (trHas())
393  return trCall()->getModel(pDrawable);
394  return NULL;
395  }
397  {
398  if (trHas())
399  return trCall()->getModelList();
400  return OdGsModelArray();
401  }
402 
403  void invalidate()
404  {
405  if (trHas())
406  trCall()->invalidate();
407  }
408  void invalidate(const OdGsDCRect &screenRect)
409  {
410  if (trHas())
411  trCall()->invalidate(screenRect);
412  }
413  bool isValid() const
414  {
415  if (trHas())
416  return trCall()->isValid();
417  return false;
418  }
419 
420  void update()
421  {
422  if (trHas())
423  trCall()->update();
424  }
425 
426  void beginInteractivity(double frameRateInHz)
427  {
428  if (trHas())
429  trCall()->beginInteractivity(frameRateInHz);
430  }
432  {
433  if (trHas())
434  trCall()->endInteractivity();
435  }
436  bool isInInteractivity() const
437  {
438  if (trHas())
439  return trCall()->isInInteractivity();
440  return false;
441  }
442  double interactivityFrameRate() const
443  {
444  if (trHas())
445  return trCall()->interactivityFrameRate();
446  return 0.0;
447  }
448 
449  void flush()
450  {
451  if (trHas())
452  trCall()->flush();
453  }
454 
455  void hide()
456  {
457  if (trHas())
458  trCall()->hide();
459  }
460  void show()
461  {
462  if (trHas())
463  trCall()->show();
464  }
465  bool isVisible()
466  {
467  if (trHas())
468  return trCall()->isVisible();
469  return false;
470  }
471 
472  void freezeLayer(OdDbStub* layerID)
473  {
474  if (trHas())
475  trCall()->freezeLayer(layerID);
476  }
477  void thawLayer(OdDbStub* layerID)
478  {
479  if (trHas())
480  trCall()->thawLayer(layerID);
481  }
483  {
484  if (trHas())
485  trCall()->clearFrozenLayers();
486  }
487 
489  {
490  if (trHas())
492  }
493 
494  void select(const OdGsDCPoint* pts, int nPoints, OdGsSelectionReactor* pReactor,
496  {
497  if (trHas())
498  trCall()->select(pts, nPoints, pReactor, mode);
499  }
500 
501  void dolly(const OdGeVector3d& dollyVector)
502  {
503  if (trHas())
504  trCall()->dolly(dollyVector);
505  }
506  void dolly(double xDolly, double yDolly, double zDolly)
507  {
508  if (trHas())
509  trCall()->dolly(xDolly, yDolly, zDolly);
510  }
511  void roll(double rollAngle)
512  {
513  if (trHas())
514  trCall()->roll(rollAngle);
515  }
516  void orbit(double xOrbit, double yOrbit)
517  {
518  if (trHas())
519  trCall()->orbit(xOrbit, yOrbit);
520  }
521  void zoom(double zoomFactor)
522  {
523  if (trHas())
524  trCall()->zoom(zoomFactor);
525  }
526  void pan(double xPan, double yPan)
527  {
528  if (trHas())
529  trCall()->pan(xPan, yPan);
530  }
531 
532  void zoomExtents(const OdGePoint3d &minPt, const OdGePoint3d &maxPt)
533  {
534  if (trHas())
535  trCall()->zoomExtents(minPt, maxPt);
536  }
537  void zoomWindow(const OdGePoint2d &lowerLeft, const OdGePoint2d &upperRight)
538  {
539  if (trHas())
540  trCall()->zoomWindow(lowerLeft, upperRight);
541  }
542 
543  bool pointInView(const OdGePoint3d &pt) const
544  {
545  if (trHas())
546  return trCall()->pointInView(pt);
547  return false;
548  }
549  bool extentsInView(const OdGePoint3d &minPt, const OdGePoint3d &maxPt) const
550  {
551  if (trHas())
552  return trCall()->extentsInView(minPt, maxPt);
553  return false;
554  }
555 
556  OdGsViewPtr cloneView(bool cloneViewParameters = true, bool cloneGeometry = false)
557  {
558  if (trHas())
559  return trCall()->cloneView(cloneViewParameters, cloneGeometry);
560  return OdGsViewPtr();
561  }
562  void viewParameters(OdGsView* pView) const
563  {
564  if (trHas())
565  trCall()->viewParameters(pView);
566  }
567 
569  {
570  if (trHas())
571  return trCall()->exceededBounds();
572  return false;
573  }
574 
575  void enableStereo(bool enabled)
576  {
577  if (trHas())
578  trCall()->enableStereo(enabled);
579  }
580  bool isStereoEnabled() const
581  {
582  if (trHas())
583  return trCall()->isStereoEnabled();
584  return false;
585  }
586  void setStereoParameters(double magnitude, double parallax)
587  {
588  if (trHas())
589  trCall()->setStereoParameters(magnitude, parallax);
590  }
591  void getStereoParameters(double& magnitude, double& parallax) const
592  {
593  if (trHas())
594  trCall()->getStereoParameters(magnitude, parallax);
595  }
596 
597  void initLights(OdRxIterator* pLightsIterator)
598  {
599  if (trHas())
600  trCall()->initLights(pLightsIterator);
601  }
602 
604  {
605  if (trHas())
607  }
608  double linetypeScaleMultiplier() const
609  {
610  if (trHas())
611  return trCall()->linetypeScaleMultiplier();
612  return 1.0;
613  }
615  {
616  if (trHas())
618  }
620  {
621  if (trHas())
622  return trCall()->linetypeAlternateScaleMultiplier();
623  return 1.0;
624  }
625 
627  {
628  if (trHas())
629  trCall()->clientViewInfo(clientViewInfo);
630  }
631 
633  {
634  if (trHas())
635  trCall()->setClearColor(color);
636  }
637 
638  bool pointInViewport(const OdGePoint2d& screenPoint) const
639  {
640  if (trHas())
641  return trCall()->pointInViewport(screenPoint);
642  return false;
643  }
644 
646  OdGePoint2d& pixelDensity, bool bUsePerspective = true) const
647  {
648  if (trHas())
649  trCall()->getNumPixelsInUnitSquare(point, pixelDensity, bUsePerspective);
650  }
651 
652  void setBackground(OdDbStub *backgroundId)
653  {
654  if (trHas())
655  trCall()->setBackground(backgroundId);
656  }
657  OdDbStub *background() const
658  {
659  if (trHas())
660  return trCall()->background();
661  return NULL;
662  }
663 
664  void setVisualStyle(OdDbStub *visualStyleId)
665  {
666  if (trHas())
667  trCall()->setVisualStyle(visualStyleId);
668  }
669  OdDbStub *visualStyle() const
670  {
671  if (trHas())
672  return trCall()->visualStyle();
673  return NULL;
674  }
676  {
677  if (trHas())
678  trCall()->setVisualStyle(visualStyle);
679  }
681  {
682  if (trHas())
683  return trCall()->visualStyle(visualStyle);
684  return false;
685  }
686 
688  {
689  if (trHas())
690  trCall()->enableDefaultLighting(bEnable, lightType);
691  }
692 
693  void getSnapShot(OdGiRasterImagePtr &pImage, const OdGsDCRect &region)
694  {
695  if (trHas())
696  trCall()->getSnapShot(pImage, region);
697  }
698 };
699 
707 template <typename GsDeviceInterface = OdGsDevice, typename RedirectionBase = OdGsDefaultRedirectionBase<OdGsDevice, GsDeviceInterface> >
708 class OdGsDeviceWrapper : public RedirectionBase
709 {
710  private:
711  bool trHas() const { return this->hasRedirection(); }
712  const OdGsDevice *trCall() const { return this->redirection(); }
713  OdGsDevice *trCall() { return this->redirection(); }
714  public:
715  OdGsDeviceWrapper(OdGsDevice *pRedirectionDevice = NULL)
716  : RedirectionBase(pRedirectionDevice)
717  {}
718 
719  // OdGsDevice wrappers
720 
722  {
723  if (trHas())
724  return trCall()->properties();
725  return OdRxDictionaryPtr();
726  }
727 
729  {
730  if (trHas())
731  return trCall()->userGiContext();
732  return NULL;
733  }
734  void setUserGiContext(OdGiContext* pUserGiContext)
735  {
736  if (trHas())
737  trCall()->setUserGiContext(pUserGiContext);
738  }
739 
740  void invalidate()
741  {
742  if (trHas())
743  trCall()->invalidate();
744  }
745  void invalidate(const OdGsDCRect &screenRect)
746  {
747  if (trHas())
748  trCall()->invalidate(screenRect);
749  }
750  bool isValid() const
751  {
752  if (trHas())
753  return trCall()->isValid();
754  return false;
755  }
756 
757  void update(OdGsDCRect* pUpdatedRect = 0)
758  {
759  if (trHas())
760  trCall()->update(pUpdatedRect);
761  }
762 
763  void onSize(const OdGsDCRect& outputRect)
764  {
765  if (trHas())
766  trCall()->onSize(outputRect);
767  }
768  void onSize(const OdGsDCRectDouble& outputRect)
769  {
770  if (trHas())
771  trCall()->onSize(outputRect);
772  }
773 
774  void getSize(OdGsDCRect& outputRect) const
775  {
776  if (trHas())
777  trCall()->getSize(outputRect);
778  }
779  void getSize(OdGsDCRectDouble& outputRect) const
780  {
781  if (trHas())
782  trCall()->getSize(outputRect);
783  }
784 
786  {
787  if (trHas())
788  trCall()->onRealizeForegroundPalette();
789  }
791  {
792  if (trHas())
793  trCall()->onRealizeBackgroundPalette();
794  }
795  void onDisplayChange(int bitsPerPixel, int xPixels, int yPixels)
796  {
797  if (trHas())
798  trCall()->onDisplayChange(bitsPerPixel, xPixels, yPixels);
799  }
800 
801  OdGsViewPtr createView(const OdGsClientViewInfo* pViewInfo = 0, bool enableLayerVisibilityPerView = false)
802  {
803  if (trHas())
804  return trCall()->createView(pViewInfo, enableLayerVisibilityPerView);
805  return OdGsViewPtr();
806  }
807  void addView(OdGsView* pView)
808  {
809  if (trHas())
810  trCall()->addView(pView);
811  }
812 
814  {
815  if (trHas())
816  return trCall()->createModel();
817  return OdGsModelPtr();
818  }
819  bool isModelCompatible(OdGsModel* pModel) const
820  {
821  if (trHas())
822  return trCall()->isModelCompatible(pModel);
823  return false;
824  }
825 
826  bool saveDeviceState(OdGsFiler *pFiler) const
827  {
828  if (trHas())
829  return trCall()->saveDeviceState(pFiler);
830  return false;
831  }
833  {
834  if (trHas())
835  return trCall()->loadDeviceState(pFiler);
836  return false;
837  }
838 
839  void insertView(int viewIndex, OdGsView* pView)
840  {
841  if (trHas())
842  trCall()->insertView(viewIndex, pView);
843  }
844  bool eraseView(OdGsView* pView)
845  {
846  if (trHas())
847  return trCall()->eraseView(pView);
848  return false;
849  }
850  bool eraseView(int viewIndex)
851  {
852  if (trHas())
853  return trCall()->eraseView(viewIndex);
854  return false;
855  }
857  {
858  if (trHas())
859  trCall()->eraseAllViews();
860  }
861  int numViews() const
862  {
863  if (trHas())
864  return trCall()->numViews();
865  return 0;
866  }
867  OdGsView* viewAt(int viewIndex)
868  {
869  if (trHas())
870  return trCall()->viewAt(viewIndex);
871  return NULL;
872  }
873 
874  bool setBackgroundColor(ODCOLORREF backgroundColor)
875  {
876  if (trHas())
877  return trCall()->setBackgroundColor(backgroundColor);
878  return false;
879  }
881  {
882  if (trHas())
883  return trCall()->getBackgroundColor();
884  return ODRGB(0, 0, 0);
885  }
886 
887  void setLogicalPalette(const ODCOLORREF* logicalPalette, int numColors)
888  {
889  if (trHas())
890  trCall()->setLogicalPalette(logicalPalette, numColors);
891  }
892  const ODCOLORREF* getLogicalPalette(int &numColors) const
893  {
894  if (trHas())
895  return trCall()->getLogicalPalette(numColors);
896  return NULL;
897  }
898 
899  void getSnapShot(OdGiRasterImagePtr &pImage, const OdGsDCRect &region)
900  {
901  if (trHas())
902  trCall()->getSnapShot(pImage, region);
903  }
904 
905  OdGsUpdateManagerPtr getUpdateManager( bool createIfNotExist )
906  {
907  if( trHas())
908  {
909  return trCall()->getUpdateManager( createIfNotExist );
910  }
912  return res;
913  }
914 
916  {
917  if( trHas() )
918  {
919  trCall()->setUpdateManager( pManager );
920  }
921  }
922 };
923 
931 template <typename GsViewInterface = OdGsView, typename RedirectionBase = OdGsDefaultRedirectionBase<OdGsView, GsViewInterface> >
932 class OdGsViewWrapperMinimalImpl : public OdGsViewWrapper<GsViewInterface, RedirectionBase>
933 {
934  protected:
937  double m_lwdDcScale;
949  double m_lensLength;
953  bool m_bHidden;
956  OdDbStub *m_bkgnd, *m_visualStyle;
957  public:
959  : OdGsViewWrapper<GsViewInterface, RedirectionBase>(pRedirectionView)
960  , m_pDevice(NULL)
961  , m_pContext(NULL)
962  , m_lwdDcScale(0.0)
963  , m_borderColor(0)
964  , m_borderWidth(1)
966  , m_target(OdGePoint3d::kOrigin + OdGeVector3d::kZAxis)
967  , m_upVector(OdGeVector3d::kYAxis)
968  , m_fieldsWidth(1.0)
969  , m_fieldsHeight(1.0)
971  , m_lensLength(50.0)
973  , m_bBackClip(false)
974  , m_frontClip(0.0)
975  , m_backClip(0.0)
977  , m_bHidden(false)
978  , m_ltpMult1(1.0)
979  , m_ltpMult2(1.0)
980  , m_bkgnd(NULL)
982  {}
983 
984  // OdGsView wrappers
985 
986  OdGsDevice* device() const { return m_pDevice; }
987  void setDevice(OdGsDevice *pDevice) { m_pDevice = pDevice; }
988 
989  OdGiContext* userGiContext() const { return m_pContext; }
990  void setUserGiContext(OdGiContext* pUserGiContext) { m_pContext = pUserGiContext; }
991 
992  double lineweightToDcScale() const { return m_lwdDcScale; }
994 
995  void setViewport(const OdGePoint2d& lowerLeft, const OdGePoint2d& upperRight)
996  { m_llVpt = lowerLeft; m_urVpt = upperRight; }
997  void setViewport(const OdGsDCRect& screenRect) { m_dcRect = OdGsDCRectDouble(screenRect); }
998  void setViewport(const OdGsDCRectDouble& screenRect) { m_dcRect = screenRect; }
999  void getViewport(OdGePoint2d& lowerLeft, OdGePoint2d& upperRight) const
1000  { lowerLeft = m_llVpt; upperRight = m_urVpt; }
1001  void getViewport(OdGsDCRect& screenRect) const { screenRect = m_dcRect.round(); }
1002  void getViewport(OdGsDCRectDouble& screenRect) const { screenRect = m_dcRect; }
1003 
1004  void setViewportClipRegion(int numContours, int const* numVertices, OdGsDCPoint const* vertices)
1005  {
1006  m_nrcClipCounts.resize(numContours);
1007  int numVertexes = 0;
1008  for (int numContour = 0; numContour < numContours; numContour++)
1009  numVertexes += numVertices[numContour], m_nrcClipCounts[numContour] = numVertices[numContour];
1010  m_nrcClipPoints.resize(numVertexes);
1011  for (int numVertex = 0; numVertex < numVertexes; numVertex++)
1012  m_nrcClipPoints[numVertex].set(vertices[numVertex].x, vertices[numVertex].y);
1013  }
1014  void setViewportClipRegion(int numContours, int const* numVertices, OdGePoint2d const* vertices)
1015  {
1016  m_nrcClipCounts.resize(numContours);
1017  int numVertexes = 0;
1018  for (int numContour = 0; numContour < numContours; numContour++)
1019  numVertexes += numVertices[numContour], m_nrcClipCounts[numContour] = numVertices[numContour];
1020  m_nrcClipPoints.resize(numVertexes);
1021  for (int numVertex = 0; numVertex < numVertexes; numVertex++)
1022  m_nrcClipPoints[numVertex] = vertices[numVertex];
1023  }
1024  void viewportClipRegion(OdIntArray& counts, OdGsDCPointArray& vertices) const
1025  {
1026  counts = m_nrcClipCounts;
1027  const OdUInt32 nPoints = m_nrcClipPoints.size();
1028  vertices.resize(nPoints);
1029  OdGsDCPoint *pPt = vertices.asArrayPtr();
1030  for (OdUInt32 nPt = 0; nPt < nPoints; nPt++)
1031  pPt[nPt].x = (long)m_nrcClipPoints[nPt].x, pPt[nPt].y = (long)m_nrcClipPoints[nPt].y;
1032  }
1033  void viewportClipRegion(OdIntArray& counts, OdGePoint2dArray& vertices) const
1034  { counts = m_nrcClipCounts; vertices = m_nrcClipPoints; }
1035 
1037  { m_borderColor = color; m_borderWidth = width; }
1039  { color = m_borderColor; width = m_borderWidth; }
1040  void setViewportBorderVisibility(bool visible) { m_bBorderVisible = visible; }
1042 
1044  double fieldWidth, double fieldHeight, OdGsView::Projection projectionType = OdGsView::kParallel)
1045  {
1048  }
1049  OdGePoint3d position() const { return m_position; }
1050  OdGePoint3d target() const { return m_target; }
1051  OdGeVector3d upVector() const { return m_upVector; }
1052  double lensLength() const { return m_lensLength; }
1055  double fieldWidth() const { return m_fieldsWidth; }
1056  double fieldHeight() const { return m_fieldsHeight; }
1057 
1058  void setEnableFrontClip(bool enable) { m_bFrontClip = enable; }
1059  bool isFrontClipped() const { return m_bFrontClip; }
1061  double frontClip() const { return m_frontClip; }
1062  void setEnableBackClip(bool enable) { m_bBackClip = enable; }
1063  bool isBackClipped() const { return m_bBackClip; }
1065  double backClip() const { return m_backClip; }
1066 
1069 
1070  void hide() { m_bHidden = true; }
1071  void show() { m_bHidden = false; }
1072  bool isVisible() { return !m_bHidden; }
1073 
1075  double linetypeScaleMultiplier() const { return m_ltpMult1; }
1078 
1081 
1082  void setBackground(OdDbStub *backgroundId) { m_bkgnd = backgroundId; }
1083  OdDbStub *background() const { return m_bkgnd; }
1084 
1085  void setVisualStyle(OdDbStub *visualStyleId) { m_visualStyle = visualStyleId; }
1086  OdDbStub *visualStyle() const { return m_visualStyle; }
1087 };
1088 
1096 template <typename GsDeviceInterface = OdGsDevice, typename RedirectionBase = OdGsDefaultRedirectionBase<OdGsDevice, GsDeviceInterface> >
1097 class OdGsDeviceWrapperMinimalImpl : public OdGsDeviceWrapper<GsDeviceInterface, RedirectionBase>
1098 {
1099  protected:
1105  public:
1107  : OdGsDeviceWrapper<GsDeviceInterface, RedirectionBase>(pRedirectionDevice)
1108  , m_backColor(0)
1109  {}
1110 
1111  // OdGsDevice wrappers
1112 
1113  OdGiContext* userGiContext() const { return m_pContext.get(); }
1114  void setUserGiContext(OdGiContext* pUserGiContext)
1115  { m_pContext = pUserGiContext;
1116  for (OdUInt32 nView = 0; nView < m_views.size(); nView++)
1117  m_views[nView]->setUserGiContext(pUserGiContext);
1118  }
1119 
1120  void onSize(const OdGsDCRect& outputRect) { m_size = OdGsDCRectDouble(outputRect); }
1121  void onSize(const OdGsDCRectDouble& outputRect) { m_size = outputRect; }
1122  void getSize(OdGsDCRect& outputRect) const { outputRect = m_size.round(); }
1123  void getSize(OdGsDCRectDouble& outputRect) const { outputRect = m_size; }
1124 
1125  OdGsViewPtr createView(const OdGsClientViewInfo* pViewInfo = 0, bool /*enableLayerVisibilityPerView*/ = false)
1127  if (pViewInfo) pView->setViewInfo(*pViewInfo);
1128  pView->setUserGiContext(m_pContext.get());
1129  pView->setDevice(this); return pView;
1130  }
1131 
1132  void addView(OdGsView* pView) { m_views.push_back(pView); }
1133  void insertView(int viewIndex, OdGsView* pView) { m_views.insertAt(viewIndex, pView); }
1134  bool eraseView(OdGsView* pView) { m_views.remove(pView); return true; }
1135  bool eraseView(int viewIndex) { m_views.removeAt(viewIndex); return true; }
1136  void eraseAllViews() { m_views.clear(); }
1137  int numViews() const { return m_views.size(); }
1138  OdGsView* viewAt(int viewIndex) { return m_views.at(viewIndex); }
1139 
1140  bool setBackgroundColor(ODCOLORREF backgroundColor) { m_backColor = backgroundColor; return true; }
1142 
1143  void setLogicalPalette(const ODCOLORREF* logicalPalette, int numColors)
1144  {
1146  if (numColors)
1147  m_palette.insert(m_palette.end(), logicalPalette, logicalPalette + numColors);
1148  }
1149  const ODCOLORREF* getLogicalPalette(int &numColors) const
1150  {
1151  numColors = (int)m_palette.size();
1152  return m_palette.getPtr();
1153  }
1154 };
1155 
1156 #include "TD_PackPop.h"
1157 
1158 #endif // __GSINTERFACEWRAPPERS_H_INCLUDED_
scale
Definition: DimVarDefs.h:1684
false
Definition: DimVarDefs.h:165
OdArray< OdGsModel *, OdMemoryAllocator< OdGsModel * > > OdGsModelArray
Definition: Gs.h:78
OdSmartPtr< OdGsView > OdGsViewPtr
Definition: Gs.h:61
OdSmartPtr< OdGsModel > OdGsModelPtr
Definition: Gs.h:68
OdSmartPtr< OdRxDictionary > OdRxDictionaryPtr
Definition: Gs.h:87
#define NULL
Definition: GsProperties.h:177
#define ODRGB(r, g, b)
Definition: OdPlatform.h:884
#define ODCOLORREF
Definition: OdPlatform.h:883
unsigned int OdUInt32
unsigned char OdUInt8
iterator end()
Definition: OdArray.h:772
size_type size() const
Definition: OdArray.h:893
const T * getPtr() const
Definition: OdArray.h:1102
void insert(iterator before, const_iterator first, const_iterator afterLast)
Definition: OdArray.h:800
const T * asArrayPtr() const
Definition: OdArray.h:1094
void resize(size_type logicalLength, const T &value)
Definition: OdArray.h:834
OdArray & setPhysicalLength(size_type physLength)
Definition: OdArray.h:1507
static GE_STATIC_EXPORT const OdGeMatrix3d kIdentity
Definition: GeMatrix3d.h:79
static GE_STATIC_EXPORT const OdGePoint3d kOrigin
Definition: GePoint3d.h:89
static GE_STATIC_EXPORT const OdGeVector3d kZAxis
Definition: GeVector3d.h:91
static GE_STATIC_EXPORT const OdGeVector3d kYAxis
Definition: GeVector3d.h:90
OdGsAbstractRedirectionBase(RedirectionBaseInterface *=NULL)
virtual const RedirectionBaseInterface * redirection() const =0
virtual void setRedirection(RedirectionBaseInterface *)
virtual bool hasRedirection() const =0
virtual RedirectionBaseInterface * redirection()=0
OdInt32 y
Definition: GsDefs.h:93
OdGsDCRect round() const
Definition: GsDefs.h:279
const RedirectionBaseInterface * redirection() const
OdGsDefaultRedirectionBase(RedirectionBaseInterface *pRedirectionObj=NULL)
RedirectionBaseInterface * redirection()
void setRedirection(RedirectionBaseInterface *pRedirectionObj)
virtual void onRealizeForegroundPalette()=0
virtual void setLogicalPalette(const ODCOLORREF *logicalPalette, int numColors)=0
virtual void insertView(int viewIndex, OdGsView *pView)=0
virtual OdGsModelPtr createModel()=0
virtual bool eraseView(OdGsView *pView)=0
virtual void onSize(const OdGsDCRect &outputRect)=0
virtual const ODCOLORREF * getLogicalPalette(int &numColors) const =0
virtual void getSnapShot(OdGiRasterImagePtr &pImage, const OdGsDCRect &region)=0
virtual void invalidate()=0
virtual OdRxDictionaryPtr properties()=0
virtual void setUpdateManager(OdGsUpdateManagerPtr pManager)
virtual ODCOLORREF getBackgroundColor()=0
virtual OdGsUpdateManagerPtr getUpdateManager(bool createIfNotExist=false)
virtual bool isValid() const =0
virtual void setUserGiContext(OdGiContext *pUserGiContext)=0
virtual void getSize(OdGsDCRect &outputRect) const =0
virtual void update(OdGsDCRect *pUpdatedRect=0)=0
virtual bool saveDeviceState(OdGsFiler *pFiler) const
virtual OdGsViewPtr createView(const OdGsClientViewInfo *pViewInfo=0, bool enableLayerVisibilityPerView=false)=0
virtual bool loadDeviceState(OdGsFiler *pFiler)
virtual OdGsView * viewAt(int viewIndex)=0
virtual void addView(OdGsView *pView)=0
virtual void onRealizeBackgroundPalette()=0
virtual void eraseAllViews()=0
virtual void onDisplayChange(int bitsPerPixel, int xPixels, int yPixels)=0
virtual bool setBackgroundColor(ODCOLORREF backgroundColor)=0
virtual bool isModelCompatible(OdGsModel *pModel) const
virtual OdGiContext * userGiContext() const =0
virtual int numViews() const =0
OdRxDictionaryPtr properties()
void update(OdGsDCRect *pUpdatedRect=0)
void onSize(const OdGsDCRectDouble &outputRect)
bool eraseView(OdGsView *pView)
OdGsUpdateManagerPtr getUpdateManager(bool createIfNotExist)
bool isModelCompatible(OdGsModel *pModel) const
void getSize(OdGsDCRectDouble &outputRect) const
void invalidate(const OdGsDCRect &screenRect)
void setUpdateManager(OdGsUpdateManagerPtr pManager)
const ODCOLORREF * getLogicalPalette(int &numColors) const
bool loadDeviceState(OdGsFiler *pFiler)
OdGsView * viewAt(int viewIndex)
void onSize(const OdGsDCRect &outputRect)
void getSnapShot(OdGiRasterImagePtr &pImage, const OdGsDCRect &region)
OdGsDeviceWrapper(OdGsDevice *pRedirectionDevice=NULL)
void insertView(int viewIndex, OdGsView *pView)
bool eraseView(int viewIndex)
ODCOLORREF getBackgroundColor()
bool setBackgroundColor(ODCOLORREF backgroundColor)
OdGsModelPtr createModel()
OdGiContext * userGiContext() const
void setLogicalPalette(const ODCOLORREF *logicalPalette, int numColors)
bool saveDeviceState(OdGsFiler *pFiler) const
void setUserGiContext(OdGiContext *pUserGiContext)
void addView(OdGsView *pView)
void onDisplayChange(int bitsPerPixel, int xPixels, int yPixels)
void getSize(OdGsDCRect &outputRect) const
OdGsViewPtr createView(const OdGsClientViewInfo *pViewInfo=0, bool enableLayerVisibilityPerView=false)
void insertView(int viewIndex, OdGsView *pView)
OdGsView * viewAt(int viewIndex)
OdArray< OdGsViewPtr > m_views
bool setBackgroundColor(ODCOLORREF backgroundColor)
OdSmartPtr< OdGiContext > m_pContext
OdGsDeviceWrapperMinimalImpl(OdGsDevice *pRedirectionDevice=NULL)
OdArray< ODCOLORREF, OdMemoryAllocator< ODCOLORREF > > m_palette
void getSize(OdGsDCRectDouble &outputRect) const
OdGiContext * userGiContext() const
void setUserGiContext(OdGiContext *pUserGiContext)
void setLogicalPalette(const ODCOLORREF *logicalPalette, int numColors)
void onSize(const OdGsDCRect &outputRect)
void onSize(const OdGsDCRectDouble &outputRect)
OdGsViewPtr createView(const OdGsClientViewInfo *pViewInfo=0, bool=false)
const ODCOLORREF * getLogicalPalette(int &numColors) const
void getSize(OdGsDCRect &outputRect) const
Definition: Gs.h:133
virtual OdGePoint3d position() const =0
virtual void setViewportClipRegion(int numContours, int const *numVertices, OdGsDCPoint const *vertices)=0
virtual void getViewportBorderProperties(ODCOLORREF &color, int &width) const =0
virtual void zoomExtents(const OdGePoint3d &minPt, const OdGePoint3d &maxPt)=0
virtual void invalidate()=0
virtual void setViewportBorderVisibility(bool visible)=0
virtual bool erase(OdGiDrawable *sceneGraph)=0
virtual void pan(double xPan, double yPan)=0
virtual void beginInteractivity(double frameRateInHz)=0
ClearColor
Definition: Gs.h:920
virtual void setUserGiContext(OdGiContext *pUserGiContext)=0
virtual double lineweightToDcScale() const =0
virtual OdGeMatrix3d projectionMatrix() const =0
virtual bool extentsInView(const OdGePoint3d &minPt, const OdGePoint3d &maxPt) const =0
virtual bool isValid() const =0
virtual void setView(const OdGePoint3d &position, const OdGePoint3d &target, const OdGeVector3d &upVector, double fieldWidth, double fieldHeight, Projection projectionType=kParallel)=0
DefaultLightingType
Definition: Gs.h:168
@ kTwoLights
Definition: Gs.h:170
virtual const OdGiClipBoundary * viewport3dClipping(const OdGiAbstractClipBoundary **ppClipInfo=NULL) const
virtual void clearFrozenLayers()=0
virtual OdGeVector3d upVector() const =0
virtual void zoom(double zoomFactor)=0
virtual void setViewport(const OdGePoint2d &lowerLeft, const OdGePoint2d &upperRight)=0
virtual bool isStereoEnabled() const =0
virtual void select(const OdGsDCPoint *pts, int nPoints, OdGsSelectionReactor *pReactor, OdGsView::SelectionMode mode=OdGsView::kCrossing)=0
virtual void getViewport(OdGePoint2d &lowerLeft, OdGePoint2d &upperRight) const =0
virtual void viewportClipRegion(OdIntArray &counts, OdGsDCPointArray &vertices) const =0
virtual OdGeMatrix3d screenMatrix() const =0
virtual bool isInInteractivity() const =0
virtual void setLineweightToDcScale(double scale)=0
virtual OdGsDevice * device() const =0
virtual bool isPerspective() const =0
virtual void invalidateCachedViewportGeometry()=0
virtual void setViewportBorderProperties(ODCOLORREF color, int width)=0
virtual double fieldHeight() const =0
SelectionMode
Definition: Gs.h:157
@ kCrossing
Definition: Gs.h:159
virtual void setLensLength(double lensLength)=0
virtual void clientViewInfo(OdGsClientViewInfo &clientViewInfo) const
virtual void hide()=0
virtual void eraseAll()=0
virtual OdDbStub * background() const =0
virtual void setStereoParameters(double magnitude, double parallax)=0
virtual void setLineweightEnum(int numLineweights, const OdUInt8 *lineweights)=0
virtual bool add(OdGiDrawable *pSceneGraph, OdGsModel *pModel)=0
virtual void viewParameters(OdGsView *pView) const =0
virtual void getSnapShot(OdGiRasterImagePtr &pImage, const OdGsDCRect &region)=0
virtual bool isViewportBorderVisible() const =0
virtual double linetypeAlternateScaleMultiplier() const =0
virtual OdDbStub * visualStyle() const =0
virtual double linetypeScaleMultiplier() const =0
virtual void initLights(OdRxIterator *pLightsIterator)=0
virtual void setBackClip(double backClip)=0
virtual OdGsModelArray getModelList() const =0
virtual void setEnableBackClip(bool enable)=0
virtual void endInteractivity()=0
virtual RenderMode mode() const =0
virtual OdGiContext * userGiContext() const =0
RenderMode
Definition: Gs.h:138
@ kNone
Definition: Gs.h:147
@ k2DOptimized
Definition: Gs.h:140
virtual void enableDefaultLighting(bool bEnable, DefaultLightingType lightType=kTwoLights)=0
virtual OdGeMatrix3d viewingMatrix() const =0
virtual bool pointInViewport(const OdGePoint2d &screenPoint) const =0
virtual void setVisualStyle(OdDbStub *visualStyleId)=0
virtual void roll(double rollAngle)=0
virtual OdGeMatrix3d objectToDeviceMatrix() const =0
virtual void freezeLayer(OdDbStub *layerID)=0
virtual double backClip() const =0
virtual void setViewport3dClipping(const OdGiClipBoundary *pBoundary, const OdGiAbstractClipBoundary *pClipInfo=NULL)
virtual void enableStereo(bool enabled)=0
virtual void show()=0
virtual void flush()=0
virtual void setAlternateLinetypeScaleMultiplier(double linetypeAlternateScaleMultiplier)=0
virtual bool isFrontClipped() const =0
virtual double fieldWidth() const =0
virtual void getNumPixelsInUnitSquare(const OdGePoint3d &point, OdGePoint2d &pixelDensity, bool bUsePerspective=true) const =0
virtual void setLinetypeScaleMultiplier(double linetypeScaleMultiplier)=0
virtual void getStereoParameters(double &magnitude, double &parallax) const =0
virtual void setMode(RenderMode mode)=0
virtual OdGsModel * getModel(const OdGiDrawable *pDrawable) const =0
virtual void setEnableFrontClip(bool enable)=0
virtual void orbit(double xOrbit, double yOrbit)=0
virtual bool pointInView(const OdGePoint3d &pt) const =0
virtual void setClearColor(ClearColor color)=0
virtual double frontClip() const =0
virtual void setBackground(OdDbStub *backgroundId)=0
virtual OdGePoint3d target() const =0
virtual bool isBackClipped() const =0
virtual OdGeMatrix3d worldToDeviceMatrix() const =0
virtual double lensLength() const =0
virtual bool exceededBounds()=0
virtual void setFrontClip(double frontClip)=0
virtual double interactivityFrameRate() const =0
virtual void zoomWindow(const OdGePoint2d &lowerLeft, const OdGePoint2d &upperRight)=0
Projection
Definition: Gs.h:151
@ kParallel
Definition: Gs.h:152
@ kPerspective
Definition: Gs.h:153
virtual OdGsViewPtr cloneView(bool cloneViewParameters=true, bool cloneGeometry=false)=0
virtual void thawLayer(OdDbStub *layerID)=0
virtual void dolly(const OdGeVector3d &dollyVector)=0
virtual void update()=0
virtual bool isVisible()=0
bool isBackClipped() const
OdGsViewWrapper(OdGsView *pRedirectionView=NULL)
void beginInteractivity(double frameRateInHz)
void orbit(double xOrbit, double yOrbit)
void setStereoParameters(double magnitude, double parallax)
void setViewportClipRegion(int numContours, int const *numVertices, OdGsDCPoint const *vertices)
void setFrontClip(double frontClip)
OdGeMatrix3d viewingMatrix() const
void setViewport(const OdGsDCRectDouble &screenRect)
double linetypeScaleMultiplier() const
void setBackground(OdDbStub *backgroundId)
void getViewport(OdGePoint2d &lowerLeft, OdGePoint2d &upperRight) const
void setLinetypeScaleMultiplier(double linetypeScaleMultiplier)
double linetypeAlternateScaleMultiplier() const
OdGiContext * userGiContext() const
OdGeMatrix3d worldToDeviceMatrix() const
void pan(double xPan, double yPan)
void freezeLayer(OdDbStub *layerID)
void setAlternateLinetypeScaleMultiplier(double linetypeAlternateScaleMultiplier)
void enableDefaultLighting(bool bEnable, OdGsView::DefaultLightingType lightType=OdGsView::kTwoLights)
void setViewportBorderProperties(ODCOLORREF color, int width)
void getNumPixelsInUnitSquare(const OdGePoint3d &point, OdGePoint2d &pixelDensity, bool bUsePerspective=true) const
void setLineweightEnum(int numLineweights, const OdUInt8 *lineweights)
bool isStereoEnabled() const
OdGeVector3d upVector() const
bool add(OdGiDrawable *pSceneGraph, OdGsModel *pModel)
void setViewportClipRegion(int numContours, int const *numVertices, OdGePoint2d const *vertices)
void setMode(OdGsView::RenderMode mode)
double backClip() const
void viewParameters(OdGsView *pView) const
void zoom(double zoomFactor)
OdDbStub * background() const
void setView(const OdGePoint3d &position, const OdGePoint3d &target, const OdGeVector3d &upVector, double fieldWidth, double fieldHeight, OdGsView::Projection projectionType=OdGsView::kParallel)
void dolly(double xDolly, double yDolly, double zDolly)
double fieldHeight() const
double frontClip() const
void select(const OdGsDCPoint *pts, int nPoints, OdGsSelectionReactor *pReactor, OdGsView::SelectionMode mode=OdGsView::kCrossing)
OdGsViewPtr cloneView(bool cloneViewParameters=true, bool cloneGeometry=false)
double fieldWidth() const
void setViewport(const OdGsDCRect &screenRect)
void roll(double rollAngle)
bool isPerspective() const
OdDbStub * visualStyle() const
void initLights(OdRxIterator *pLightsIterator)
void zoomWindow(const OdGePoint2d &lowerLeft, const OdGePoint2d &upperRight)
void invalidate(const OdGsDCRect &screenRect)
bool isFrontClipped() const
double lineweightToDcScale() const
void setLineweightToDcScale(double scale)
OdGsModel * getModel(const OdGiDrawable *pDrawable) const
bool visualStyle(OdGiVisualStyle &visualStyle) const
OdGeMatrix3d objectToDeviceMatrix() const
OdGePoint3d position() const
void viewportClipRegion(OdIntArray &counts, OdGsDCPointArray &vertices) const
void setViewportBorderVisibility(bool visible)
bool extentsInView(const OdGePoint3d &minPt, const OdGePoint3d &maxPt) const
bool erase(OdGiDrawable *sceneGraph)
void enableStereo(bool enabled)
bool isInInteractivity() const
void getStereoParameters(double &magnitude, double &parallax) const
void setClearColor(OdGsView::ClearColor color)
void dolly(const OdGeVector3d &dollyVector)
void clientViewInfo(OdGsClientViewInfo &clientViewInfo) const
void setBackClip(double backClip)
double lensLength() const
void setLensLength(double lensLength)
void getViewport(OdGsDCRect &screenRect) const
void setViewport3dClipping(const OdGiClipBoundary *pBoundary, const OdGiAbstractClipBoundary *pClipInfo=NULL)
double interactivityFrameRate() const
void getSnapShot(OdGiRasterImagePtr &pImage, const OdGsDCRect &region)
void thawLayer(OdDbStub *layerID)
void getViewport(OdGsDCRectDouble &screenRect) const
void setEnableBackClip(bool enable)
void invalidateCachedViewportGeometry()
void setVisualStyle(OdDbStub *visualStyleId)
void setViewport(const OdGePoint2d &lowerLeft, const OdGePoint2d &upperRight)
void viewportClipRegion(OdIntArray &counts, OdGePoint2dArray &vertices) const
bool pointInView(const OdGePoint3d &pt) const
void setVisualStyle(const OdGiVisualStyle &visualStyle)
void setEnableFrontClip(bool enable)
bool pointInViewport(const OdGePoint2d &screenPoint) const
OdGeMatrix3d screenMatrix() const
OdGsModelArray getModelList() const
bool isViewportBorderVisible() const
void setUserGiContext(OdGiContext *pUserGiContext)
void zoomExtents(const OdGePoint3d &minPt, const OdGePoint3d &maxPt)
OdGsDevice * device() const
OdGeMatrix3d projectionMatrix() const
void getViewportBorderProperties(ODCOLORREF &color, int &width) const
OdGePoint3d target() const
OdGsView::RenderMode mode() const
const OdGiClipBoundary * viewport3dClipping(const OdGiAbstractClipBoundary **ppClipInfo=NULL) const
OdGsViewWrapperMinimalImpl(OdGsView *pRedirectionView=NULL)
OdGiContext * userGiContext() const
void getViewport(OdGsDCRect &screenRect) const
void setViewportBorderVisibility(bool visible)
void viewportClipRegion(OdIntArray &counts, OdGePoint2dArray &vertices) const
void setFrontClip(double frontClip)
void setViewport(const OdGsDCRect &screenRect)
void viewportClipRegion(OdIntArray &counts, OdGsDCPointArray &vertices) const
void setLineweightToDcScale(double scale)
void setViewport(const OdGsDCRectDouble &screenRect)
void setViewportClipRegion(int numContours, int const *numVertices, OdGsDCPoint const *vertices)
void setLensLength(double lensLength)
OdGsView::RenderMode mode() const
void setViewportClipRegion(int numContours, int const *numVertices, OdGePoint2d const *vertices)
void setViewport(const OdGePoint2d &lowerLeft, const OdGePoint2d &upperRight)
void getViewport(OdGsDCRectDouble &screenRect) const
OdGsView::RenderMode m_renderMode
void setAlternateLinetypeScaleMultiplier(double linetypeAlternateScaleMultiplier)
void setMode(OdGsView::RenderMode mode)
void setEnableFrontClip(bool enable)
void setLinetypeScaleMultiplier(double linetypeScaleMultiplier)
void setUserGiContext(OdGiContext *pUserGiContext)
void setView(const OdGePoint3d &position, const OdGePoint3d &target, const OdGeVector3d &upVector, double fieldWidth, double fieldHeight, OdGsView::Projection projectionType=OdGsView::kParallel)
OdGsView::Projection m_projection
void setBackground(OdDbStub *backgroundId)
void getViewportBorderProperties(ODCOLORREF &color, int &width) const
void setBackClip(double backClip)
double linetypeAlternateScaleMultiplier() const
void setVisualStyle(OdDbStub *visualStyleId)
void setDevice(OdGsDevice *pDevice)
void setViewInfo(const OdGsClientViewInfo &clientViewInfo)
void setViewportBorderProperties(ODCOLORREF color, int width)
void getViewport(OdGePoint2d &lowerLeft, OdGePoint2d &upperRight) const
void clientViewInfo(OdGsClientViewInfo &clientViewInfo) const
const T * get() const
Definition: SmartPtr.h:326
GLint GLenum GLsizei width
Definition: gles2_ext.h:110
GLfloat x
Definition: gles2_ext.h:314
GLfloat GLfloat y
Definition: gles2_ext.h:316