Fix a few compile errors with C++11 on macOS.
This commit is contained in:
@@ -324,14 +324,14 @@ bool GHOST_NDOFManager::setDevice(unsigned short vendor_id, unsigned short produ
|
|||||||
return m_deviceType != NDOF_UnknownDevice;
|
return m_deviceType != NDOF_UnknownDevice;
|
||||||
}
|
}
|
||||||
|
|
||||||
void GHOST_NDOFManager::updateTranslation(const short t[3], GHOST_TUns64 time)
|
void GHOST_NDOFManager::updateTranslation(const int t[3], GHOST_TUns64 time)
|
||||||
{
|
{
|
||||||
memcpy(m_translation, t, sizeof(m_translation));
|
memcpy(m_translation, t, sizeof(m_translation));
|
||||||
m_motionTime = time;
|
m_motionTime = time;
|
||||||
m_motionEventPending = true;
|
m_motionEventPending = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void GHOST_NDOFManager::updateRotation(const short r[3], GHOST_TUns64 time)
|
void GHOST_NDOFManager::updateRotation(const int r[3], GHOST_TUns64 time)
|
||||||
{
|
{
|
||||||
memcpy(m_rotation, r, sizeof(m_rotation));
|
memcpy(m_rotation, r, sizeof(m_rotation));
|
||||||
m_motionTime = time;
|
m_motionTime = time;
|
||||||
|
@@ -138,8 +138,8 @@ public:
|
|||||||
// rotations are + when CCW, - when CW
|
// rotations are + when CCW, - when CW
|
||||||
// each platform is responsible for getting axis data into this form
|
// each platform is responsible for getting axis data into this form
|
||||||
// these values should not be scaled (just shuffled or flipped)
|
// these values should not be scaled (just shuffled or flipped)
|
||||||
void updateTranslation(const short t[3], GHOST_TUns64 time);
|
void updateTranslation(const int t[3], GHOST_TUns64 time);
|
||||||
void updateRotation(const short r[3], GHOST_TUns64 time);
|
void updateRotation(const int r[3], GHOST_TUns64 time);
|
||||||
|
|
||||||
// the latest raw button data from the device
|
// the latest raw button data from the device
|
||||||
// use HID button encoding (not NDOF_ButtonT)
|
// use HID button encoding (not NDOF_ButtonT)
|
||||||
@@ -163,8 +163,8 @@ private:
|
|||||||
int m_buttonMask;
|
int m_buttonMask;
|
||||||
const NDOF_ButtonT *m_hidMap;
|
const NDOF_ButtonT *m_hidMap;
|
||||||
|
|
||||||
short m_translation[3];
|
int m_translation[3];
|
||||||
short m_rotation[3];
|
int m_rotation[3];
|
||||||
int m_buttons; // bit field
|
int m_buttons; // bit field
|
||||||
|
|
||||||
GHOST_TUns64 m_motionTime; // in milliseconds
|
GHOST_TUns64 m_motionTime; // in milliseconds
|
||||||
|
@@ -200,8 +200,8 @@ static void DeviceEvent(uint32_t unused, uint32_t msg_type, void* msg_arg)
|
|||||||
case kConnexionCmdHandleAxis:
|
case kConnexionCmdHandleAxis:
|
||||||
{
|
{
|
||||||
// convert to blender view coordinates
|
// convert to blender view coordinates
|
||||||
const short t[3] = {s->axis[0], -(s->axis[2]), s->axis[1]};
|
const int t[3] = {s->axis[0], -(s->axis[2]), s->axis[1]};
|
||||||
const short r[3] = {-(s->axis[3]), s->axis[5], -(s->axis[4])};
|
const int r[3] = {-(s->axis[3]), s->axis[5], -(s->axis[4])};
|
||||||
|
|
||||||
ndof_manager->updateTranslation(t, now);
|
ndof_manager->updateTranslation(t, now);
|
||||||
ndof_manager->updateRotation(r, now);
|
ndof_manager->updateRotation(r, now);
|
||||||
|
@@ -107,8 +107,8 @@ bool GHOST_NDOFManagerUnix::processEvents()
|
|||||||
{
|
{
|
||||||
/* convert to blender view coords */
|
/* convert to blender view coords */
|
||||||
GHOST_TUns64 now = m_system.getMilliSeconds();
|
GHOST_TUns64 now = m_system.getMilliSeconds();
|
||||||
const short t[3] = {(short)e.motion.x, (short)e.motion.y, (short)-e.motion.z};
|
const int t[3] = {(int)e.motion.x, (int)e.motion.y, (int)-e.motion.z};
|
||||||
const short r[3] = {(short)-e.motion.rx, (short)-e.motion.ry, (short)e.motion.rz};
|
const int r[3] = {(int)-e.motion.rx, (int)-e.motion.ry, (int)e.motion.rz};
|
||||||
|
|
||||||
updateTranslation(t, now);
|
updateTranslation(t, now);
|
||||||
updateRotation(r, now);
|
updateRotation(r, now);
|
||||||
@@ -128,7 +128,7 @@ bool GHOST_NDOFManagerUnix::processEvents()
|
|||||||
#ifdef USE_FINISH_GLITCH_WORKAROUND
|
#ifdef USE_FINISH_GLITCH_WORKAROUND
|
||||||
if (motion_test_prev == true && motion_test == false) {
|
if (motion_test_prev == true && motion_test == false) {
|
||||||
GHOST_TUns64 now = m_system.getMilliSeconds();
|
GHOST_TUns64 now = m_system.getMilliSeconds();
|
||||||
const short v[3] = {0, 0, 0};
|
const int v[3] = {0, 0, 0};
|
||||||
|
|
||||||
updateTranslation(v, now);
|
updateTranslation(v, now);
|
||||||
updateRotation(v, now);
|
updateRotation(v, now);
|
||||||
|
@@ -879,12 +879,12 @@ bool GHOST_SystemWin32::processNDOF(RAWINPUT const &raw)
|
|||||||
{
|
{
|
||||||
const short *axis = (short *)(data + 1);
|
const short *axis = (short *)(data + 1);
|
||||||
// massage into blender view coords (same goes for rotation)
|
// massage into blender view coords (same goes for rotation)
|
||||||
const short t[3] = {axis[0], -axis[2], axis[1]};
|
const int t[3] = {axis[0], -axis[2], axis[1]};
|
||||||
m_ndofManager->updateTranslation(t, now);
|
m_ndofManager->updateTranslation(t, now);
|
||||||
|
|
||||||
if (raw.data.hid.dwSizeHid == 13) {
|
if (raw.data.hid.dwSizeHid == 13) {
|
||||||
// this report also includes rotation
|
// this report also includes rotation
|
||||||
const short r[3] = {-axis[3], axis[5], -axis[4]};
|
const int r[3] = {-axis[3], axis[5], -axis[4]};
|
||||||
m_ndofManager->updateRotation(r, now);
|
m_ndofManager->updateRotation(r, now);
|
||||||
|
|
||||||
// I've never gotten one of these, has anyone else?
|
// I've never gotten one of these, has anyone else?
|
||||||
@@ -895,7 +895,7 @@ bool GHOST_SystemWin32::processNDOF(RAWINPUT const &raw)
|
|||||||
case 2: // rotation
|
case 2: // rotation
|
||||||
{
|
{
|
||||||
const short *axis = (short *)(data + 1);
|
const short *axis = (short *)(data + 1);
|
||||||
const short r[3] = {-axis[0], axis[2], -axis[1]};
|
const int r[3] = {-axis[0], axis[2], -axis[1]};
|
||||||
m_ndofManager->updateRotation(r, now);
|
m_ndofManager->updateRotation(r, now);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@@ -31,10 +31,16 @@
|
|||||||
|
|
||||||
|
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <math.h>
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
|
||||||
|
#if __cplusplus >= 201103L
|
||||||
|
#include <cmath>
|
||||||
|
using std::isfinite;
|
||||||
|
#else
|
||||||
|
#include <math.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "rayobject_rtbuild.h"
|
#include "rayobject_rtbuild.h"
|
||||||
|
|
||||||
#include "MEM_guardedalloc.h"
|
#include "MEM_guardedalloc.h"
|
||||||
@@ -42,10 +48,6 @@
|
|||||||
#include "BLI_math.h"
|
#include "BLI_math.h"
|
||||||
#include "BLI_utildefines.h"
|
#include "BLI_utildefines.h"
|
||||||
|
|
||||||
#if __cplusplus >= 201103L
|
|
||||||
using std::isfinite;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static bool selected_node(RTBuilder::Object *node)
|
static bool selected_node(RTBuilder::Object *node)
|
||||||
{
|
{
|
||||||
return node->selected;
|
return node->selected;
|
||||||
|
Reference in New Issue
Block a user