const simgear::expression::BindingLayout&);
void setGLExtensionsPred(float glVersion,
const std::vector<std::string>& extensions);
+ void refreshValidity();
protected:
// Validity of technique in a graphics context.
struct ContextInfo : public osg::Referenced
ContextInfo(const ContextInfo& rhs) : valid(rhs.valid()) {}
ContextInfo& operator=(const ContextInfo& rhs)
{
- valid = rhs.valid();
+ valid = rhs.valid;
+ return *this;
}
Swappable<Status> valid;
};
SGSharedPtr<SGExpressionb> _validExpression;
int _contextIdLocation;
};
+
+class TechniquePredParser : public expression::ExpressionParser
+{
+public:
+ void setTechnique(Technique* tniq) { _tniq = tniq; }
+ Technique* getTechnique() { return _tniq.get(); }
+// void setEffect(Effect* effect) { _effect = effect; }
+// Effect* getEffect() { return _effect.get(); }
+protected:
+ osg::ref_ptr<Technique> _tniq;
+ // osg::ref_ptr<Effect> _effect;
+};
}
#endif