16 #include <osg/BoundingBox>
18 #include <osg/Texture>
20 #include <osgDB/WriteFile>
39 virtual void drapeTexture(osg::Node* node,
const std::string& definition,
int textureunit = 0);
44 virtual void drapeTexture(osg::Node* node,
const std::string& definition,
45 std::vector<double> scale, std::vector<double> offset,
46 osg::TexEnv::Mode blendmode = osg::TexEnv::MODULATE,
47 osg::Texture::WrapMode wrapMode = osg::Texture::REPEAT,
int textureunit = 0);
53 virtual void colorizeByElevation(osg::Node* node,
54 const std::string& definition,
int textureunit = 0);
60 virtual void drawContours(osg::Node* node,
const std::string& definition,
69 virtual void enableAutoTexturing(osg::Node* node);
73 virtual void blankMaterial(osg::Node* node,
int minunit=0,
int maxunit=3);
76 virtual void defaultDrapeParameters(osg::Node* node,
77 const std::string& definition,
double& xScale,
double& yScale,
78 double& xOffset,
double& yOffset, osg::Texture::WrapMode& wrapMode,
79 osg::TexEnv::Mode& blendMode);
82 virtual void reset(osg::Node* node,
int minunit=0,
int maxunit=3);
85 virtual void resetUnit(osg::Node* node,
int unit);
90 osg::Image* createGradientImageRGBA(
const std::string& def,
int resolution = 256);
93 virtual void graphBoundingBox(
const osg::Node* node,
94 osg::BoundingBox &bbox)
const;
98 virtual void project2dTexture(osg::Node* node,
const std::string& texdef,
99 osg::Matrix mat, osg::Texture::WrapMode wrapmode,
100 osg::TexEnv::Mode blendmode,
unsigned int texunit);
104 virtual osgDB::ReaderWriter::Options* setupTerrainReadImageOptions();
108 virtual void project1dTexture(osg::Node* node,
const std::string& texdef,
109 osg::Matrix mat, osg::Texture::WrapMode wrapmode,
110 osg::TexEnv::Mode blendmode,
unsigned int texunit);
114 virtual void rescaleTexture(osg::Node* node, osg::Matrix mat,
115 osg::TexEnv::Mode blendmode,
unsigned int texunit);
119 virtual bool isNameTextureExempt(
const std::string& name)
const;
122 virtual osg::Image* convertImageToRGBA(osg::Image* img);