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