ShapeKits
Anstatt eine Struktur mit einem Separator-Node und als Kinder einen Transform-Node, einen Material-Node, einen Shape-Node aufzubauen, kann ein ShapeKit verwendet werden. Transformation, Material, Geometrie und vieles mehr werden innerhalb des Shapekits definiert.
wird in einem Node definiert:
SoShapeKit *mykit = new SoShapeKit; mykit->setPart("shape", new SoCube); mykit->set("shape { width 2 height 2 depth 2 }"); mykit->set("material {diffuseColor 0.0 0.0 1.0}"); mykit->set("transform {translation 2.5 0.0 0.0}");Das Argument der set() Funktion ist ein String im iv-Format.
Die setPart() Funktion kann verwendet werden, wenn Variabeln als Argumente verwendet werden sollen.SoMaterial *material = new SoMaterial; material->diffuseColor.setValue(.3, .3, .3); mykit->setPart("material", material);