2024-09-04 11:24:30 +10:00
|
|
|
#ifndef _QUALE_H
|
|
|
|
|
#define _QUALE_H
|
|
|
|
|
|
2024-09-04 14:08:50 +10:00
|
|
|
#include <cstdint>
|
2024-09-08 01:04:41 +10:00
|
|
|
#include <attentionTrigger.h>
|
2025-08-03 05:03:41 -04:00
|
|
|
#include <mentalExistent.h>
|
|
|
|
|
|
|
|
|
|
namespace smo {
|
2024-09-04 14:08:50 +10:00
|
|
|
|
2024-09-04 11:24:30 +10:00
|
|
|
class Quale
|
2025-08-03 05:03:41 -04:00
|
|
|
: public MentalExistent
|
2024-09-04 11:24:30 +10:00
|
|
|
{
|
2024-09-04 14:08:50 +10:00
|
|
|
public:
|
2025-08-03 05:23:05 -04:00
|
|
|
Quale(const MentalEntity::Id id, const int32_t intensity)
|
|
|
|
|
: MentalExistent(id),
|
|
|
|
|
intensity(intensity)
|
|
|
|
|
{}
|
2025-08-03 05:03:41 -04:00
|
|
|
|
|
|
|
|
public:
|
2024-09-04 14:08:50 +10:00
|
|
|
int32_t intensity;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
class NeutralQuale
|
|
|
|
|
: public Quale
|
|
|
|
|
{
|
|
|
|
|
};
|
|
|
|
|
|
2025-08-03 05:23:05 -04:00
|
|
|
/* Bounding qualia refer to qualia such as tactile pressure which are
|
|
|
|
|
* mostly neutral but disclose information about the limits of the body.
|
|
|
|
|
* These qualia are supplied by interoceptive sensors.
|
|
|
|
|
**/
|
|
|
|
|
class BoundingQuale
|
|
|
|
|
: public NeutralQuale
|
|
|
|
|
{
|
|
|
|
|
};
|
|
|
|
|
|
2024-09-04 14:08:50 +10:00
|
|
|
class NonNeutralQuale
|
2024-09-08 01:04:41 +10:00
|
|
|
: public Quale, public AttentionTrigger
|
2024-09-04 14:08:50 +10:00
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
virtual void eventInd(void);
|
2024-11-21 02:31:37 +11:00
|
|
|
|
|
|
|
|
public:
|
2024-09-04 11:24:30 +10:00
|
|
|
};
|
|
|
|
|
|
2025-08-03 05:03:41 -04:00
|
|
|
} // namespace smo
|
|
|
|
|
|
2024-09-04 11:24:30 +10:00
|
|
|
#endif
|