[Orxonox-commit 7694] r12287 - code/branches/MouseAPI_FS19/src/modules/MouseAPI

tkuonen at orxonox.net tkuonen at orxonox.net
Thu Apr 11 13:16:09 CEST 2019


Author: tkuonen
Date: 2019-04-11 13:16:08 +0200 (Thu, 11 Apr 2019)
New Revision: 12287

Modified:
   code/branches/MouseAPI_FS19/src/modules/MouseAPI/mouseapi.cc
   code/branches/MouseAPI_FS19/src/modules/MouseAPI/mouseapi.h
   code/branches/MouseAPI_FS19/src/modules/MouseAPI/mouseapiexample.cc
Log:
MouseAPI: improve getting mouse pos


Modified: code/branches/MouseAPI_FS19/src/modules/MouseAPI/mouseapi.cc
===================================================================
--- code/branches/MouseAPI_FS19/src/modules/MouseAPI/mouseapi.cc	2019-04-04 15:54:07 UTC (rev 12286)
+++ code/branches/MouseAPI_FS19/src/modules/MouseAPI/mouseapi.cc	2019-04-11 11:16:08 UTC (rev 12287)
@@ -51,7 +51,9 @@
 {
     cam = CameraManager::getInstance().getActiveCamera()->getOgreCamera();//todo: trycatch
     Ogre::Viewport *vp = GraphicsManager::getInstance().getViewport();
-    Ogre::Ray ray = cam->getCameraToViewportRay(mousePos.x/((float)vp->getActualWidth()),mousePos.y/((float)vp->getActualHeight()));
+    int mouseposX = InputManager::getInstance().getMousePosition().first;
+    int mouseposY = InputManager::getInstance().getMousePosition().second;
+    Ogre::Ray ray = cam->getCameraToViewportRay(mouseposX/((float)vp->getActualWidth()),mouseposY/((float)vp->getActualHeight()));
     for(auto event: clickEvents)
     {
         for(auto wantedButton:event.buttons)
@@ -64,7 +66,7 @@
 
 void MouseAPI::mouseMoved(IntVector2 abs, IntVector2 rel, IntVector2 clippingSize)
 {
-    mousePos = abs;
+    //mousePos = abs;
 }
 
 void MouseAPI::mouseScrolled(int abs, int rel)
@@ -71,11 +73,13 @@
 {
     cam = CameraManager::getInstance().getActiveCamera()->getOgreCamera();
     Ogre::Viewport *vp = GraphicsManager::getInstance().getViewport();
-    Ogre::Ray ray = cam->getCameraToViewportRay(mousePos.x/((float)vp->getActualWidth()),mousePos.y/((float)vp->getActualHeight()));
+    int mouseposX = InputManager::getInstance().getMousePosition().first;
+    int mouseposY = InputManager::getInstance().getMousePosition().second;
+    Ogre::Ray ray = cam->getCameraToViewportRay(mouseposX/((float)vp->getActualWidth()),mouseposY/((float)vp->getActualHeight()));
     for(auto event:scrollEvents)
     {
         if(!event.considerPosition || ray.intersects(Ogre::Sphere(event.position,event.radius)).first)
-            event.onScrolledFunction(abs,rel,mousePos);
+            event.onScrolledFunction(abs,rel,IntVector2(mouseposX,mouseposY));
     }
 }
 

Modified: code/branches/MouseAPI_FS19/src/modules/MouseAPI/mouseapi.h
===================================================================
--- code/branches/MouseAPI_FS19/src/modules/MouseAPI/mouseapi.h	2019-04-04 15:54:07 UTC (rev 12286)
+++ code/branches/MouseAPI_FS19/src/modules/MouseAPI/mouseapi.h	2019-04-11 11:16:08 UTC (rev 12287)
@@ -55,7 +55,7 @@
     std::list<clickableElement> clickEvents;
     std::list<scrollElement> scrollEvents;
     Ogre::Camera *cam ;
-    IntVector2 mousePos;
+    //IntVector2 mousePos;
     InputState* state;
     bool active = false;
 

Modified: code/branches/MouseAPI_FS19/src/modules/MouseAPI/mouseapiexample.cc
===================================================================
--- code/branches/MouseAPI_FS19/src/modules/MouseAPI/mouseapiexample.cc	2019-04-04 15:54:07 UTC (rev 12286)
+++ code/branches/MouseAPI_FS19/src/modules/MouseAPI/mouseapiexample.cc	2019-04-11 11:16:08 UTC (rev 12287)
@@ -1,4 +1,5 @@
 #include "mouseapiexample.h"
+#include "gametypes/Gametype.h"
 
 namespace orxonox
 {
@@ -8,7 +9,9 @@
 MouseAPIExample::MouseAPIExample(Context* context) : ControllableEntity(context)
 {
     RegisterObject(MouseAPIExample);
+    //this->getGametype()->getPlayers().begin()->first->getControllableEntity()...
 
+
 }
 
 MouseAPIExample::~MouseAPIExample()
@@ -15,6 +18,7 @@
 {
     if(MouseAPI::isActive())
         MouseAPI::getInstance().deactivate();
+
 }
 
 void MouseAPIExample::testfunction(MouseButtonCode::ByEnum mouse)



More information about the Orxonox-commit mailing list