AllMaterials()
FUNKTION:
     string *AllMaterials()

DEFINIERT IN:
     /p/daemon/materialdb.c (MATERIALDB)

BESCHREIBUNG:
     Gibt ein Array aller existenten Materialien zurueck (ihre Definitions-
     form wie in <thing/material.h> aufgelistet).

SIEHE AUCH:
     Konzepte:	  material, materialerkennung
     Grundlegend: P_MATERIAL, /sys/thing/material.h
     Listen:	  AllGroups(), Dump()
		  materialliste, materialgruppen
     Master:	  AddMaterial(), ConvMaterialList(), MaterialGroup(),
		  GroupName(), MaterialName(),
		  GetGroupMembers(), GetMatMembership()

7. Mai 2004 Gloinson