/usr/include/citygml/texturetargetdefinition.h is in libcitygml-dev 2.0.8-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | #pragma once
#include <vector>
#include <unordered_map>
#include <citygml/citygml_api.h>
#include <citygml/appearancetargetdefinition.h>
#include <citygml/texture.h>
namespace citygml {
class TextureCoordinates;
class CityGMLFactory;
/**
* @brief The TextureTargetDefinition associates a texture with a target surface and defines the mapping of the texture.
* @note may be shared between different texture objects using the 'xlink:href' attribute.
* TextureTargets are applicable only to polygonal surfaces, whose boundaries are described by gml:LinearRing
* (e.g. gml:Triangle, gml:Polygon, or a gml:MultiSurface consisting of gml:Polygons).
*/
class LIBCITYGML_EXPORT TextureTargetDefinition : public AppearanceTargetDefinition<Texture> {
friend class CityGMLFactory;
public:
/**
* @brief the number of TextureCoordinates objects for this texture target
*/
unsigned int getTextureCoordinatesCount() const;
/**
* @brief the i-th texture coordinates in texture coordinates list (gml::TexCoordList)
*/
std::shared_ptr<TextureCoordinates> getTextureCoordinates(unsigned int i);
std::shared_ptr<const TextureCoordinates> getTextureCoordinates(unsigned int i) const;
/**
* @brief the texture coordinates for linear ring with the given id
* @return the TextureCoordinates object or nullptr if no such object exists for ringID
*/
std::shared_ptr<TextureCoordinates> getTextureCoordinatesForID(const std::string& ringID);
std::shared_ptr<const TextureCoordinates> getTextureCoordinatesForID(const std::string& ringID) const;
void addTexCoordinates(std::shared_ptr<TextureCoordinates> texCoords);
~TextureTargetDefinition();
protected:
TextureTargetDefinition(const std::string& targetID, std::shared_ptr<Texture> appearance, const std::string& id);
std::vector<std::shared_ptr<TextureCoordinates> > m_coordinatesList;
std::unordered_map<std::string, std::shared_ptr<TextureCoordinates> > m_idTexCoordMap;
};
}
|