Esempio n. 1
0
		void printScene(Ogre::SceneNode* node, int indent)
		{
			for (int i = 0; i < indent; i++)
			{
				std::cout << "    ";
			}
			indent++;
			std::cout
				<< node->getName()
				<< " " << node->getPosition()
				<< " " << node->getOrientation() * Ogre::Vector3(0, 0, -1)
				<< std::endl;
			auto objects = node->getAttachedObjectIterator();
			while (objects.hasMoreElements())
			{
				for (int i = 0; i < indent; i++)
				{
					std::cout << "    ";
				}
				auto object = objects.getNext();
				std::cout << object->getName();
				if (auto light = dynamic_cast<Ogre::Light*>(object))
				{
					std::cout << " " << light->getDirection() * Ogre::Vector3(0, 0, -1);
				}
				else if (auto cam = dynamic_cast<Ogre::Camera*>(object))
				{
					std::cout << " " << cam->getOrientation() * Ogre::Vector3(0, 0, -1);
				}
				std::cout << std::endl;
			}
			auto n = node->getChildIterator();
			while (n.hasMoreElements())
			{
				printScene(dynamic_cast<Ogre::SceneNode*>(n.getNext()), indent + 1);
			}
		}
Esempio n. 2
0
// ***********************Render Checkpoint METHODS: Rendering Scene************************
// Init Default Scene
void initScene(int index, struct scene* aScene, struct pData* poses, int image_count)
{
  // init poses to index
  aScene->pose = poses[index];
  aScene->pose.eye = aScene->pose.center;
  aScene->pose.eye.val[0] = aScene->pose.eye.val[0] + 1;
  aScene->pose.up = cvScalar(0.0, 0.0, 1.0, 0.0);

  // init indices to index
  aScene->currentIndex = index;
  aScene->previousIndex = index;

  // init max image
  aScene->max_image = image_count;

  // init angles to 0
  aScene->xAngle = 0.0;
  aScene->yAngle = 0.0;
  aScene->zAngle = 0.0;

  if (DEBUG) {
    printScene(aScene);
  }
}