# Simple hierarchical model of a robot arm for RenderWare(tm).

ModelBegin
    GeometrySampling Solid

    ProtoBegin Base
	LightSampling Facet
	Surface 0.7 0.6 0.8
	Color 0.0 0.0 1.0
	Cylinder 0.2 1.0 0.5 12
	Translate 0.0 0.2 0.0
	Cylinder 1.0 0.5 0.3 12
	Translate 0.0 1.0 0.0
#	Cylinder 0.0 0.5 0.3 25 12
	Color 0.9 0.0 0.0
	LightSampling Vertex
	Hemisphere 0.3 3
    ProtoEnd

    ProtoBegin Finger
	Surface 0.5 0.7 0.3
	Color 1.0 0.8 0.0
	LightSampling Facet
	Translate 0.0 0.35 0.0
	Block 0.3 0.4 0.1
	TransformBegin
	    Translate 0.0 0.2 0.0
	    TransformBegin
	        Color 0.9 0.0 0.0
		LightSampling Vertex
		Rotate 0.0 0.0 1.0 90.0
		Translate 0.05 -0.15 0.0
		Cylinder 0.3 0.05 0.05 6
		Disc 0.0 -0.05 6
		Disc 0.3 0.05 6
	    TransformEnd
            Translate 0.0 0.05 0.0
	    ClumpBegin
                Tag 7           # Tag 7 is the upper finger
	        Color 0.5 0.7 0.3
		LightSampling Facet
		Translate 0.0 0.2 0.0
		Block 0.3 0.3 0.1
	    ClumpEnd
	TransformEnd
    ProtoEnd

    ProtoBegin Hand
	Surface 0.6 0.4 0.8
	Color 0.9 0.0 0.0
	LightSampling Vertex
	Sphere 0.15 3
	TransformBegin
	    ClumpBegin	
                Tag 5               # Tag 5 is the first finger.
		ProtoInstance Finger
	    ClumpEnd
	    ClumpBegin
                Tag 6               # Tag 6 is the second finger.
		ProtoInstance Finger
	    ClumpEnd
	TransformEnd
    ProtoEnd

    ProtoBegin Arm
	Surface 0.6 0.4 0.8
	Color 0.0 0.9 0.0
	LightSampling Vertex
	Disc 0.0 -0.3 6
	Cylinder 2.0 0.3 0.2 6
        Disc 2.0 0.2 6
	Translate 0.0 2.2 0.0
	MaterialBegin
	    Color 0.9 0.0 0.0
	    Sphere 0.2 3
	MaterialEnd
	ClumpBegin
            Tag 3              # Tag for the forearm is 3
	    Translate 0.0 0.2 0.0
	    Disc 0.0 -0.2 6
	    Cylinder 2.05 0.2 0.15 6
            Disc 2.05 0.15 6
	    Translate 0.0 2.20 0.0
	    ClumpBegin
                Tag 4           # Tag for the hand is 4
	        ProtoInstance Hand
	    ClumpEnd
	ClumpEnd
    ProtoEnd

    ClumpBegin
	ProtoInstance Base
	TransformBegin
	    Translate 0.0 1.2 0.0
	    ClumpBegin
                Tag 2           # Tag for the upper arm is 2
		Translate 0.0 0.3 0.0
	        ProtoInstance Arm
	    ClumpEnd
	TransformEnd
    ClumpEnd
ModelEnd

