16 #include <osg/BoundingBox>
18 #include <osg/Texture>
38 virtual void drapeTexture(osg::Node* node,
const std::string& definition,
int textureunit = 0);
43 virtual void drapeTexture(osg::Node* node,
const std::string& definition,
44 std::vector<double> scale, std::vector<double> offset,
45 osg::TexEnv::Mode blendmode = osg::TexEnv::MODULATE,
46 osg::Texture::WrapMode wrapMode = osg::Texture::REPEAT,
int textureunit = 0);
52 virtual void colorizeByElevation(osg::Node* node,
53 const std::string& definition,
int textureunit = 0);
59 virtual void drawContours(osg::Node* node,
const std::string& definition,
68 virtual void enableAutoTexturing(osg::Node* node);
72 virtual void blankMaterial(osg::Node* node,
int minunit=0,
int maxunit=3);
75 virtual void defaultDrapeParameters(osg::Node* node,
76 const std::string& definition,
double& xScale,
double& yScale,
77 double& xOffset,
double& yOffset, osg::Texture::WrapMode& wrapMode,
78 osg::TexEnv::Mode& blendMode);
81 virtual void reset(osg::Node* node,
int minunit=0,
int maxunit=3);
84 virtual void resetUnit(osg::Node* node,
int unit);
89 osg::Image* createGradientImageRGBA(
const std::string& def,
int resolution = 256);
92 virtual void graphBoundingBox(
const osg::Node* node,
93 osg::BoundingBox &bbox)
const;
97 virtual void project2dTexture(osg::Node* node,
const std::string& texdef,
98 osg::Matrix mat, osg::Texture::WrapMode wrapmode,
99 osg::TexEnv::Mode blendmode,
unsigned int texunit);
103 virtual void project1dTexture(osg::Node* node,
const std::string& texdef,
104 osg::Matrix mat, osg::Texture::WrapMode wrapmode,
105 osg::TexEnv::Mode blendmode,
unsigned int texunit);
109 virtual void rescaleTexture(osg::Node* node, osg::Matrix mat,
110 osg::TexEnv::Mode blendmode,
unsigned int texunit);
114 virtual bool isNameTextureExempt(
const std::string& name)
const;
117 virtual osg::Image* convertImageToRGBA(osg::Image* img);