[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