&& _y1 <= y && y <= _y2;
}
+ bool contains(T x, T y, T margin) const
+ {
+ return (_x1 - margin) <= x && x <= (_x2 + margin)
+ && (_y1 - margin) <= y && y <= (_y2 + margin);
+ }
+
private:
T _x1, _x2, _y1, _y2;
};
return aValue;
}
+#define SG_DEF_ASSIGN_OP(op)\
+ T operator op##=(const T rhs)\
+ {\
+ SGPropertyNode* n = getOrThrow();\
+ n->setValue<T>(n->getValue<T>() op rhs);\
+ return *this;\
+ }
+
+ SG_DEF_ASSIGN_OP(+)
+ SG_DEF_ASSIGN_OP(-)
+ SG_DEF_ASSIGN_OP(*)
+ SG_DEF_ASSIGN_OP(/)
+ SG_DEF_ASSIGN_OP(%)
+ SG_DEF_ASSIGN_OP(>>)
+ SG_DEF_ASSIGN_OP(<<)
+ SG_DEF_ASSIGN_OP(&)
+ SG_DEF_ASSIGN_OP(^)
+ SG_DEF_ASSIGN_OP(|)
+
+#undef SG_DEF_ASSIGN_OP
+
SGPropertyNode* node() const
{
return PropertyObjectBase::node(false);