| GroupName() |
| *********** |
| |
| |
| FUNKTION |
| ======== |
| |
| string GroupName(string grp) |
| |
| |
| DEFINIERT IN |
| ============ |
| |
| /p/daemon/materialdb.c (MATERIALDB) |
| |
| |
| ARGUMENTE |
| ========= |
| |
| string grp - ein Gruppenname |
| |
| |
| BESCHREIBUNG |
| ============ |
| |
| Gibt die Langbeschreibung des Gruppennamens zurueck. |
| |
| |
| RUECKGABEWERT |
| ============= |
| |
| Die Gruppenbeschreibung oder "Unbekanntes" |
| |
| |
| BEISPIELE |
| ========= |
| |
| // simpel |
| tmp=m_indices(ob->QueryProp(P_MATERIAL)); |
| write("Dieses Objekt gehoert u.a. zur Gruppe "+ |
| MATERIALDB->GroupName(MATERIALDB->GetMatMembership(tmp[0])[0])+ |
| ".\n"); |
| // gibt die erste Gruppenzugehoerigkeit des erste Materials in |
| // P_MATERIAL zurueck (bei MATGROUP_METAL z.B. "... zur Gruppe Metalle.") |
| |
| // ein weiser Schmied: |
| int i; |
| string *mat, mname, mgroup; |
| mat=m_indices(ob->QueryProp(P_MATERIAL)); |
| i=sizeof(mat); |
| |
| write("Der Schmied sagt: "+ob->Name(WER)+" besteht aus ...\n"); |
| while(i--) { |
| // den Namen erkennen/aussprechen: |
| // Materialien werden allgemein ganz schlecht erkannt (zu 5%), aber |
| // alles aus Metall wird zu +100% gut erkannt ... |
| mname=MATERIALDB->MaterialName(mat[i], WER, |
| ({5, ([MATERIAL_SYMMETRIC_RECOGNIZABILITY: |
| ({MATGROUP_METAL, 100})])})); |
| |
| // und nur Metalle analysieren ... |
| if(MATERIALDB->MaterialGroup(([mat[i]:100]),MATGROUP_METAL)>=100) { |
| int j; |
| string *mgr; |
| mgr=MATERIALDB->GetMatMembership(mat[i]); |
| j=sizeof(mgr); |
| mgroup=" gehoert zu "; |
| while(j--) { |
| mgroup+=MATERIALDB->GroupName(mgr[j]); |
| if(j>0) mgroup+=", "; |
| } |
| } else mgroup=" kenne ich nicht"; |
| printf("%-12.12s: %s\n",mname, mgroup); |
| } |
| |
| |
| SIEHE AUCH |
| ========== |
| |
| Konzepte: material, materialerkennung |
| Grundlegend: P_MATERIAL, /sys/thing/material.h |
| Master: AddMaterial(), ConvMaterialList(), MaterialGroup(), |
| MaterialName(), |
| GetGroupMembers(), GetMatMembership() |
| |
| 7. Mai 2004 Gloinson |