File indexing completed on 2026-10-02 09:12:29
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015 #ifndef _Graphic3d_MediaTexture_HeaderFile
0016 #define _Graphic3d_MediaTexture_HeaderFile
0017
0018 #include <Graphic3d_Texture2D.hxx>
0019
0020 #include <mutex>
0021
0022 class Media_Frame;
0023
0024
0025 class Graphic3d_MediaTexture : public Graphic3d_Texture2D
0026 {
0027 DEFINE_STANDARD_RTTIEXT(Graphic3d_MediaTexture, Graphic3d_Texture2D)
0028 public:
0029
0030 Standard_EXPORT occ::handle<Image_PixMap> GetImage(
0031 const occ::handle<Image_SupportedFormats>& theSupported) override;
0032
0033
0034 const occ::handle<Media_Frame>& Frame() const { return myFrame; }
0035
0036
0037 void SetFrame(const occ::handle<Media_Frame>& theFrame) { myFrame = theFrame; }
0038
0039
0040 void GenerateNewId() { generateId(); }
0041
0042 friend class Graphic3d_MediaTextureSet;
0043
0044 private:
0045
0046
0047 Standard_EXPORT Graphic3d_MediaTexture(std::mutex& theMutex, int thePlane = -1);
0048
0049 protected:
0050 std::mutex& myMutex;
0051 occ::handle<Media_Frame> myFrame;
0052 int myPlane;
0053 mutable occ::handle<Image_PixMap> myPixMapWrapper;
0054 };
0055
0056 #endif