1 #ifndef LEARNING_ATTRIBUTES_SPECIFICATION_H 2 #define LEARNING_ATTRIBUTES_SPECIFICATION_H 4 #include "RMMT/RMMMobileObject.h" 5 typedef SpRMMMobileObject SpMObject;
20 typedef double (*fp_getDouble)(SpMObject,
Datapool&);
21 typedef std::string (*fp_getString)(SpMObject,
Datapool&);
22 typedef std::set<std::string> *(*fp_setSymValues)();
48 class LearningContextualisedObject;
49 class XMLTreeGenerator;
50 class LearningAttributes;
51 class LearningStateConcept;
52 class LearningEventConcept;
53 class LearningContext;
56 class ContextualisedNumericalData;
57 class ContextualisedSymbolicData;
58 class NumericalAttributeValuePair;
59 class SymbolicAttributeValuePair;
61 typedef QSharedPointer<LearningContextualisedObject> SpLearningContextualisedObject;
62 typedef QSharedPointer<XMLTreeGenerator> SpXMLTreeGenerator;
63 typedef QSharedPointer<LearningAttributes> SpLearningAttributes;
64 typedef QSharedPointer<LearningStateConcept> SpLearningStateConcept;
65 typedef QSharedPointer<LearningEventConcept> SpLearningEventConcept;
66 typedef QSharedPointer<LearningContext> SpLearningContext;
67 typedef QSharedPointer<HierarchyTree> SpHierarchyTree;
68 typedef QSharedPointer<LevelData> SpLevelData;
69 typedef QSharedPointer<ContextualisedNumericalData> SpContextualisedNumericalData;
70 typedef QSharedPointer<ContextualisedSymbolicData> SpContextualisedSymbolicData;
71 typedef QSharedPointer<NumericalAttributeValuePair> SpNumericalAttributeValuePair;
72 typedef QSharedPointer<SymbolicAttributeValuePair> SpSymbolicAttributeValuePair;
84 static double getValue(SpMObject mobile,
Datapool& datapool);
85 static double getReliability(SpMObject mobile,
Datapool& datapool);
90 static double getValue(SpMObject mobile,
Datapool& datapool);
91 static double getReliability(SpMObject mobile,
Datapool& datapool);
98 static double getValue(SpMObject mobile,
Datapool& datapool);
99 static double getReliability(SpMObject mobile,
Datapool& datapool);
104 static double getValue(SpMObject mobile,
Datapool& datapool);
105 static double getReliability(SpMObject mobile,
Datapool& datapool);
110 static double getValue(SpMObject mobile,
Datapool& datapool);
111 static double getReliability(SpMObject mobile,
Datapool& datapool);
116 static double getValue(SpMObject mobile,
Datapool& datapool);
117 static double getReliability(SpMObject mobile,
Datapool& datapool);
122 static double getValue(SpMObject mobile,
Datapool& datapool);
123 static double getReliability(SpMObject mobile,
Datapool& datapool);
129 static double getValue(SpMObject mobile,
Datapool& datapool);
130 static double getReliability(SpMObject mobile,
Datapool& datapool);
135 static double getValue(SpMObject mobile,
Datapool& datapool);
136 static double getReliability(SpMObject mobile,
Datapool& datapool);
141 static double getValue(SpMObject mobile,
Datapool& datapool);
142 static double getReliability(SpMObject mobile,
Datapool& datapool);
147 static double getValue(SpMObject mobile,
Datapool& datapool);
148 static double getReliability(SpMObject mobile,
Datapool& datapool);
155 static double getValue(SpMObject mobile,
Datapool& datapool);
156 static double getReliability(SpMObject mobile,
Datapool& datapool);
161 static double getValue(SpMObject mobile,
Datapool& datapool);
162 static double getReliability(SpMObject mobile,
Datapool& datapool);
167 static double getValue(SpMObject mobile,
Datapool& datapool);
168 static double getReliability(SpMObject mobile,
Datapool& datapool);
174 static std::set<std::string> values;
175 static bool checked, valid;
176 static std::map< std::string, QSharedPointer<world::ZoneH> > zones;
177 static std::string getValue(SpMObject mobile,
Datapool& datapool);
178 static double getReliability(SpMObject mobile,
Datapool& datapool);
179 static std::set<std::string> *setAllowedValues();
185 static std::set<std::string> values;
186 static std::string getValue(SpMObject mobile,
Datapool& datapool);
187 static double getReliability(SpMObject mobile,
Datapool& datapool);
188 static std::set<std::string> *setAllowedValues();
193 static std::set<std::string> values;
194 static std::string getValue(SpMObject mobile,
Datapool& datapool);
195 static double getReliability(SpMObject mobile,
Datapool& datapool);
196 static std::set<std::string> *setAllowedValues();
201 static std::set<std::string> values;
202 static std::string getValue(SpMObject mobile,
Datapool& datapool);
203 static double getReliability(SpMObject mobile,
Datapool& datapool);
204 static std::set<std::string> *setAllowedValues();
214 std::map<attribute_id, std::string> nameFromId;
215 std::map<std::string, attribute_id> idFromName;
217 std::set<std::string> availableNumerical;
218 std::set<std::string> availableSymbolic;
220 std::map<attribute_id, fp_getDouble> getValueNumeric;
221 std::map<attribute_id, fp_getDouble> getReliability;
222 std::map<attribute_id, fp_getString> getValueSymbolic;
223 std::map<attribute_id, std::set<std::string>*> symbolicValuesList;
225 void setNumericalAttribute(attribute_id i_id, std::string i_name, fp_getDouble getValueFunction, fp_getDouble getReliabilityFunction) {
226 availableNumerical.insert(i_name);
227 nameFromId[i_id] = i_name;
228 idFromName[i_name] = i_id;
229 getValueNumeric[i_id] = getValueFunction;
230 getReliability[i_id] = getReliabilityFunction;
233 void setSymbolicAttribute(attribute_id i_id, std::string i_name, fp_getString getValueFunction, fp_getDouble getReliabilityFunction, fp_setSymValues setSymbolicValues) {
234 availableSymbolic.insert(i_name);
235 nameFromId[i_id] = i_name;
236 idFromName[i_name] = i_id;
237 getValueSymbolic[i_id] = getValueFunction;
238 getReliability[i_id] = getReliabilityFunction;
239 symbolicValuesList[i_id] = (*setSymbolicValues)();
248 void setNumericalAttributes() {
249 setNumericalAttribute(LA_X,
"X", &X::getValue, &X::getReliability);
250 setNumericalAttribute(LA_Y,
"Y", &Y::getValue, &Y::getReliability);
251 setNumericalAttribute(LA_HX,
"HX", &HX::getValue, &HX::getReliability);
252 setNumericalAttribute(LA_HY,
"HY", &HY::getValue, &HY::getReliability);
253 setNumericalAttribute(LA_VX,
"VX", &VX::getValue, &VX::getReliability);
254 setNumericalAttribute(LA_VY,
"VY", &VY::getValue, &VY::getReliability);
255 setNumericalAttribute(LA_V2D,
"V2D",&V2D::getValue, &V2D::getReliability);
256 setNumericalAttribute(LA_W,
"W", &W::getValue, &W::getReliability);
257 setNumericalAttribute(LA_H,
"H", &H::getValue, &H::getReliability);
258 setNumericalAttribute(LA_VW,
"VW", &VW::getValue, &VW::getReliability);
259 setNumericalAttribute(LA_VH,
"VH", &VH::getValue, &VH::getReliability);
260 setNumericalAttribute(LA_DKITCHEN,
"DKITCHEN", &DKITCHEN::getValue, &DKITCHEN::getReliability);
261 setNumericalAttribute(LA_DTABLE,
"DTABLE", &DTABLE::getValue, &DTABLE::getReliability);
262 setNumericalAttribute(LA_DSOFA,
"DSOFA", &DSOFA::getValue, &DSOFA::getReliability);
270 void setSymbolicAttributes() {
271 setSymbolicAttribute(LA_SKITCHEN,
"SKITCHEN", &SKITCHEN::getValue, &SKITCHEN::getReliability, &SKITCHEN::setAllowedValues);
272 setSymbolicAttribute(LA_STABLE,
"STABLE", &STABLE::getValue, &STABLE::getReliability, &STABLE::setAllowedValues);
273 setSymbolicAttribute(LA_SSOFA,
"SSOFA", &SSOFA::getValue, &SSOFA::getReliability, &SSOFA::setAllowedValues);
274 setSymbolicAttribute(LA_DEGU_CORNER,
"DEGU_CORNER",&DEGU_CORNER::getValue, &DEGU_CORNER::getReliability, &DEGU_CORNER::setAllowedValues);
278 typedef QSharedPointer<LearningAttributes> SpLearningAttributes;
Definition: LearningAttributesSpecification.h:120
Definition: LearningAttributesSpecification.h:145
Definition: LearningAttributesSpecification.h:102
Definition: LearningAttributesSpecification.h:209
Definition: LearningAttributesSpecification.h:199
Definition: LearningAttributesSpecification.h:165
Definition: LearningAttributesSpecification.h:133
Definition: LearningAttributesSpecification.h:172
Definition: LearningAttributesSpecification.h:114
Definition: LearningAttributesSpecification.h:88
Definition: LearningAttributesSpecification.h:108
Definition: LearningAttributesSpecification.h:82
Definition: LearningAttributesSpecification.h:127
An object of this class is instantiated at main code, and this object is used by every class to push ...
Definition: Datapool.h:39
Definition: LearningAttributesSpecification.h:191
Definition: LearningAttributesSpecification.h:139
Definition: LearningAttributesSpecification.h:159
Definition: LearningAttributesSpecification.h:153
Definition: LearningAttributesSpecification.h:96
Definition: LearningAttributesSpecification.h:183
Definition: HierarchyTree.cpp:12