55 #include <visp/vpConfig.h>
60 #include <visp/vpImage.h>
61 #include <visp/vpImageConvert.h>
62 #include <visp/vpRGBa.h>
64 #include <visp/vpImageTools.h>
65 #include <visp/vpHomogeneousMatrix.h>
66 #include <visp/vpRotationMatrix.h>
67 #include <visp/vpRxyzVector.h>
70 #include <OgreFrameListener.h>
90 class VISP_EXPORT
vpAROgre :
public Ogre::FrameListener,
public Ogre::WindowEventListener
92 ,
public OIS::KeyListener
97 unsigned int width = 640,
unsigned int height = 480,
98 const char* resourcePath =
99 #ifdef VISP_HAVE_OGRE_RESOURCES_PATH
100 VISP_HAVE_OGRE_RESOURCES_PATH,
104 const char* pluginsPath =
105 #ifdef VISP_HAVE_OGRE_PLUGINS_PATH
106 VISP_HAVE_OGRE_PLUGINS_PATH
117 virtual bool customframeStarted(
const Ogre::FrameEvent& evt);
119 virtual bool customframeEnded(
const Ogre::FrameEvent& evt);
125 virtual bool keyPressed(
const OIS::KeyEvent & ) {
return true; }
129 virtual bool keyReleased(
const OIS::KeyEvent & ) {
return true; }
132 virtual void windowClosed(Ogre::RenderWindow* rw);
142 void load(
const std::string &name,
const std::string &model);
144 void setPosition(
const std::string &name,
155 void setVisibility(
const std::string &name,
bool isVisible);
157 void setScale(
const std::string &name,
const float factorx,
const float factory,
const float factorz);
159 bool continueRendering(
void);
193 mshowConfigDialog = showConfigDialog;
206 mResourcePath = resourcePath;
219 mPluginsPath = pluginsPath;
234 mOptionnalResourceLocation.push_back(resourceLocation);
252 mWindow->reposition(static_cast<int>(win_x), static_cast<int>(win_y));
257 virtual void init(
bool bufferedKeys=
false);
258 virtual void createCamera(
void);
266 virtual void closeOIS(
void);
273 virtual bool updateScene(
const Ogre::FrameEvent & ) {
return true;};
289 virtual void updateCameraProjection(
void);
302 bool frameStarted(
const Ogre::FrameEvent& evt);
304 bool frameEnded(
const Ogre::FrameEvent& evt);
306 bool stopTest(
const Ogre::FrameEvent& evt);
343 #endif // VISP_HAVE_OGRE
void setPluginsPath(const char *pluginsPath)
Ogre::String mPluginsPath
The class provides a data structure for the homogeneous matrices as well as a set of operations on th...
void setShowConfigDialog(const bool showConfigDialog)
virtual bool destroyScene(void)
Ogre::String mResourcePath
OIS::Keyboard * mKeyboard
Implementation of an augmented reality viewer.
vpImage< vpRGBa > mImageRGBA
Ogre::RenderWindow * mWindow
OIS::InputManager * mInputManager
The vpRotationMatrix considers the particular case of a rotation matrix.
vpImage< unsigned char > mImage
virtual bool keyPressed(const OIS::KeyEvent &)
void setImageWidth(const unsigned int width)
void setWindowPosition(const unsigned int win_x, const unsigned int win_y)
virtual bool processInputEvent(const Ogre::FrameEvent &)
void setImageHeight(const unsigned int height)
Generic class defining intrinsic camera parameters.
virtual bool updateScene(const Ogre::FrameEvent &)
void setResourcePath(const char *resourcePath)
Ogre::HardwarePixelBufferSharedPtr mPixelBuffer
Ogre::Rectangle2D * mBackground
virtual void createScene(void)
Ogre::SceneManager * mSceneMgr
void addResource(const std::string &resourceLocation)
std::list< std::string > mOptionnalResourceLocation
virtual bool keyReleased(const OIS::KeyEvent &)
Class that consider the case of a translation vector.