File indexing completed on 2026-09-13 09:16:35
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014 #ifndef _Graphic3d_CView_HeaderFile
0015 #define _Graphic3d_CView_HeaderFile
0016
0017 #include <Aspect_GridParams.hxx>
0018 #include <Aspect_RenderingContext.hxx>
0019 #include <Aspect_SkydomeBackground.hxx>
0020 #include <Aspect_Window.hxx>
0021 #include <gp_Ax3.hxx>
0022 #include <Graphic3d_BufferType.hxx>
0023 #include <Graphic3d_CubeMap.hxx>
0024 #include <Graphic3d_DataStructureManager.hxx>
0025 #include <Graphic3d_DiagnosticInfo.hxx>
0026 #include <Graphic3d_GraduatedTrihedron.hxx>
0027 #include <Graphic3d_Vertex.hxx>
0028 #include <Standard_Transient.hxx>
0029 #include <NCollection_Map.hxx>
0030 #include <NCollection_Shared.hxx>
0031 #include <Graphic3d_RenderingParams.hxx>
0032 #include <Graphic3d_Structure.hxx>
0033 #include <NCollection_Sequence.hxx>
0034 #include <Graphic3d_TextureEnv.hxx>
0035 #include <Graphic3d_TypeOfAnswer.hxx>
0036 #include <Graphic3d_TypeOfBackfacingModel.hxx>
0037 #include <Graphic3d_TypeOfBackground.hxx>
0038 #include <Graphic3d_TypeOfShadingModel.hxx>
0039 #include <Graphic3d_TypeOfVisualization.hxx>
0040 #include <NCollection_Vec3.hxx>
0041 #include <Standard_TypeDef.hxx>
0042 #include <Graphic3d_ZLayerId.hxx>
0043 #include <Graphic3d_ZLayerSettings.hxx>
0044 #include <Image_PixMap.hxx>
0045 #include <TCollection_AsciiString.hxx>
0046 #include <NCollection_IndexedDataMap.hxx>
0047
0048 class Aspect_NeutralWindow;
0049 class Aspect_XRSession;
0050 class Graphic3d_CView;
0051 class Graphic3d_Layer;
0052 class Graphic3d_StructureManager;
0053
0054
0055
0056
0057
0058
0059 class Graphic3d_CView : public Graphic3d_DataStructureManager
0060 {
0061 friend class Graphic3d_StructureManager;
0062 DEFINE_STANDARD_RTTIEXT(Graphic3d_CView, Graphic3d_DataStructureManager)
0063 public:
0064
0065 Standard_EXPORT Graphic3d_CView(const occ::handle<Graphic3d_StructureManager>& theMgr);
0066
0067
0068 Standard_EXPORT ~Graphic3d_CView() override;
0069
0070
0071 int Identification() const { return myId; }
0072
0073
0074 Standard_EXPORT virtual void Activate();
0075
0076
0077
0078 Standard_EXPORT virtual void Deactivate();
0079
0080
0081 bool IsActive() const { return myIsActive; }
0082
0083
0084
0085 Standard_EXPORT virtual void Remove();
0086
0087
0088 bool IsRemoved() const { return myIsRemoved; }
0089
0090
0091 const occ::handle<Graphic3d_Camera>& Camera() const override { return myCamera; }
0092
0093
0094 virtual void SetCamera(const occ::handle<Graphic3d_Camera>& theCamera) { myCamera = theCamera; }
0095
0096
0097 virtual bool ToFlipOutput() const { return false; }
0098
0099
0100 virtual void SetToFlipOutput(const bool) {}
0101
0102 public:
0103
0104 Graphic3d_TypeOfShadingModel ShadingModel() const { return myRenderParams.ShadingModel; }
0105
0106
0107
0108 Standard_EXPORT void SetShadingModel(Graphic3d_TypeOfShadingModel theModel);
0109
0110
0111
0112 Graphic3d_TypeOfBackfacingModel BackfacingModel() const { return myBackfacing; }
0113
0114
0115 void SetBackfacingModel(const Graphic3d_TypeOfBackfacingModel theModel)
0116 {
0117 myBackfacing = theModel;
0118 }
0119
0120
0121 Graphic3d_TypeOfVisualization VisualizationType() const { return myVisualization; }
0122
0123
0124 void SetVisualizationType(const Graphic3d_TypeOfVisualization theType)
0125 {
0126 myVisualization = theType;
0127 }
0128
0129
0130 Graphic3d_ZLayerId ZLayerTarget() const { return myZLayerTarget; }
0131
0132
0133 void SetZLayerTarget(const Graphic3d_ZLayerId theTarget) { myZLayerTarget = theTarget; }
0134
0135
0136 bool ZLayerRedrawMode() const { return myZLayerRedrawMode; }
0137
0138
0139 void SetZLayerRedrawMode(const bool theMode) { myZLayerRedrawMode = theMode; }
0140
0141
0142 Standard_EXPORT void SetComputedMode(const bool theMode);
0143
0144
0145 bool ComputedMode() const { return myIsInComputedMode; }
0146
0147
0148
0149 Standard_EXPORT void ReCompute(const occ::handle<Graphic3d_Structure>& theStructure);
0150
0151
0152 Standard_EXPORT void Update(const Graphic3d_ZLayerId theLayerId = Graphic3d_ZLayerId_UNKNOWN);
0153
0154
0155
0156 Standard_EXPORT void Compute();
0157
0158
0159 Standard_EXPORT void DisplayedStructures(
0160 NCollection_Map<occ::handle<Graphic3d_Structure>>& theStructures) const;
0161
0162
0163 virtual int NumberOfDisplayedStructures() const { return myStructsDisplayed.Extent(); }
0164
0165
0166
0167 Standard_EXPORT bool IsComputed(const int theStructId,
0168 occ::handle<Graphic3d_Structure>& theComputedStruct) const;
0169
0170
0171
0172
0173
0174
0175
0176 Standard_EXPORT virtual Bnd_Box MinMaxValues(const bool theToIncludeAuxiliary = false) const;
0177
0178
0179 virtual void ZFitAllBounds(Bnd_Box& thePrimaryBox, Bnd_Box& theGraphicBox) const
0180 {
0181 thePrimaryBox = MinMaxValues(false);
0182 theGraphicBox = MinMaxValues(true);
0183 }
0184
0185
0186
0187
0188
0189 Standard_EXPORT Bnd_Box
0190 MinMaxValues(const NCollection_Map<occ::handle<Graphic3d_Structure>>& theSet,
0191 const bool theToIncludeAuxiliary = false) const;
0192
0193
0194 const occ::handle<Graphic3d_StructureManager>& StructureManager() const
0195 {
0196 return myStructureManager;
0197 }
0198
0199 private:
0200
0201 Standard_EXPORT Graphic3d_TypeOfAnswer
0202 acceptDisplay(const Graphic3d_TypeOfStructure theStructType) const;
0203
0204
0205 Standard_EXPORT void Clear(Graphic3d_Structure* theStructure, const bool theWithDestruction);
0206
0207
0208 Standard_EXPORT void Connect(const Graphic3d_Structure* theMother,
0209 const Graphic3d_Structure* theDaughter);
0210
0211
0212 Standard_EXPORT void Disconnect(const Graphic3d_Structure* theMother,
0213 const Graphic3d_Structure* theDaughter);
0214
0215
0216 Standard_EXPORT void Display(const occ::handle<Graphic3d_Structure>& theStructure);
0217
0218
0219 Standard_EXPORT void Erase(const occ::handle<Graphic3d_Structure>& theStructure);
0220
0221
0222 Standard_EXPORT void Highlight(const occ::handle<Graphic3d_Structure>& theStructure);
0223
0224
0225 Standard_EXPORT void SetTransform(const occ::handle<Graphic3d_Structure>& theStructure,
0226 const occ::handle<TopLoc_Datum3D>& theTrsf);
0227
0228
0229
0230 Standard_EXPORT void UnHighlight(const occ::handle<Graphic3d_Structure>& theStructure);
0231
0232
0233 Standard_EXPORT int IsComputed(const Graphic3d_Structure* theStructure) const;
0234
0235 int IsComputed(const occ::handle<Graphic3d_Structure>& theStructure) const
0236 {
0237 return IsComputed(theStructure.get());
0238 }
0239
0240
0241 Standard_EXPORT bool IsDisplayed(const occ::handle<Graphic3d_Structure>& theStructure) const;
0242
0243
0244 Standard_EXPORT void ChangePriority(const occ::handle<Graphic3d_Structure>& theStructure,
0245 const Graphic3d_DisplayPriority theOldPriority,
0246 const Graphic3d_DisplayPriority theNewPriority);
0247
0248
0249 Standard_EXPORT void ChangeZLayer(const occ::handle<Graphic3d_Structure>& theStructure,
0250 const Graphic3d_ZLayerId theLayerId);
0251
0252
0253
0254 Standard_EXPORT int HaveTheSameOwner(const occ::handle<Graphic3d_Structure>& theStructure) const;
0255
0256 public:
0257
0258 virtual void Redraw() = 0;
0259
0260
0261 virtual void RedrawImmediate() = 0;
0262
0263
0264 virtual void Invalidate() = 0;
0265
0266
0267 virtual bool IsInvalidated() = 0;
0268
0269
0270 Standard_EXPORT virtual void Resized() = 0;
0271
0272
0273
0274
0275
0276
0277
0278
0279
0280
0281
0282
0283
0284 virtual bool SetImmediateModeDrawToFront(const bool theDrawToFrontBuffer) = 0;
0285
0286
0287
0288
0289
0290 virtual void SetWindow(const occ::handle<Graphic3d_CView>& theParentVIew,
0291 const occ::handle<Aspect_Window>& theWindow,
0292 const Aspect_RenderingContext theContext) = 0;
0293
0294
0295 virtual occ::handle<Aspect_Window> Window() const = 0;
0296
0297
0298 virtual bool IsDefined() const = 0;
0299
0300
0301 virtual bool BufferDump(Image_PixMap& theImage, const Graphic3d_BufferType& theBufferType) = 0;
0302
0303
0304
0305
0306 virtual bool ShadowMapDump(Image_PixMap& theImage,
0307 const TCollection_AsciiString& theLightName) = 0;
0308
0309
0310
0311 virtual void InvalidateBVHData(const Graphic3d_ZLayerId theLayerId) = 0;
0312
0313
0314
0315
0316
0317
0318 virtual void InsertLayerBefore(const Graphic3d_ZLayerId theNewLayerId,
0319 const Graphic3d_ZLayerSettings& theSettings,
0320 const Graphic3d_ZLayerId theLayerAfter) = 0;
0321
0322
0323
0324
0325
0326
0327 virtual void InsertLayerAfter(const Graphic3d_ZLayerId theNewLayerId,
0328 const Graphic3d_ZLayerSettings& theSettings,
0329 const Graphic3d_ZLayerId theLayerBefore) = 0;
0330
0331
0332
0333 virtual int ZLayerMax() const = 0;
0334
0335
0336 virtual const NCollection_List<occ::handle<Graphic3d_Layer>>& Layers() const = 0;
0337
0338
0339 virtual occ::handle<Graphic3d_Layer> Layer(const Graphic3d_ZLayerId theLayerId) const = 0;
0340
0341
0342 Standard_EXPORT virtual void InvalidateZLayerBoundingBox(const Graphic3d_ZLayerId theLayerId);
0343
0344
0345
0346
0347
0348 virtual void RemoveZLayer(const Graphic3d_ZLayerId theLayerId) = 0;
0349
0350
0351 virtual void SetZLayerSettings(const Graphic3d_ZLayerId theLayerId,
0352 const Graphic3d_ZLayerSettings& theSettings) = 0;
0353
0354
0355 Standard_EXPORT double ConsiderZoomPersistenceObjects();
0356
0357
0358 virtual occ::handle<Standard_Transient> FBO() const = 0;
0359
0360
0361 virtual void SetFBO(const occ::handle<Standard_Transient>& theFbo) = 0;
0362
0363
0364
0365 virtual occ::handle<Standard_Transient> FBOCreate(const int theWidth, const int theHeight) = 0;
0366
0367
0368 virtual void FBORelease(occ::handle<Standard_Transient>& theFbo) = 0;
0369
0370
0371 virtual void FBOGetDimensions(const occ::handle<Standard_Transient>& theFbo,
0372 int& theWidth,
0373 int& theHeight,
0374 int& theWidthMax,
0375 int& theHeightMax) = 0;
0376
0377
0378 virtual void FBOChangeViewport(const occ::handle<Standard_Transient>& theFbo,
0379 const int theWidth,
0380 const int theHeight) = 0;
0381
0382 public:
0383
0384
0385
0386 Standard_EXPORT virtual void CopySettings(const occ::handle<Graphic3d_CView>& theOther);
0387
0388
0389 const Graphic3d_RenderingParams& RenderingParams() const { return myRenderParams; }
0390
0391
0392 Graphic3d_RenderingParams& ChangeRenderingParams() { return myRenderParams; }
0393
0394 public:
0395
0396 virtual Aspect_Background Background() const { return Aspect_Background(myBgColor.GetRGB()); }
0397
0398
0399 virtual void SetBackground(const Aspect_Background& theBackground)
0400 {
0401 myBgColor.SetRGB(theBackground.Color());
0402 }
0403
0404
0405 virtual Aspect_GradientBackground GradientBackground() const = 0;
0406
0407
0408 virtual void SetGradientBackground(const Aspect_GradientBackground& theBackground) = 0;
0409
0410
0411 const occ::handle<Graphic3d_TextureMap>& BackgroundImage() { return myBackgroundImage; }
0412
0413
0414 const occ::handle<Graphic3d_CubeMap>& BackgroundCubeMap() const { return myCubeMapBackground; }
0415
0416
0417 const occ::handle<Graphic3d_CubeMap>& IBLCubeMap() const { return myCubeMapIBL; }
0418
0419
0420
0421
0422
0423
0424 virtual void SetBackgroundImage(const occ::handle<Graphic3d_TextureMap>& theTextureMap,
0425 bool theToUpdatePBREnv = true) = 0;
0426
0427
0428 virtual Aspect_FillMethod BackgroundImageStyle() const = 0;
0429
0430
0431 virtual void SetBackgroundImageStyle(const Aspect_FillMethod theFillStyle) = 0;
0432
0433
0434 Graphic3d_TypeOfBackground BackgroundType() const { return myBackgroundType; }
0435
0436
0437 void SetBackgroundType(Graphic3d_TypeOfBackground theType) { myBackgroundType = theType; }
0438
0439
0440 const Aspect_SkydomeBackground& BackgroundSkydome() const { return mySkydomeAspect; }
0441
0442
0443 Standard_EXPORT void SetBackgroundSkydome(const Aspect_SkydomeBackground& theAspect,
0444 bool theToUpdatePBREnv = true);
0445
0446
0447
0448
0449 virtual void SetImageBasedLighting(bool theToEnableIBL) = 0;
0450
0451
0452
0453
0454
0455 virtual void GridDisplay(const Aspect_GridParams& theParams, const gp_Ax3& thePlane)
0456 {
0457 (void)theParams;
0458 (void)thePlane;
0459 }
0460
0461
0462
0463 virtual void GridErase() {}
0464
0465
0466
0467 virtual bool ShaderGridEcho(const int theX, const int theY, Graphic3d_Vertex& thePoint) const
0468 {
0469 (void)theX;
0470 (void)theY;
0471 (void)thePoint;
0472 return false;
0473 }
0474
0475
0476
0477
0478
0479 virtual bool ShaderGridEcho(const int theX,
0480 const int theY,
0481 Graphic3d_Vertex& thePoint,
0482 Graphic3d_Vertex& theDisplayPoint) const
0483 {
0484 if (!ShaderGridEcho(theX, theY, thePoint))
0485 {
0486 return false;
0487 }
0488 theDisplayPoint = thePoint;
0489 return true;
0490 }
0491
0492
0493
0494 virtual bool ShaderGridSnapPoint(const Graphic3d_Vertex& thePoint,
0495 Graphic3d_Vertex& theGridPoint) const
0496 {
0497 (void)thePoint;
0498 (void)theGridPoint;
0499 return false;
0500 }
0501
0502
0503 const occ::handle<Graphic3d_TextureEnv>& TextureEnv() const { return myTextureEnvData; }
0504
0505
0506 virtual void SetTextureEnv(const occ::handle<Graphic3d_TextureEnv>& theTextureEnv) = 0;
0507
0508 public:
0509
0510 virtual const occ::handle<Graphic3d_LightSet>& Lights() const = 0;
0511
0512
0513 virtual void SetLights(const occ::handle<Graphic3d_LightSet>& theLights) = 0;
0514
0515
0516 virtual const occ::handle<Graphic3d_SequenceOfHClipPlane>& ClipPlanes() const = 0;
0517
0518
0519 virtual void SetClipPlanes(const occ::handle<Graphic3d_SequenceOfHClipPlane>& thePlanes) = 0;
0520
0521
0522
0523
0524
0525
0526
0527
0528 Standard_EXPORT virtual void DiagnosticInformation(
0529 NCollection_IndexedDataMap<TCollection_AsciiString, TCollection_AsciiString>& theDict,
0530 Graphic3d_DiagnosticInfo theFlags) const = 0;
0531
0532
0533 virtual TCollection_AsciiString StatisticInformation() const = 0;
0534
0535
0536 virtual void StatisticInformation(
0537 NCollection_IndexedDataMap<TCollection_AsciiString, TCollection_AsciiString>& theDict)
0538 const = 0;
0539
0540 public:
0541
0542
0543
0544 double UnitFactor() const { return myUnitFactor; }
0545
0546
0547 Standard_EXPORT void SetUnitFactor(double theFactor);
0548
0549
0550 const occ::handle<Aspect_XRSession>& XRSession() const { return myXRSession; }
0551
0552
0553 void SetXRSession(const occ::handle<Aspect_XRSession>& theSession) { myXRSession = theSession; }
0554
0555
0556 Standard_EXPORT bool IsActiveXR() const;
0557
0558
0559 Standard_EXPORT virtual bool InitXR();
0560
0561
0562 Standard_EXPORT virtual void ReleaseXR();
0563
0564
0565 Standard_EXPORT virtual void ProcessXRInput();
0566
0567
0568 Standard_EXPORT void SetupXRPosedCamera();
0569
0570
0571
0572 Standard_EXPORT void UnsetXRPosedCamera();
0573
0574
0575 const occ::handle<Graphic3d_Camera>& PosedXRCamera() const { return myPosedXRCamera; }
0576
0577
0578 void SetPosedXRCamera(const occ::handle<Graphic3d_Camera>& theCamera)
0579 {
0580 myPosedXRCamera = theCamera;
0581 }
0582
0583
0584 const occ::handle<Graphic3d_Camera>& BaseXRCamera() const { return myBaseXRCamera; }
0585
0586
0587 void SetBaseXRCamera(const occ::handle<Graphic3d_Camera>& theCamera)
0588 {
0589 myBaseXRCamera = theCamera;
0590 }
0591
0592
0593
0594
0595
0596 gp_Trsf PoseXRToWorld(const gp_Trsf& thePoseXR) const
0597 {
0598 const occ::handle<Graphic3d_Camera>& anOrigin = myBaseXRCamera;
0599 const gp_Ax3 anAxVr(gp::Origin(), gp::DZ(), gp::DX());
0600 const gp_Ax3 aCameraCS(anOrigin->Eye().XYZ(), -anOrigin->Direction(), -anOrigin->SideRight());
0601 gp_Trsf aTrsfCS;
0602 aTrsfCS.SetTransformation(aCameraCS, anAxVr);
0603 return aTrsfCS * thePoseXR;
0604 }
0605
0606
0607
0608
0609 gp_Ax1 ViewAxisInWorld(const gp_Trsf& thePoseXR) const
0610 {
0611 return gp_Ax1(gp::Origin(), -gp::DZ()).Transformed(PoseXRToWorld(thePoseXR));
0612 }
0613
0614
0615 Standard_EXPORT void SynchronizeXRBaseToPosedCamera();
0616
0617
0618
0619 Standard_EXPORT void SynchronizeXRPosedToBaseCamera();
0620
0621
0622 Standard_EXPORT void ComputeXRPosedCameraFromBase(Graphic3d_Camera& theCam,
0623 const gp_Trsf& theXRTrsf) const;
0624
0625
0626 Standard_EXPORT void ComputeXRBaseCameraFromPosed(const Graphic3d_Camera& theCamPosed,
0627 const gp_Trsf& thePoseTrsf);
0628
0629
0630 Standard_EXPORT void TurnViewXRCamera(const gp_Trsf& theTrsfTurn);
0631
0632 public:
0633
0634 virtual const Graphic3d_GraduatedTrihedron& GetGraduatedTrihedron() { return myGTrihedronData; }
0635
0636
0637 virtual void GraduatedTrihedronDisplay(const Graphic3d_GraduatedTrihedron& theTrihedronData)
0638 {
0639 (void)theTrihedronData;
0640 }
0641
0642
0643 virtual void GraduatedTrihedronErase() {}
0644
0645
0646
0647
0648
0649 virtual void GraduatedTrihedronMinMaxValues(const NCollection_Vec3<float> theMin,
0650 const NCollection_Vec3<float> theMax)
0651 {
0652 (void)theMin;
0653 (void)theMax;
0654 }
0655
0656
0657 Standard_EXPORT void DumpJson(Standard_OStream& theOStream, int theDepth = -1) const override;
0658
0659 public:
0660
0661 bool IsSubview() const { return myParentView != nullptr; }
0662
0663
0664 Graphic3d_CView* ParentView() { return myParentView; }
0665
0666
0667
0668
0669
0670
0671 bool IsSubviewComposer() const { return myIsSubviewComposer; }
0672
0673
0674 void SetSubviewComposer(bool theIsComposer) { myIsSubviewComposer = theIsComposer; }
0675
0676
0677 const NCollection_Sequence<occ::handle<Graphic3d_CView>>& Subviews() const { return mySubviews; }
0678
0679
0680 Standard_EXPORT void AddSubview(const occ::handle<Graphic3d_CView>& theView);
0681
0682
0683 Standard_EXPORT bool RemoveSubview(const Graphic3d_CView* theView);
0684
0685
0686 Aspect_TypeOfTriedronPosition SubviewCorner() const { return mySubviewCorner; }
0687
0688
0689 void SetSubviewCorner(Aspect_TypeOfTriedronPosition thePos) { mySubviewCorner = thePos; }
0690
0691
0692 const NCollection_Vec2<int>& SubviewTopLeft() const { return mySubviewTopLeft; }
0693
0694
0695 bool IsSubViewRelativeSize() const
0696 {
0697 return mySubviewSize.x() <= 1.0 && mySubviewSize.y() <= 1.0;
0698 }
0699
0700
0701
0702
0703 const NCollection_Vec2<double>& SubviewSize() const { return mySubviewSize; }
0704
0705
0706 void SetSubviewSize(const NCollection_Vec2<double>& theSize) { mySubviewSize = theSize; }
0707
0708
0709
0710
0711 const NCollection_Vec2<double>& SubviewOffset() const { return mySubviewOffset; }
0712
0713
0714 void SetSubviewOffset(const NCollection_Vec2<double>& theOffset) { mySubviewOffset = theOffset; }
0715
0716
0717 const NCollection_Vec2<int>& SubviewMargins() const { return mySubviewMargins; }
0718
0719
0720 void SetSubviewMargins(const NCollection_Vec2<int>& theMargins) { mySubviewMargins = theMargins; }
0721
0722
0723 Standard_EXPORT void SubviewResized(const occ::handle<Aspect_NeutralWindow>& theWindow);
0724
0725 private:
0726
0727 virtual void displayStructure(const occ::handle<Graphic3d_CStructure>& theStructure,
0728 const Graphic3d_DisplayPriority thePriority) = 0;
0729
0730
0731 virtual void eraseStructure(const occ::handle<Graphic3d_CStructure>& theStructure) = 0;
0732
0733
0734 virtual void changeZLayer(const occ::handle<Graphic3d_CStructure>& theCStructure,
0735 const Graphic3d_ZLayerId theNewLayerId) = 0;
0736
0737
0738 virtual void changePriority(const occ::handle<Graphic3d_CStructure>& theCStructure,
0739 const Graphic3d_DisplayPriority theNewPriority) = 0;
0740
0741 protected:
0742 int myId;
0743 Graphic3d_RenderingParams myRenderParams;
0744
0745 NCollection_Sequence<occ::handle<Graphic3d_CView>> mySubviews;
0746 Graphic3d_CView* myParentView;
0747
0748 bool myIsSubviewComposer;
0749 Aspect_TypeOfTriedronPosition mySubviewCorner;
0750 NCollection_Vec2<int> mySubviewTopLeft;
0751 NCollection_Vec2<int> mySubviewMargins;
0752 NCollection_Vec2<double> mySubviewSize;
0753 NCollection_Vec2<double> mySubviewOffset;
0754
0755
0756 occ::handle<Graphic3d_StructureManager> myStructureManager;
0757 occ::handle<Graphic3d_Camera> myCamera;
0758 NCollection_Sequence<occ::handle<Graphic3d_Structure>> myStructsToCompute;
0759 NCollection_Sequence<occ::handle<Graphic3d_Structure>> myStructsComputed;
0760 NCollection_Map<occ::handle<Graphic3d_Structure>> myStructsDisplayed;
0761 bool myIsInComputedMode;
0762 bool myIsActive;
0763 bool myIsRemoved;
0764 Graphic3d_TypeOfBackfacingModel myBackfacing;
0765 Graphic3d_TypeOfVisualization myVisualization;
0766
0767
0768 Graphic3d_ZLayerId myZLayerTarget;
0769 bool myZLayerRedrawMode;
0770
0771
0772 Quantity_ColorRGBA myBgColor;
0773 occ::handle<Graphic3d_TextureMap> myBackgroundImage;
0774 occ::handle<Graphic3d_CubeMap> myCubeMapBackground;
0775 occ::handle<Graphic3d_CubeMap> myCubeMapIBL;
0776 occ::handle<Graphic3d_TextureEnv> myTextureEnvData;
0777 Graphic3d_GraduatedTrihedron myGTrihedronData;
0778 Graphic3d_TypeOfBackground myBackgroundType;
0779 Aspect_SkydomeBackground mySkydomeAspect;
0780 bool myToUpdateSkydome;
0781
0782 occ::handle<Aspect_XRSession> myXRSession;
0783
0784 occ::handle<Graphic3d_Camera> myBackXRCamera;
0785 occ::handle<Graphic3d_Camera> myBaseXRCamera;
0786 occ::handle<Graphic3d_Camera> myPosedXRCamera;
0787 occ::handle<Graphic3d_Camera> myPosedXRCameraCopy;
0788 double myUnitFactor;
0789
0790 };
0791
0792 #endif