Ocean
IIOImageSequence.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) Meta Platforms, Inc. and affiliates.
3  *
4  * This source code is licensed under the MIT license found in the
5  * LICENSE file in the root directory of this source tree.
6  */
7 
8 #ifndef META_OCEAN_MEDIA_IMAGEIO_IIO_IMAGE_SEQUENCE_H
9 #define META_OCEAN_MEDIA_IMAGEIO_IIO_IMAGE_SEQUENCE_H
10 
13 
15 
16 namespace Ocean
17 {
18 
19 namespace Media
20 {
21 
22 namespace ImageIO
23 {
24 
25 /**
26  * This class implements an image class for ImageIO.
27  * @ingroup mediaiio
28  */
29 class OCEAN_MEDIA_IIO_EXPORT IIOImageSequence :
30  virtual public IIOObject,
31  virtual public ImageFileSequence
32 {
33  friend class IIOLibrary;
34 
35  public:
36 
37  /**
38  * Clones this medium and returns a new independent instance of this medium.
39  * @see Medium::clone().
40  */
41  MediumRef clone() const override;
42 
43  protected:
44 
45  /**
46  * Creates a new medium by a given url.
47  * @param url Url of the medium
48  */
49  explicit IIOImageSequence(const std::string& url);
50 
51  /**
52  * Destructs an image object.
53  */
54  ~IIOImageSequence() override;
55 
56  /**
57  * Loads a new image specified by the filename.
58  * @see ImageSequence::loadImage().
59  */
60  bool loadImage(const std::string& filename, const Timestamp timestamp, Frame* frame = nullptr) override;
61 };
62 
63 }
64 
65 }
66 
67 }
68 
69 #endif // META_OCEAN_MEDIA_IMAGEIO_IIO_IMAGE_SEQUENCE_H
This class implements Ocean's image class.
Definition: Frame.h:1792
Definition: ImageFileSequence.h:30
This class implements an image class for ImageIO.
Definition: IIOImageSequence.h:32
MediumRef clone() const override
Clones this medium and returns a new independent instance of this medium.
bool loadImage(const std::string &filename, const Timestamp timestamp, Frame *frame=nullptr) override
Loads a new image specified by the filename.
IIOImageSequence(const std::string &url)
Creates a new medium by a given url.
~IIOImageSequence() override
Destructs an image object.
This class implements the ImageIO library.
Definition: IIOLibrary.h:30
This class is the base class for all object inside this library.
Definition: IIOObject.h:35
This template class implements a object reference with an internal reference counter.
Definition: base/ObjectRef.h:58
This class implements a timestamp.
Definition: Timestamp.h:36
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15