14 #include <osg/BoundingBox>
15 #include <osg/Texture>
17 #include <osgDB/ReaderWriter>
40 virtual void drapeTexture(osg::Node* node,
const std::string& definition,
int textureunit = 0);
45 virtual void drapeTexture(osg::Node* node,
const std::string& definition,
46 std::vector<double> scale, std::vector<double>
offset,
47 osg::TexEnv::Mode blendmode = osg::TexEnv::MODULATE,
48 osg::Texture::WrapMode wrapMode = osg::Texture::REPEAT,
int textureunit = 0);
54 virtual void colorizeByElevation(osg::Node* node,
55 const std::string& definition,
int textureunit = 0);
61 virtual void drawContours(osg::Node* node,
const std::string& definition,
70 virtual void enableAutoTexturing(osg::Node* node);
74 virtual void blankMaterial(osg::Node* node,
int minunit=0,
int maxunit=3);
77 virtual void defaultDrapeParameters(osg::Node* node,
78 const std::string& definition,
double& xScale,
double& yScale,
79 double& xOffset,
double& yOffset, osg::Texture::WrapMode& wrapMode,
80 osg::TexEnv::Mode& blendMode);
83 virtual void reset(osg::Node* node,
int minunit=0,
int maxunit=3);
86 virtual void resetUnit(osg::Node* node,
int unit);
91 osg::Image* createGradientImageRGBA(
const std::string& def,
int resolution = 256);
94 virtual void graphBoundingBox(
const osg::Node* node,
95 osg::BoundingBox &bbox)
const;
99 virtual void project2dTexture(osg::Node* node,
const std::string& texdef,
100 osg::Matrix mat, osg::Texture::WrapMode wrapmode,
101 osg::TexEnv::Mode blendmode,
unsigned int texunit);
105 virtual osgDB::ReaderWriter::Options* setupTerrainReadImageOptions();
109 virtual void project1dTexture(osg::Node* node,
const std::string& texdef,
110 osg::Matrix mat, osg::Texture::WrapMode wrapmode,
111 osg::TexEnv::Mode blendmode,
unsigned int texunit);
115 virtual void rescaleTexture(osg::Node* node, osg::Matrix mat,
116 osg::TexEnv::Mode blendmode,
unsigned int texunit);
120 virtual bool isNameTextureExempt(
const std::string& name)
const;
123 virtual osg::Image* convertImageToRGBA(osg::Image* img);