25 #ifndef COMPOSITE_MASK_HH_
26 #define COMPOSITE_MASK_HH_
30 namespace ost {
namespace img {
64 typedef boost::shared_ptr<OpBase>
OpPtr;
74 return op_->GetName();
81 virtual void Shift(
const Vec2& v);
virtual String GetName() const
virtual bool operator()(const MaskPtr &lhs, const MaskPtr &rhs, const Vec2 &v) const
static OpBase * create_op_(const String &name)
virtual void Shift(const Vec2 &v)
virtual void Expand(Real d)
virtual void Scale(Real d)
CompositeMask(const MaskPtr &lhs, const MaskPtr &rhs, const String &op)
CompositeMask(const CompositeMask &m)
virtual void Apply(MaskVisitor &v)
virtual bool IsInside(const Vec2 &v)
virtual String GetName() const =0
virtual OpBase * Clone()=0
virtual bool operator()(const MaskPtr &lhs, const MaskPtr &rhs, const Vec2 &v) const =0
virtual String GetName() const
virtual bool operator()(const MaskPtr &lhs, const MaskPtr &rhs, const Vec2 &v) const
virtual String GetName() const
virtual bool operator()(const MaskPtr &lhs, const MaskPtr &rhs, const Vec2 &v) const
#define DLLEXPORT_OST_IMG_BASE
boost::shared_ptr< OpBase > OpPtr
boost::shared_ptr< MaskBase > MaskPtr