Fix C++11 usage

- replace all the auto keyword by the proper type
kept the auto line in todo for reference :)

- silent a few warnings
This commit is contained in:
samcake 2014-07-10 16:45:12 -07:00
parent 7a95e40f56
commit c66560c1c0
8 changed files with 33 additions and 25 deletions

View file

@ -14,7 +14,7 @@ if (WIN32)
elseif (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
#SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-long-long -pedantic")
#SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-unknown-pragmas")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -fno-strict-aliasing")
endif(WIN32)
if (NOT QT_CMAKE_PREFIX_PATH)

View file

@ -13,7 +13,8 @@
DeviceTracker::SingletonData::~SingletonData() {
// Destroy all the device registered
for (auto device = _devicesVector.begin(); device != _devicesVector.end(); device++) {
//TODO C++11 for (auto device = _devicesVector.begin(); device != _devicesVector.end(); device++) {
for (Vector::iterator device = _devicesVector.begin(); device != _devicesVector.end(); device++) {
delete (*device);
}
}
@ -23,7 +24,8 @@ int DeviceTracker::getNumDevices() {
}
DeviceTracker::ID DeviceTracker::getDeviceID(const Name& name) {
auto deviceIt = Singleton::get()->_devicesMap.find(name);
//TODO C++11 auto deviceIt = Singleton::get()->_devicesMap.find(name);
Map::iterator deviceIt = Singleton::get()->_devicesMap.find(name);
if (deviceIt != Singleton::get()->_devicesMap.end()) {
return (*deviceIt).second;
} else {
@ -36,7 +38,7 @@ DeviceTracker* DeviceTracker::getDevice(const Name& name) {
}
DeviceTracker* DeviceTracker::getDevice(DeviceTracker::ID deviceID) {
if ((deviceID >= 0) && deviceID < Singleton::get()->_devicesVector.size()) {
if ((deviceID >= 0) && (unsigned int(deviceID) < Singleton::get()->_devicesVector.size())) {
return Singleton::get()->_devicesVector[ deviceID ];
} else {
return NULL;
@ -57,7 +59,7 @@ DeviceTracker::ID DeviceTracker::registerDevice(const Name& name, DeviceTracker*
// Good to register the device
deviceID = Singleton::get()->_devicesVector.size();
Singleton::get()->_devicesMap.insert(SingletonData::Map::value_type(name, deviceID));
Singleton::get()->_devicesMap.insert(Map::value_type(name, deviceID));
Singleton::get()->_devicesVector.push_back(device);
device->assignIDAndName(deviceID, name);
@ -65,7 +67,8 @@ DeviceTracker::ID DeviceTracker::registerDevice(const Name& name, DeviceTracker*
}
void DeviceTracker::updateAll() {
for (auto deviceIt = Singleton::get()->_devicesVector.begin(); deviceIt != Singleton::get()->_devicesVector.end(); deviceIt++) {
//TODO C++11 for (auto deviceIt = Singleton::get()->_devicesVector.begin(); deviceIt != Singleton::get()->_devicesVector.end(); deviceIt++) {
for (Vector::iterator deviceIt = Singleton::get()->_devicesVector.begin(); deviceIt != Singleton::get()->_devicesVector.end(); deviceIt++) {
if ((*deviceIt))
(*deviceIt)->update();
}

View file

@ -100,9 +100,9 @@ private:
// this call is used by the singleton when the device tracker is currently beeing registered and beeing assigned an ID
void assignIDAndName( const ID id, const Name& name ) { _ID = id; _name = name; }
typedef std::vector< DeviceTracker* > Vector;
typedef std::map< Name, ID > Map;
struct SingletonData {
typedef std::map< Name, ID > Map;
typedef std::vector< DeviceTracker* > Vector;
Map _devicesMap;
Vector _devicesVector;

View file

@ -136,7 +136,8 @@ void Leapmotion::update() {
}
// go through all the joints and increment their counter since last update
for (auto jointIt = _jointsArray.begin(); jointIt != _jointsArray.end(); jointIt++) {
// TODO C++11 for (auto jointIt = _jointsArray.begin(); jointIt != _jointsArray.end(); jointIt++) {
for (JointTracker::Vector::iterator jointIt = _jointsArray.begin(); jointIt != _jointsArray.end(); jointIt++) {
(*jointIt).tickNewFrame();
}

View file

@ -65,7 +65,7 @@ MotionTracker::MotionTracker() :
DeviceTracker()
{
_jointsArray.resize(1);
_jointsMap.insert(JointTracker::map::value_type(Semantic("Root"), 0));
_jointsMap.insert(JointTracker::Map::value_type(Semantic("Root"), 0));
}
MotionTracker::~MotionTracker()
@ -89,13 +89,14 @@ MotionTracker::Index MotionTracker::addJoint(const Semantic& semantic, Index par
// All good then allocate the joint
Index newIndex = _jointsArray.size();
_jointsArray.push_back(JointTracker(semantic, parent));
_jointsMap.insert(JointTracker::map::value_type(semantic, newIndex));
_jointsMap.insert(JointTracker::Map::value_type(semantic, newIndex));
return newIndex;
}
MotionTracker::Index MotionTracker::findJointIndex(const Semantic& semantic) const {
auto jointIt = _jointsMap.find(semantic);
// TODO C++11 auto jointIt = _jointsMap.find(semantic);
JointTracker::Map::const_iterator jointIt = _jointsMap.find(semantic);
if (jointIt != _jointsMap.end())
return (*jointIt).second;
return INVALID_SEMANTIC;
@ -105,7 +106,7 @@ void MotionTracker::updateAllAbsTransform() {
_jointsArray[0].updateAbsFromLocTransform(0);
// Because we know the hierarchy is stored from root down the branches let's just traverse and update
for (Index i = 1; i < _jointsArray.size(); i++) {
for (Index i = 1; unsigned int(i) < _jointsArray.size(); i++) {
JointTracker* joint = _jointsArray.data() + i;
joint->updateAbsFromLocTransform(_jointsArray.data() + joint->getParent());
}

View file

@ -43,8 +43,8 @@ public:
class JointTracker {
public:
typedef std::vector< JointTracker > vector;
typedef std::map< Semantic, Index > map;
typedef std::vector< JointTracker > Vector;
typedef std::map< Semantic, Index > Map;
JointTracker();
JointTracker(const JointTracker& tracker);
@ -84,8 +84,8 @@ public:
/// Access a Joint from it's index.
/// Index 0 is always the "Root".
/// if the index is Invalid then returns NULL.
const JointTracker* getJointTracker(Index index) const { return ((index > 0) && (index < _jointsArray.size()) ? _jointsArray.data() + index : NULL); }
JointTracker* editJointTracker(Index index) { return ((index > 0) && (index < _jointsArray.size()) ? _jointsArray.data() + index : NULL); }
const JointTracker* getJointTracker(Index index) const { return ((index > 0) && (unsigned int(index) < _jointsArray.size()) ? _jointsArray.data() + index : NULL); }
JointTracker* editJointTracker(Index index) { return ((index > 0) && (unsigned int(index) < _jointsArray.size()) ? _jointsArray.data() + index : NULL); }
/// From a semantic, find the Index of the Joint.
/// \return the index of the mapped Joint or INVALID_SEMANTIC if the semantic is not knowned.
@ -95,8 +95,8 @@ protected:
MotionTracker();
virtual ~MotionTracker();
JointTracker::vector _jointsArray;
JointTracker::map _jointsMap;
JointTracker::Vector _jointsArray;
JointTracker::Map _jointsMap;
/// Adding joint is only done from the specialized Motion Tracker, hence this function is protected.
/// The hierarchy of joints must be created from the top down to the branches.

View file

@ -262,7 +262,9 @@ glm::vec2 ControllerScriptingInterface::getViewportDimensions() const {
AbstractInputController* ControllerScriptingInterface::createInputController(const QString& deviceName, const QString& tracker) {
// This is where we retreive the Device Tracker category and then the sub tracker within it
auto icIt = _inputControllers.find(0);
//TODO C++11 auto icIt = _inputControllers.find(0);
InputControllerMap::iterator icIt = _inputControllers.find(0);
if (icIt != _inputControllers.end()) {
return (*icIt).second;
} else {
@ -281,7 +283,7 @@ AbstractInputController* ControllerScriptingInterface::createInputController(con
MotionTracker* motionTracker = dynamic_cast< MotionTracker* > (DeviceTracker::getDevice(deviceID));
if (motionTracker) {
MotionTracker::Index trackerID = motionTracker->findJointIndex(tracker.toStdString());
if (trackerID > 0) {
if (trackerID >= 0) {
AbstractInputController* inputController = new InputController(deviceID, trackerID, this);
_inputControllers.insert(InputControllerMap::value_type(inputController->getKey(), inputController));
@ -296,7 +298,8 @@ AbstractInputController* ControllerScriptingInterface::createInputController(con
}
void ControllerScriptingInterface::updateInputControllers() {
for (auto it = _inputControllers.begin(); it != _inputControllers.end(); it++) {
//TODO C++11 for (auto it = _inputControllers.begin(); it != _inputControllers.end(); it++) {
for (InputControllerMap::iterator it = _inputControllers.begin(); it != _inputControllers.end(); it++) {
(*it).second->update();
}
}

View file

@ -68,11 +68,11 @@ void injectorFromScriptValue(const QScriptValue &object, AudioInjector* &out) {
out = qobject_cast<AudioInjector*>(object.toQObject());
}
QScriptValue injectorToScriptValue_InputController(QScriptEngine *engine, AbstractInputController* const &in) {
QScriptValue injectorToScriptValueInputController(QScriptEngine *engine, AbstractInputController* const &in) {
return engine->newQObject(in);
}
void injectorFromScriptValue_InputController(const QScriptValue &object, AbstractInputController* &out) {
void injectorFromScriptValueInputController(const QScriptValue &object, AbstractInputController* &out) {
out = qobject_cast<AbstractInputController*>(object.toQObject());
}
@ -263,7 +263,7 @@ void ScriptEngine::init() {
_engine.globalObject().setProperty("LocalVoxels", localVoxelsValue);
qScriptRegisterMetaType(&_engine, injectorToScriptValue, injectorFromScriptValue);
qScriptRegisterMetaType( &_engine, injectorToScriptValue_InputController, injectorFromScriptValue_InputController);
qScriptRegisterMetaType( &_engine, injectorToScriptValueInputController, injectorFromScriptValueInputController);
qScriptRegisterMetaType(&_engine, animationDetailsToScriptValue, animationDetailsFromScriptValue);