1 #ifndef PROGRAMENTITY2D_H 2 #define PROGRAMENTITY2D_H 5 #include <osg/StateSet> 6 #include <osg/observer_ptr> 8 #include <osg/MatrixTransform> 22 virtual void initialize(osg::StateSet* state, osg::Camera* camera, osg::MatrixTransform* t);
24 void updateTransform(osg::MatrixTransform* t);
26 osg::MatrixTransform* getTransform()
const;
28 osg::Camera* getCamera()
const;
31 virtual bool addPresetShaders() = 0;
32 virtual bool addPresetUniforms() = 0;
36 bool addUniform(
const std::string& name, osg::Uniform::Type type, T* updateCallback = 0){
37 if (!m_state.get() || !updateCallback){
38 qCritical(
"State or callback is NULL");
41 osg::Uniform* uniform = m_state->getOrCreateUniform(name, type);
42 uniform->setUpdateCallback(updateCallback);
47 bool addUniformCanvasMatrix();
50 bool addUniform(
const std::string& name, osg::Uniform::Type type, T value){
52 qCritical(
"State is nULL");
55 osg::Uniform* uniform = m_state->getOrCreateUniform(name, type);
62 osg::observer_ptr<osg::StateSet> m_state;
63 osg::observer_ptr<osg::Camera> m_camera;
64 osg::observer_ptr<osg::MatrixTransform> m_transform;
67 #endif // PROGRAMENTITY2D_H A virtual class to be inhereted by program for stroke, polygon and other entities.
Definition: ProgramEntity2D.h:17