Example #1
0
bool CMD_axis(
		u32		n_args,
		char	**args
	)
{
	bool add_axis;
	Transformable *t;

	if (n_args < 1)
		return false;

	if (!(t = fetchTransformable(args[0])))
		return false;

	if (n_args == 1) {
		if (t->axis) {
			add_axis = false;
		} else {
			add_axis = true;
		}
	} else {
		bool d = !(args[1][0] == '0' && args[1][1] == 0);

		if ((d && t->axis) || (!d && !t->axis))
			return true;

		add_axis = d;
	}

	if (add_axis) {
		t->axis = (Group *) DefaultObjects::axisGroup->duplicate(0, true);
		t->attachChild(t->axis);
	} else {
		t->detachChild(t->axis);
		SceneGraph::deleteNode(t->axis);
		t->axis = 0;
	}

	return true;
}