#ifndef _QUALE_H #define _QUALE_H #include #include #include namespace smo { class Quale : public MentalExistent { public: enum class Type { NEUTRAL, /* Bounding refers to qualia such as tactile pressure which * are mostly neutral but disclose information about the limits * of the body. **/ BOUNDING, PAINFUL, PLEASURABLE } type; public: Quale(const Type type, const int32_t intensity) : type(type), intensity(intensity) {} public: int32_t intensity; }; class NeutralQuale : public Quale { }; class NonNeutralQuale : public Quale, public AttentionTrigger { public: virtual void eventInd(void); public: }; } // namespace smo #endif