
AllGroups()
***********


FUNKTION
========

   string *AllGroups()


DEFINIERT IN
============

   /p/daemon/materialdb.c (MATERIALDB)


BESCHREIBUNG
============

   Gibt ein Array aller existenten Materialgruppen zurueck (ihre
   Definitionsform wie in <thing/material.h> aufgelistet).


SIEHE AUCH
==========

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

7. Mai 2004 Gloinson
