OsgTextureCubeMap.h
Go to the documentation of this file.
// This file is a part of the OpenSurgSim project.
// Copyright 2013, SimQuest Solutions Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#ifndef SURGSIM_GRAPHICS_OSGTEXTURECUBEMAP_H
#define SURGSIM_GRAPHICS_OSGTEXTURECUBEMAP_H
#include "SurgSim/Graphics/OsgTexture.h"
#include "SurgSim/Graphics/TextureCubeMap.h"
#include <osg/TextureCubeMap>
#if defined(_MSC_VER)
#pragma warning(push)
#pragma warning(disable:4250)
#endif
namespace SurgSim
{
namespace Graphics
{
class OsgTextureCubeMap : public OsgTexture, public TextureCubeMap
{
public:
OsgTextureCubeMap();
void setSize(int width, int height) override;
void getSize(int* width, int* height) const override;
bool loadImage(const std::string& filePath) override;
bool loadImageFaces(const std::string& negativeX, const std::string& positiveX,
const std::string& negativeY, const std::string& positiveY,
const std::string& negativeZ, const std::string& positiveZ) override;
osg::ref_ptr<osg::TextureCubeMap> getOsgTextureCubeMap() const;
protected:
osg::ref_ptr<osg::Image> copyImageBlock(const osg::Image& source,
size_t startColumn, size_t startRow,
size_t width, size_t height);
};
}; // namespace Graphics
}; // namespace SurgSim
#if defined(_MSC_VER)
#pragma warning(pop)
#endif
#endif // SURGSIM_GRAPHICS_OSGTEXTURECUBEMAP_H
SurgSim
Definition: CompoundShapeToGraphics.cpp:29
SurgSim::Graphics::OsgTextureCubeMap::setSize
void setSize(int width, int height) override
Sets the size of the texture, which is the same for each face of the cube.
Definition: OsgTextureCubeMap.cpp:28
SurgSim::Graphics::OsgTextureCubeMap::copyImageBlock
osg::ref_ptr< osg::Image > copyImageBlock(const osg::Image &source, size_t startColumn, size_t startRow, size_t width, size_t height)
Makes a copy of an image block.
Definition: OsgTextureCubeMap.cpp:115
SurgSim::Graphics::OsgTextureCubeMap
OSG implementation of a Cube Map Texture.
Definition: OsgTextureCubeMap.h:38
SurgSim::Graphics::TextureCubeMap
Base class defining the interface for a Cube Map Graphics Texture.
Definition: TextureCubeMap.h:29
SurgSim::Graphics::OsgTextureCubeMap::getSize
void getSize(int *width, int *height) const override
Gets the size of the texture, which is the same for each face of the cube.
Definition: OsgTextureCubeMap.cpp:33
SurgSim::Graphics::OsgTextureCubeMap::OsgTextureCubeMap
OsgTextureCubeMap()
Constructor.
Definition: OsgTextureCubeMap.cpp:23
SurgSim::Graphics::OsgTexture
Base class for OSG implementations of Graphics Textures.
Definition: OsgTexture.h:32
SurgSim::Graphics::OsgTextureCubeMap::loadImageFaces
bool loadImageFaces(const std::string &negativeX, const std::string &positiveX, const std::string &negativeY, const std::string &positiveY, const std::string &negativeZ, const std::string &positiveZ) override
Loads images from files into the faces of the cube map.
Definition: OsgTextureCubeMap.cpp:87
TextureCubeMap.h
SurgSim::Graphics::OsgTextureCubeMap::loadImage
bool loadImage(const std::string &filePath) override
Loads an image into the texture from a file.
Definition: OsgTextureCubeMap.cpp:47
SurgSim::Graphics::OsgTextureCubeMap::getOsgTextureCubeMap
osg::ref_ptr< osg::TextureCubeMap > getOsgTextureCubeMap() const
Returns the osg::TextureCubeMap.
Definition: OsgTextureCubeMap.cpp:147
OsgTexture.h