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);