Automatisch erzeugte Manpages.
Damit nicht jeder sphinx auf dem Rechner haben muss,
behalten wir bis auf weiteres die aus den .rst
erzeugten Manpoages auch im Repo.
Change-Id: Id556c0d11cf5f79659d8350952ce1c014d81ea44
diff --git a/doc/sphinx/man/props/P_MATERIAL b/doc/sphinx/man/props/P_MATERIAL
new file mode 100644
index 0000000..4ea4032
--- /dev/null
+++ b/doc/sphinx/man/props/P_MATERIAL
@@ -0,0 +1,99 @@
+
+P_MATERIAL
+**********
+
+
+NAME
+====
+
+ P_MATERIAL "material"
+
+
+DEFINIERT IN
+============
+
+ <thing/material.h>
+
+
+BESCHREIBUNG
+============
+
+ Mapping mit prozentualen Anteilen von Materialien, aus denen ein Objekt
+ besteht.
+
+
+BEMERKUNGEN
+===========
+
+ Bei SetProp kann man zu Vereinfachung auch ein einzelnes Material oder
+ ein Array aus Materialien angeben. Die Anteile werden dann
+ gleichmaessig verteilt.
+
+
+BEISPIELE
+=========
+
+ // 100% Eis
+ SetProp(P_MATERIAL, MAT_ICE);
+ // QueryProp(P_MATERIAL) -> ([MAT_ICE:100])
+
+ // 50% Eis, 50% Misc-Holz
+ SetProp(P_MATERIAL, ({ MAT_ICE, MAT_MISC_WOOD }));
+ // QueryProp(P_MATERIAL) -> ([MAT_ICE:50, MAT_MISC_WOOD: 50])
+
+ // 60% Eis, 40% Misc-Holz
+ SetProp(P_MATERIAL, ([ MAT_ICE: 60, MAT_MISC_WOOD: 40 ]));
+
+ // 100% Papier
+ SetProp(P_MATERIAL, MAT_PAPER);
+ // QueryProp(P_MATERIAL) -> ([MAT_PAPER:100])
+
+ // 50% Silber, 50% Gold
+ SetProp(P_MATERIAL, ({MAT_SILVER, MAT_GOLD}))
+ // QueryProp(P_MATERIAL) -> ([MAT_SILVER:50,MAT_GOLD:50])
+
+ // ein weiser Schmied, der was daraus macht:
+ 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: /sys/thing/material.h
+ Methoden: QueryMaterial(), QueryMaterialGroup(), MaterialList(),
+ Listen: AllMaterials(), AllGroups(), Dump()
+ materialliste, materialgruppen
+ Master: AddMaterial(), ConvMaterialList(), MaterialGroup(),
+ GroupName(), MaterialName(),
+ GetGroupMembers(), GetMatMembership()
+ Sonstiges: P_MATERIAL_KNOWLEDGE
+
+7. Mai 2004 Gloinson