OCCT3D OCCT 8.0.1
OCCT documentation

Search guides and API reference

Enter at least two characters.

    Open CASCADE Technology Reference Manual 8.0.1
    Graphic3d_MediaTextureSet Class Reference

    Texture adapter for Media_Frame. More...

    #include <Graphic3d_MediaTextureSet.hxx>

    Inheritance diagram for Graphic3d_MediaTextureSet:

    Public Types

    typedef void(* CallbackOnUpdate_t) (void *theUserPtr)
     Callback definition.
    typedef void base_type
     Returns a type descriptor about this object.

    Public Member Functions

     Graphic3d_MediaTextureSet ()
     Empty constructor.
    void SetCallback (CallbackOnUpdate_t theCallbackFunction, void *theCallbackUserPtr)
     Setup callback to be called on queue progress (e.g. when new frame should be displayed).
    void Notify ()
     Call callback.
    const TCollection_AsciiStringInput () const
     Return input media.
    void OpenInput (const TCollection_AsciiString &thePath, bool theToWait)
     Open specified file. Passing an empty path would close current input.
    const occ::handle< Media_PlayerContext > & PlayerContext () const
     Return player context; it can be NULL until first OpenInput().
    bool SwapFrames ()
     Swap front/back frames.
    NCollection_Vec2< int > FrameSize () const
     Return front frame dimensions.
    occ::handle< Graphic3d_ShaderProgramShaderProgram () const
     Return shader program for displaying texture set.
    bool IsPlanarYUV () const
     Return TRUE if texture set defined 3 YUV planes.
    bool IsFullRangeYUV () const
     Return TRUE if YUV range is full.
    double Duration () const
     Return duration in seconds.
    double Progress () const
     Return playback progress in seconds.
    Public Member Functions inherited from Graphic3d_TextureSet
     Graphic3d_TextureSet ()=default
     Empty constructor.
     Graphic3d_TextureSet (int theNbTextures)
     Constructor.
     Graphic3d_TextureSet (const occ::handle< Graphic3d_TextureMap > &theTexture)
     Constructor for a single texture.
    bool IsEmpty () const
     Return TRUE if texture array is empty.
    int Size () const
     Return number of textures.
    int Lower () const
     Return the lower index in texture set.
    int Upper () const
     Return the upper index in texture set.
    const occ::handle< Graphic3d_TextureMap > & First () const
     Return the first texture.
    void SetFirst (const occ::handle< Graphic3d_TextureMap > &theTexture)
     Return the first texture.
    const occ::handle< Graphic3d_TextureMap > & Value (int theIndex) const
     Return the texture at specified position within [0, Size()) range.
    void SetValue (int theIndex, const occ::handle< Graphic3d_TextureMap > &theTexture)
     Return the texture at specified position within [0, Size()) range.
    Public Member Functions inherited from Standard_Transient
     Standard_Transient ()
     Empty constructor.
     Standard_Transient (const Standard_Transient &)
     Copy constructor – does nothing.
    Standard_Transientoperator= (const Standard_Transient &)
     Assignment operator, needed to avoid copying reference counter.
    virtual ~Standard_Transient ()=default
     Destructor must be virtual.
    virtual const opencascade::handle< Standard_Type > & DynamicType () const
     Returns a type descriptor about this object.
    bool IsInstance (const opencascade::handle< Standard_Type > &theType) const
     Returns a true value if this is an instance of Type.
    bool IsInstance (const char *const theTypeName) const
     Returns a true value if this is an instance of TypeName.
    bool IsKind (const opencascade::handle< Standard_Type > &theType) const
     Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism.
    bool IsKind (const char *const theTypeName) const
     Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism.
    Standard_TransientThis () const
     Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero.
    int GetRefCount () const noexcept
     Get the reference counter of this object.
    void IncrementRefCounter () noexcept
     Increments the reference counter of this object. Uses relaxed memory ordering since incrementing only requires atomicity, not synchronization with other memory operations.
    int DecrementRefCounter () noexcept
     Decrements the reference counter of this object; returns the decremented value. Uses release ordering for the decrement to ensure all writes to the object are visible before the count reaches zero. An acquire fence is added only when the count reaches zero, ensuring proper synchronization before deletion. This is more efficient than using acq_rel for every decrement.
    virtual void Delete () const
     Memory deallocator for transient classes.

    Media_IFrameQueue interface

    occ::handle< Media_PlayerContextmyPlayerCtx
     player context
    occ::handle< Media_FramemyFramePair [2]
     front/back frames pair
    occ::handle< Graphic3d_ShaderProgrammyShaderYUV
     shader program for YUV texture set
    occ::handle< Graphic3d_ShaderProgrammyShaderYUVJ
     shader program for YUVJ texture set
    std::mutex myMutex
     mutex for accessing frames
    TCollection_AsciiString myInput
     input media
    CallbackOnUpdate_t myCallbackFunction
     callback function
    voidmyCallbackUserPtr
     callback data
    NCollection_Vec2< int > myFrameSize
     front frame size
    double myProgress
     playback progress in seconds
    double myDuration
     stream duration
    int myFront
     index of front texture
    bool myToPresentFrame
     flag
    bool myIsPlanarYUV
     front frame contains planar YUV data or native texture format
    bool myIsFullRangeYUV
     front frame defines full-range or reduced-range YUV

    Additional Inherited Members

    static constexpr const char * get_type_name ()
     Returns a type descriptor about this object.
    static const opencascade::handle< Standard_Type > & get_type_descriptor ()
     Returns type descriptor of Standard_Transient class.
    Protected Attributes inherited from Graphic3d_TextureSet
    NCollection_Array1< occ::handle< Graphic3d_TextureMap > > myTextures

    Detailed Description

    Texture adapter for Media_Frame.

    Member Typedef Documentation

    ◆ CallbackOnUpdate_t

    typedef void(* Graphic3d_MediaTextureSet::CallbackOnUpdate_t) (void *theUserPtr)

    Callback definition.

    Constructor & Destructor Documentation

    ◆ Graphic3d_MediaTextureSet()

    Graphic3d_MediaTextureSet::Graphic3d_MediaTextureSet ( )

    Empty constructor.

    Member Function Documentation

    ◆ Duration()

    double Graphic3d_MediaTextureSet::Duration ( ) const
    inline

    Return duration in seconds.

    ◆ FrameSize()

    NCollection_Vec2< int > Graphic3d_MediaTextureSet::FrameSize ( ) const
    inline

    Return front frame dimensions.

    ◆ Input()

    const TCollection_AsciiString & Graphic3d_MediaTextureSet::Input ( ) const
    inline

    Return input media.

    ◆ IsFullRangeYUV()

    bool Graphic3d_MediaTextureSet::IsFullRangeYUV ( ) const
    inline

    Return TRUE if YUV range is full.

    ◆ IsPlanarYUV()

    bool Graphic3d_MediaTextureSet::IsPlanarYUV ( ) const
    inline

    Return TRUE if texture set defined 3 YUV planes.

    ◆ Notify()

    void Graphic3d_MediaTextureSet::Notify ( )

    Call callback.

    ◆ OpenInput()

    void Graphic3d_MediaTextureSet::OpenInput ( const TCollection_AsciiString & thePath,
    bool theToWait )

    Open specified file. Passing an empty path would close current input.

    ◆ PlayerContext()

    const occ::handle< Media_PlayerContext > & Graphic3d_MediaTextureSet::PlayerContext ( ) const
    inline

    Return player context; it can be NULL until first OpenInput().

    ◆ Progress()

    double Graphic3d_MediaTextureSet::Progress ( ) const
    inline

    Return playback progress in seconds.

    ◆ SetCallback()

    void Graphic3d_MediaTextureSet::SetCallback ( CallbackOnUpdate_t theCallbackFunction,
    void * theCallbackUserPtr )

    Setup callback to be called on queue progress (e.g. when new frame should be displayed).

    ◆ ShaderProgram()

    occ::handle< Graphic3d_ShaderProgram > Graphic3d_MediaTextureSet::ShaderProgram ( ) const
    inline

    Return shader program for displaying texture set.

    ◆ SwapFrames()

    bool Graphic3d_MediaTextureSet::SwapFrames ( )

    Swap front/back frames.

    Field Documentation

    ◆ myCallbackFunction

    CallbackOnUpdate_t Graphic3d_MediaTextureSet::myCallbackFunction
    protected

    callback function

    ◆ myCallbackUserPtr

    void* Graphic3d_MediaTextureSet::myCallbackUserPtr
    protected

    callback data

    ◆ myDuration

    double Graphic3d_MediaTextureSet::myDuration
    protected

    stream duration

    ◆ myFramePair

    occ::handle<Media_Frame> Graphic3d_MediaTextureSet::myFramePair[2]
    protected

    front/back frames pair

    ◆ myFrameSize

    NCollection_Vec2<int> Graphic3d_MediaTextureSet::myFrameSize
    protected

    front frame size

    ◆ myFront

    int Graphic3d_MediaTextureSet::myFront
    protected

    index of front texture

    ◆ myInput

    TCollection_AsciiString Graphic3d_MediaTextureSet::myInput
    protected

    input media

    ◆ myIsFullRangeYUV

    bool Graphic3d_MediaTextureSet::myIsFullRangeYUV
    protected

    front frame defines full-range or reduced-range YUV

    ◆ myIsPlanarYUV

    bool Graphic3d_MediaTextureSet::myIsPlanarYUV
    protected

    front frame contains planar YUV data or native texture format

    ◆ myMutex

    std::mutex Graphic3d_MediaTextureSet::myMutex
    protected

    mutex for accessing frames

    ◆ myPlayerCtx

    occ::handle<Media_PlayerContext> Graphic3d_MediaTextureSet::myPlayerCtx
    protected

    player context

    ◆ myProgress

    double Graphic3d_MediaTextureSet::myProgress
    protected

    playback progress in seconds

    ◆ myShaderYUV

    occ::handle<Graphic3d_ShaderProgram> Graphic3d_MediaTextureSet::myShaderYUV
    protected

    shader program for YUV texture set

    ◆ myShaderYUVJ

    occ::handle<Graphic3d_ShaderProgram> Graphic3d_MediaTextureSet::myShaderYUVJ
    protected

    shader program for YUVJ texture set

    ◆ myToPresentFrame

    bool Graphic3d_MediaTextureSet::myToPresentFrame
    protected

    flag


    The documentation for this class was generated from the following file: