Index: train.php
===================================================================
--- train.php	(revision 0)
+++ train.php	(revision 1)
@@ -0,0 +1,86 @@
+<?
+
+function set_bog_slip($element)
+{
+raydium_ode_element_slip_name($element,10000);
+}
+
+function create_train()
+{
+$a=raydium_ode_object_create("TRAIN");
+
+// test if creation failed:
+if($a<0) return -1;
+
+
+raydium_ode_object_box_add("train_train",$a,1.5,-1,0,0,RAYDIUM_ODE_STANDARD,0,"train1.tri");
+
+raydium_ode_object_box_add("train_bog1",$a,0.5, 0.8,0.27,0.27,RAYDIUM_ODE_STANDARD,0,"train_bw.tri");
+set_bog_slip("train_bog1");
+raydium_ode_element_move_name_3f("train_bog1",0.65,0,-0.3);
+raydium_ode_joint_attach_hinge_name("train_atta1","train_train","train_bog1",0.65,0,-0.3,0,0,1);
+
+raydium_ode_object_box_add("train_bog2",$a,0.5, 0.8,0.27,0.27,RAYDIUM_ODE_STANDARD,0,"train_bw.tri");
+set_bog_slip("train_bog2");
+raydium_ode_element_move_name_3f("train_bog2",-0.65,0,-0.3);
+raydium_ode_joint_attach_hinge_name("train_atta2","train_train","train_bog2",-0.65,0,-0.3,0,0,1);
+
+
+raydium_ode_motor_create("train_moteur",$a,RAYDIUM_ODE_MOTOR_ROCKET);
+raydium_ode_motor_rocket_set_name("train_moteur","train_bog2",0,0,0);
+raydium_ode_motor_rocket_orientation_name("train_moteur",0,-90,0);
+
+return $a;
+}
+
+function create_wagon($train,$x,$attach_to)
+{
+if($train<0) return -1;
+
+$px=$x*2.95;
+
+raydium_ode_object_box_add("train_wagon_$x",$train,1.5,-1,0,0,RAYDIUM_ODE_STANDARD,0,"wagon.tri");
+raydium_ode_element_move_name_3f("train_wagon_$x",$px,0,0.1);
+
+raydium_ode_object_box_add("train_wagon_{$x}_bog1",$train,0.5, 0.8,0.27,0.27,RAYDIUM_ODE_STANDARD,0,"train_bw.tri");
+set_bog_slip("train_wagon_{$x}_bog1");
+raydium_ode_element_move_name_3f("train_wagon_{$x}_bog1",$px-1,0,-0.3);
+raydium_ode_joint_attach_hinge_name("train_wagon_{$x}_atta1","train_wagon_$x","train_wagon_{$x}_bog1",$px-1,0,-0.3,0,0,1);
+
+raydium_ode_object_box_add("train_wagon_{$x}_bog2",$train,0.5, 0.8,0.27,0.27,RAYDIUM_ODE_STANDARD,0,"train_bw.tri");
+set_bog_slip("train_wagon_{$x}_bog2");
+raydium_ode_element_move_name_3f("train_wagon_{$x}_bog2",$px+1,0,-0.3);
+raydium_ode_joint_attach_hinge_name("train_wagon_{$x}_atta2","train_wagon_$x","train_wagon_{$x}_bog2",$px+1,0,-0.3,0,0,1);
+
+
+raydium_ode_object_box_add("train_wagon_{$x}_inter",$train,0.1,-1,0,0,RAYDIUM_ODE_STANDARD,0,"train_a.tri");
+raydium_ode_element_move_name_3f("train_wagon_{$x}_inter",$px-1.46,0,-0.2);
+
+raydium_ode_joint_attach_hinge_name("train_wagon_{$x}_inter1","train_wagon_$x","train_wagon_{$x}_inter",$px-1.46+0.15,0,-0.2,0,0,1);
+//raydium_ode_joint_hinge_limits_name("train_wagon_{$x}_inter1",-1,1);
+raydium_ode_joint_attach_hinge_name("train_wagon_{$x}_inter2",$attach_to,"train_wagon_{$x}_inter",$px-1.46-0.15,0,-0.2,0,0,1);
+//raydium_ode_joint_hinge_limits_name("train_wagon_{$x}_inter2",-1,1);
+//raydium_ode_joint_suspension_name("train_wagon_{$x}_inter",9,0);
+
+return "train_wagon_$x";
+}
+
+
+echo "deleting old train (if any)...";
+raydium_ode_object_delete_name("TRAIN");
+
+echo "train building...";
+$train=create_train();
+$previous="train_train";
+for($i=1;$i<=2;$i++)
+    {
+    $previous=create_wagon($train,$i,$previous);
+    }
+$force=0.1;
+
+echo "train Ok.";
+raydium_ode_object_move_name_3f("TRAIN",2,0,0.3);
+
+//raydium_ode_time_change(0);
+
+?>