blob: 8859a38183d87b5f61945a94e287ceac1fb21416 [file] [log] [blame]
GetMatMembership()
FUNKTION:
string *GetMatMembership(string mat)
DEFINIERT IN:
/p/daemon/materialdb.c (MATERIALDB)
ARGUMENTE:
string mat - ein Material
BESCHREIBUNG:
Gibt alle Gruppen, denen das Material angehoert zurueck. Geeignet, um
die Eigenschaften eines Materials zu ueberpruefen.
RUECKGABEWERT:
Array von Strings mit Materialiengruppen oder ({})
BEISPIELE:
// 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 etwas besser erkannt (zu 5%), aber
// alles aus Metall wird zu +100% besser erkannt ...
mname=MATERIALDB->MaterialName(mat[i], WER,
({5, ([MATRGROUP_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(),
GroupName(), MaterialName(),
GetGroupMembers()
7. Mai 2004 Gloinson