Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/trunk/src/lib/graphics/importer/texture_sequence.h @ 9869

Last change on this file since 9869 was 9869, checked in by bensch, 18 years ago

orxonox/trunk: merged the new_class_id branche back to the trunk.
merged with command:
svn merge https://svn.orxonox.net/orxonox/branches/new_class_id trunk -r9683:HEAD
no conflicts… puh..

File size: 2.1 KB
RevLine 
[3341]1/*!
[7194]2 * @file texture_sequence.h
3 * @brief Contains the texture_sequence class, that handles the reading of Image-files into multiple Texutres.
[5768]4 */
[3341]5
[5861]6#ifndef _TEXTURE_SEQUENCE_H
7#define _TEXTURE_SEQUENCE_H
[3341]8
[5858]9#include "texture.h"
[3548]10
[5858]11#include <vector>
[3548]12
[5239]13
[3341]14//! A Class, that reads in Textures from different fileformats.
[5861]15class TextureSequence : public Texture
[5860]16{
[9869]17  ObjectListDeclaration(TextureSequence);
[5860]18  public:
[5861]19    TextureSequence(unsigned int count = 0, ...);
[8310]20    TextureSequence(const std::vector<std::string>& textureNames, const std::string& prependFolder = "");
[8309]21    //  Texture(TEXTURE_TYPE type, int resolution);
[6981]22    virtual ~TextureSequence();
[3905]23
[5860]24    bool loadImageSeries(unsigned int count, ...);
[8310]25    bool loadImageSeries(const std::vector<std::string>& textureNames, const std::string& prependFolder = "");
[8324]26    bool loadImageSeries(const std::string& imageNameSubstitue, unsigned int from, unsigned int to);
[7221]27    bool addFrame(const std::string& image);
[5860]28    bool addFrame(SDL_Surface* surface);
[6532]29    bool addFrame(GLuint texture);
[5753]30
[6532]31    void clearLists();
32
[5860]33    virtual bool rebuild();
[3341]34
[5865]35    /** @returns the count of frames in this sequence */
36    inline unsigned int getFrameCount() const { return this->textures.size(); };
[8324]37    /** @returns true if no Textures are stored inside of this TextureSequence */
38    inline bool empty() const { return textures.empty(); };
[5865]39
[6532]40    //void gotoFrame(unsigned int frameNumber);
[5860]41    /** @returns The textureID of the Frame @param frameNumber the n-th frame this texture-series.  */
[5865]42    inline GLuint getFrameTexture(unsigned int frameNumber) const { return (this->textures.size()>frameNumber)?this->textures[frameNumber]:0; };
[5860]43    /** @returns The SDL_Surface of the image at Frame @param frameNumber the n-th frame of this image-seriers */
[5865]44    const SDL_Surface* const getFrameImage(unsigned int frameNumber) const { return (this->images.size()>frameNumber)?this->images[frameNumber]:NULL; };
[5856]45
[5860]46  private:
47    std::vector<GLuint>          textures;            //!< The Texture-ID of opengl from this Texture.
48    std::vector<SDL_Surface*>    images;              //!< The SDL_Surfce that stores the Texture on it.
49};
[5768]50
[5861]51#endif /* _TEXTURE_SEQUENCE_H */
Note: See TracBrowser for help on using the repository browser.