Ejemplo n.º 1
0
int main ()
{
  printf ("Results of node_bind3_test:\n");
  
  Node::Pointer node (Node::Create ()), parent1 (Node::Create ()), parent2 (Node::Create ());

  node->SetPosition    (1, 2, 3);
  node->SetOrientation (degree (90.0f), 1, 0, 0);
  node->SetScale       (-1, 2, 3);
  
  parent1->SetPosition    (-1, -5, 2);
  parent1->SetOrientation (degree (90.0f), 0, 1, 0);
  parent1->SetScale       (-1, -2, 1);  
  
  parent1->SetPosition    (8, 2, 3);
  parent1->SetOrientation (degree (90.0f), 0, 0, 1);
  parent1->SetScale       (2, 3, 1);
  
  node->BindToParent (*parent1);
  
  printf           ("before\n  position:    ");
  dump_position    (*node);
  printf           ("\n  orientation: ");
  dump_orientation (*node);
  printf           ("\n  scale:       ");
  dump_scale       (*node);  
  printf           ("\n");  
  
  node->BindToParent (*parent2, NodeBindMode_AddRef, NodeTransformSpace_World);
  
  printf           ("after rebind\n  position:    ");
  dump_position    (*node);
  printf           ("\n  orientation: ");  
  dump_orientation (*node);
  printf           ("\n  scale:       ");  
  dump_scale       (*node);  
  printf           ("\n");  
  
  node->Unbind (NodeTransformSpace_World);
  
  printf           ("after unbind\n  position:    ");
  dump_position    (*node);
  printf           ("\n  orientation: ");  
  dump_orientation (*node);
  printf           ("\n  scale:       ");  
  dump_scale       (*node);  
  printf           ("\n");    

  return 0;
}
Ejemplo n.º 2
0
int main ()
{
  printf ("Results of node_transform_world_scale_test:\n");
  
  Node::Pointer node (Node::Create ()), parent (Node::Create ());
  
  node->BindToParent (*parent);
    
  printf ("set scale result: ");
  node->SetScale (1, 2, 3);
  dump_scale (*node);
  printf ("\n");

  printf ("translate parent\n");
  
  parent->Translate (0, 2, 0);
  
  printf ("parent position: ");
  dump_position (*parent);
  printf ("\nnode scale: ");
  dump_scale (*node);
  printf ("\n");
  
  printf ("rotate parent\n");
  
  parent->Rotate (degree (30.f), degree (0.f), degree (0.f));
  
  printf ("parent orientation: ");
  dump_orientation (*parent);
  printf ("\nnode scale: ");
  dump_scale (*node);
  printf ("\n");
  
  printf ("scale parent\n");
  
  parent->Scale (2, 3, -1);
  
  printf ("parent scale: ");
  dump_scale (*parent);
  printf ("\nnode scale: ");
  dump_scale (*node);
  printf ("\n");
  
  printf ("no parent-scale inherit\n");
  
  node->SetScaleInherit (false);
  
  printf ("node scale: ");
  dump_scale (*node);
  printf ("\n");

  return 0;
}
Ejemplo n.º 3
0
	virtual int Run(int argc, char* argv[])
	{
		dWorld world;
		world.setGravity(0, 0, -1.0);

		dMass m;
		m.setSphereTotal(1.0, 0.2);

		dBody ball(world);
		ball.setMass(m);
		ball.setPosition(0, 0, 1.0);

		while(true) {
			const dReal stepsize = 0.1;
			world.step(stepsize);
			dump_position(ball.getPosition());

			if(get_cin_key() == 'q')
				break;
		}

		return 0;
	}