From b81133e381628b854b4db63779e4f6515c6105ff Mon Sep 17 00:00:00 2001 From: Jonas Strandstedt Date: Tue, 16 Dec 2014 19:09:32 +0100 Subject: [PATCH] Removes most of Visual Studio warnings --- src/engine/openspaceengine.cpp | 2 +- src/interaction/interactionhandler.cpp | 4 +- src/interaction/keyboardcontroller.cpp | 10 ++-- src/interaction/mousecontroller.cpp | 20 +++---- src/rendering/model/renderablemodel.cpp | 2 +- src/rendering/planets/renderableplanet.cpp | 2 +- src/rendering/renderablefieldlines.cpp | 6 +-- src/rendering/renderablefov.cpp | 11 ++-- src/rendering/renderablepath.cpp | 4 +- src/rendering/renderablesphericalgrid.cpp | 2 +- src/rendering/renderabletrail.cpp | 12 ++--- src/rendering/renderablevolume.cpp | 11 ++-- src/rendering/renderablevolumegl.cpp | 12 ++--- src/rendering/renderengine.cpp | 2 +- src/scenegraph/scenegraphnode.cpp | 2 +- src/util/kameleonwrapper.cpp | 62 ++++++++++++---------- src/util/progressbar.cpp | 2 +- 17 files changed, 87 insertions(+), 79 deletions(-) diff --git a/src/engine/openspaceengine.cpp b/src/engine/openspaceengine.cpp index 97cec8b9b4..8409dc85fe 100644 --- a/src/engine/openspaceengine.cpp +++ b/src/engine/openspaceengine.cpp @@ -516,7 +516,7 @@ void OpenSpaceEngine::postSynchronizationPreDraw() { bool buttons[2] = { button0 != 0, button1 != 0 }; double dt = std::max(sgct::Engine::instance()->getDt(), 1.0/60.0); - _gui.startFrame(dt, glm::vec2(glm::ivec2(x,y)), glm::vec2(posX, posY), buttons); + _gui.startFrame(static_cast(dt), glm::vec2(glm::ivec2(x,y)), glm::vec2(posX, posY), buttons); } } diff --git a/src/interaction/interactionhandler.cpp b/src/interaction/interactionhandler.cpp index 6957623518..af18524f6a 100644 --- a/src/interaction/interactionhandler.cpp +++ b/src/interaction/interactionhandler.cpp @@ -313,7 +313,7 @@ int distance(lua_State* L) { double d1 = luaL_checknumber(L, -2); double d2 = luaL_checknumber(L, -1); - PowerScaledScalar dist(d1, d2); + PowerScaledScalar dist(static_cast(d1), static_cast(d2)); OsEng.interactionHandler().distanceDelta(dist); return 0; } @@ -515,7 +515,7 @@ void InteractionHandler::mousePositionCallback(int x, int y) { void InteractionHandler::mouseScrollWheelCallback(int pos) { if (_mouseController) - _mouseController->scrollWheel(float(pos)); + _mouseController->scrollWheel(pos); } void InteractionHandler::orbitDelta(const glm::quat& rotation) diff --git a/src/interaction/keyboardcontroller.cpp b/src/interaction/keyboardcontroller.cpp index d143bf532d..dd68e496b9 100644 --- a/src/interaction/keyboardcontroller.cpp +++ b/src/interaction/keyboardcontroller.cpp @@ -37,8 +37,8 @@ namespace interaction { void KeyboardControllerFixed::keyPressed(KeyAction action, Key key, KeyModifier modifier) { // TODO package in script - const double speed = 2.75; - const double dt = _handler->deltaTime(); + const float speed = 2.75; + const float dt = static_cast( _handler->deltaTime()); if(action == KeyAction::Press|| action == KeyAction::Repeat) { if (key == Key::S) { glm::vec3 euler(speed * dt, 0.0, 0.0); @@ -92,7 +92,7 @@ void KeyboardControllerFixed::keyPressed(KeyAction action, Key key, KeyModifier _handler->distanceDelta(dist); } if (key == Key::T) { - PowerScaledScalar dist(-speed * pow(10, 11) * dt, 0.0); + PowerScaledScalar dist(-speed * pow(10.0f, 11.0f) * dt, 0.0f); _handler->distanceDelta(dist); } //if (key == Keys::G) { @@ -101,11 +101,11 @@ void KeyboardControllerFixed::keyPressed(KeyAction action, Key key, KeyModifier // distanceDelta(dist); //} if (key == Key::Y) { - PowerScaledScalar dist(-speed * 100.0 * dt, 6.0); + PowerScaledScalar dist(-speed * 100.0f * dt, 6.0f); _handler->distanceDelta(dist); } if (key == Key::H) { - PowerScaledScalar dist(speed * 100.0 * dt, 6.0); + PowerScaledScalar dist(speed * 100.0f * dt, 6.0f); _handler->distanceDelta(dist); } diff --git a/src/interaction/mousecontroller.cpp b/src/interaction/mousecontroller.cpp index 9d089f4d15..04f9e35be7 100644 --- a/src/interaction/mousecontroller.cpp +++ b/src/interaction/mousecontroller.cpp @@ -43,10 +43,10 @@ glm::vec3 MouseController::mapToTrackball(glm::vec2 mousePos) { if (out.x*out.x + out.y*out.y <= RADIUS*RADIUS / 2.0) { //Spherical Region out.z = RADIUS*RADIUS - (out.x*out.x + out.y*out.y); - out.z = out.z > 0.0 ? sqrtf(out.z) : 0.0; + out.z = out.z > 0.0f ? sqrtf(out.z) : 0.0f; } else { //Hyperbolic Region - for smooth z values - out.z = (RADIUS*RADIUS) / (2.0*sqrt(out.x*out.x + out.y*out.y)); + out.z = (RADIUS*RADIUS) / (2.0f*sqrt(out.x*out.x + out.y*out.y)); } return glm::normalize(out); @@ -70,8 +70,8 @@ glm::vec3 MouseController::mapToCamera(glm::vec3 trackballPos) { void MouseController::trackballRotate(int x, int y) { // Normalize mouse coordinates to [0,1] - float width = sgct::Engine::instance()->getActiveXResolution(); - float height = sgct::Engine::instance()->getActiveYResolution(); + float width = static_cast(sgct::Engine::instance()->getActiveXResolution()); + float height = static_cast(sgct::Engine::instance()->getActiveYResolution()); glm::vec2 mousePos = glm::vec2((float)x / width, (float)y / height); mousePos = glm::clamp(mousePos, -0.5, 1.5); // Ugly fix #1: Camera position becomes NaN on mouse values outside [-0.5, 1.5] @@ -89,7 +89,7 @@ void MouseController::trackballRotate(int x, int y) { if (curTrackballPos != _lastTrackballPos) { // calculate rotation angle (in radians) float rotationAngle = glm::angle(curTrackballPos, _lastTrackballPos); - rotationAngle *= _handler->deltaTime() * 100.0f; + rotationAngle *= static_cast(_handler->deltaTime()) * 100.0f; // Map trackballpos to camera // glm::vec3 trackballMappedToCamera = mapToCamera(_lastTrackballPos - curTrackballPos); @@ -125,18 +125,18 @@ void TrackballMouseController::button(MouseAction action, MouseButton button) { void TrackballMouseController::move(float x, float y) { if (_leftMouseButtonDown) - trackballRotate(x, y); + trackballRotate(static_cast(x), static_cast(y)); } void TrackballMouseController::scrollWheel(int pos) { - const double speed = 4.75; - const double dt = _handler->deltaTime(); + const float speed = 4.75f; + const float dt = static_cast(_handler->deltaTime()); if (pos < 0) { - PowerScaledScalar dist(speed * dt, 0.0); + PowerScaledScalar dist(speed * dt, 0.0f); _handler->distanceDelta(dist); } else if (pos > 0) { - PowerScaledScalar dist(-speed * dt, 0.0); + PowerScaledScalar dist(-speed * dt, 0.0f); _handler->distanceDelta(dist); } } diff --git a/src/rendering/model/renderablemodel.cpp b/src/rendering/model/renderablemodel.cpp index 30aa4b9c55..850449e7ea 100644 --- a/src/rendering/model/renderablemodel.cpp +++ b/src/rendering/model/renderablemodel.cpp @@ -135,7 +135,7 @@ void RenderableModel::render(const RenderData& data) glm::mat4 tmp = glm::mat4(1); for (int i = 0; i < 3; i++){ for (int j = 0; j < 3; j++){ - tmp[i][j] = _stateMatrix[i][j]; + tmp[i][j] = static_cast(_stateMatrix[i][j]); } } diff --git a/src/rendering/planets/renderableplanet.cpp b/src/rendering/planets/renderableplanet.cpp index f78156dd01..44aa839a21 100644 --- a/src/rendering/planets/renderableplanet.cpp +++ b/src/rendering/planets/renderableplanet.cpp @@ -138,7 +138,7 @@ void RenderablePlanet::render(const RenderData& data) for (int i = 0; i < 3; i++){ for (int j = 0; j < 3; j++){ - transform[i][j] = _stateMatrix[i][j]; + transform[i][j] = static_cast(_stateMatrix[i][j]); } } transform = transform* rot; diff --git a/src/rendering/renderablefieldlines.cpp b/src/rendering/renderablefieldlines.cpp index 9214b1e48f..13a73dd2c2 100644 --- a/src/rendering/renderablefieldlines.cpp +++ b/src/rendering/renderablefieldlines.cpp @@ -114,8 +114,8 @@ bool RenderableFieldlines::initialize() { // Arrange data for glMultiDrawArrays for (int j = 0; j < fieldlinesData.size(); ++j) { _lineStart.push_back(prevEnd); - _lineCount.push_back(fieldlinesData[j].size()); - prevEnd = prevEnd + fieldlinesData[j].size(); + _lineCount.push_back(static_cast(fieldlinesData[j].size())); + prevEnd = prevEnd + static_cast(fieldlinesData[j].size()); vertexData.insert( vertexData.end(), fieldlinesData[j].begin(), fieldlinesData[j].end()); } } @@ -164,7 +164,7 @@ void RenderableFieldlines::render(const RenderData& data) { // ------ DRAW FIELDLINES ----------------- glBindVertexArray(_fieldlineVAO); - glMultiDrawArrays(GL_LINE_STRIP_ADJACENCY, &_lineStart[0], &_lineCount[0], _lineStart.size()); + glMultiDrawArrays(GL_LINE_STRIP_ADJACENCY, &_lineStart[0], &_lineCount[0], static_cast(_lineStart.size())); glBindVertexArray(0); _shader->deactivate(); diff --git a/src/rendering/renderablefov.cpp b/src/rendering/renderablefov.cpp index 52018218e2..12f9615d26 100644 --- a/src/rendering/renderablefov.cpp +++ b/src/rendering/renderablefov.cpp @@ -85,7 +85,7 @@ void RenderableFov::fullYearSweep(){ } _stride = 8; - _vsize = _varray.size(); + _vsize = static_cast(_varray.size()); _vtotal = static_cast(_vsize / _stride); } @@ -167,7 +167,7 @@ void RenderableFov::render(const RenderData& data){ for (int i = 0; i < 3; i++){ for (int j = 0; j < 3; j++){ - tmp[i][j] = _stateMatrix[i][j]; + tmp[i][j] = static_cast(_stateMatrix[i][j]); } } transform = tmp*rot; @@ -187,7 +187,7 @@ void RenderableFov::render(const RenderData& data){ bool found = openspace::SpiceManager::ref().getFieldOfView("NH_LORRI", shape, name, boresight, bounds); - float size = 4 * sizeof(float); + size_t size = 4 * sizeof(float); float *begin = &_varray[0]; glm::vec4 origin(0); @@ -195,7 +195,7 @@ void RenderableFov::render(const RenderData& data){ glm::vec4 col_end(1.00, 0.29, 0.00, 1); glm::vec4 bsight_t(boresight[0], boresight[1], boresight[2], data.position[3]-3); - float sc = 2.2; + float sc = 2.2f; glm::vec4 corner1(bounds[0][0], bounds[0][1], bounds[0][2], data.position[3]-sc); memcpy(begin, glm::value_ptr(origin), size); memcpy(begin + 4, glm::value_ptr(col_start), size); @@ -231,9 +231,8 @@ void RenderableFov::render(const RenderData& data){ void RenderableFov::update(const UpdateData& data){ - double lightTime; _time = data.time; - _delta = data.delta; + _delta = static_cast(data.delta); openspace::SpiceManager::ref().getPositionTransformMatrix("NH_SPACECRAFT", "GALACTIC", data.time, _stateMatrix); } diff --git a/src/rendering/renderablepath.cpp b/src/rendering/renderablepath.cpp index b91e047c79..9cd922930f 100644 --- a/src/rendering/renderablepath.cpp +++ b/src/rendering/renderablepath.cpp @@ -136,7 +136,7 @@ bool RenderablePath::fullYearSweep(){ et += _increment; } _stride = 8; - _vsize = _varray.size(); + _vsize = static_cast(_varray.size()); _vtotal = static_cast(_vsize / _stride); return true; } @@ -243,7 +243,7 @@ void RenderablePath::update(const UpdateData& data){ double lightTime; _time = data.time; - _delta = data.delta; + _delta = static_cast(data.delta); SpiceManager::ref().getTargetState(_target, _observer, _frame, "LT+S", data.time, _pscpos, _pscvel, lightTime); } diff --git a/src/rendering/renderablesphericalgrid.cpp b/src/rendering/renderablesphericalgrid.cpp index bb0e0c0688..1758e4ffcd 100644 --- a/src/rendering/renderablesphericalgrid.cpp +++ b/src/rendering/renderablesphericalgrid.cpp @@ -59,7 +59,7 @@ RenderableSphericalGrid::RenderableSphericalGrid(const ghoul::Dictionary& dictio dictionary.getValue(constants::renderablesphericalgrid::gridMatrix , _gridMatrix); dictionary.getValue(constants::renderablesphericalgrid::gridSegments, s); - _segments = s[0]; + _segments = static_cast(s[0]); _isize = int(6 * _segments * _segments); _vsize = int((_segments + 1) * (_segments + 1)); diff --git a/src/rendering/renderabletrail.cpp b/src/rendering/renderabletrail.cpp index a2bc4af6f2..367cf561a2 100644 --- a/src/rendering/renderabletrail.cpp +++ b/src/rendering/renderabletrail.cpp @@ -99,8 +99,8 @@ RenderableTrail::RenderableTrail(const ghoul::Dictionary& dictionary) void RenderableTrail::fullYearSweep(){ double lightTime = 0.0; double et = _startTrail; - double planetYear = 31540000 * _ratio; - int segments = _tropic; + float planetYear = 31540000.0f * _ratio; + int segments = static_cast(_tropic); _increment = planetYear / _tropic; @@ -134,7 +134,7 @@ void RenderableTrail::fullYearSweep(){ et -= _increment; } _stride = 8; - _vsize = _varray.size(); + _vsize = static_cast(_varray.size()); _vtotal = static_cast(_vsize / _stride); } @@ -196,7 +196,7 @@ bool RenderableTrail::initialize(){ // SpiceManager::ref().getETfromDate("2006 Aug 22 17:00:00", _startTrail); SpiceManager::ref().getETfromDate("2007 feb 26 17:30:00", _startTrail); - _dtEt = _startTrail; + _dtEt = static_cast(_startTrail); fullYearSweep(); sendToGPU(); @@ -309,8 +309,8 @@ void RenderableTrail::render(const RenderData& data){ } void RenderableTrail::update(const UpdateData& data){ - _time = data.time; - _delta = data.delta; + _time = static_cast(data.time); + _delta = static_cast(data.delta); SpiceManager::ref().getTargetState(_target, _observer, _frame, "NONE", data.time, _pscpos, _pscvel, lightTime); _pscpos[3] += 3; // KM to M diff --git a/src/rendering/renderablevolume.cpp b/src/rendering/renderablevolume.cpp index 4f409281f1..e73616cfda 100644 --- a/src/rendering/renderablevolume.cpp +++ b/src/rendering/renderablevolume.cpp @@ -152,12 +152,12 @@ ghoul::opengl::Texture* RenderableVolume::loadVolume( float* data = new float[length]; #ifdef VOLUME_LOAD_PROGRESSBAR LINFO("Loading cache: " << cachepath); - ProgressBar pb(dimensions[2]); + ProgressBar pb(static_cast(dimensions[2])); for (size_t i = 0; i < dimensions[2]; ++i) { size_t offset = length / dimensions[2]; std::streamsize offsetsize = sizeof(float)*offset; file.read(reinterpret_cast(data + offset * i), offsetsize); - pb.print(i); + pb.print(static_cast(i)); } #else file.read(reinterpret_cast(data), sizeof(float)*length); @@ -195,10 +195,11 @@ ghoul::opengl::Texture* RenderableVolume::loadVolume( float* data = kw.getUniformSampledVectorValues(xVariable, yVariable, zVariable, dimensions); if(cache) { - FILE* file = fopen (cachepath.c_str(), "wb"); + //FILE* file = fopen (cachepath.c_str(), "wb"); + std::ofstream file(cachepath, std::ios::in | std::ios::binary); size_t length = dimensions[0] * dimensions[1] * dimensions[2]; - fwrite(data, sizeof(float), length, file); - fclose(file); + file.write(reinterpret_cast(data), sizeof(float)*length); + file.close(); } return new ghoul::opengl::Texture(data, dimensions, ghoul::opengl::Texture::Format::RGBA, GL_RGBA, GL_FLOAT, filtermode, wrappingmode); diff --git a/src/rendering/renderablevolumegl.cpp b/src/rendering/renderablevolumegl.cpp index 88484cd473..37bec48866 100644 --- a/src/rendering/renderablevolumegl.cpp +++ b/src/rendering/renderablevolumegl.cpp @@ -126,9 +126,9 @@ RenderableVolumeGL::RenderableVolumeGL(const ghoul::Dictionary& dictionary) _boxScaling = kw.getModelScale(); if (std::get<0>(t) == "R" && std::get<1>(t) == "R" && std::get<2>(t) == "R") { // Earth radius - _boxScaling.x *= 6.371; - _boxScaling.y *= 6.371; - _boxScaling.z *= 6.371; + _boxScaling.x *= 6.371f; + _boxScaling.y *= 6.371f; + _boxScaling.z *= 6.371f; _w = 6; } else if (std::get<0>(t) == "m" && std::get<1>(t) == "radian" && std::get<2>(t) == "radian") { @@ -143,9 +143,9 @@ RenderableVolumeGL::RenderableVolumeGL(const ghoul::Dictionary& dictionary) _pscOffset = kw.getModelBarycenterOffset(); if (std::get<0>(t) == "R" && std::get<1>(t) == "R" && std::get<2>(t) == "R") { // Earth radius - _pscOffset[0] *= 6.371; - _pscOffset[1] *= 6.371; - _pscOffset[2] *= 6.371; + _pscOffset[0] *= 6.371f; + _pscOffset[1] *= 6.371f; + _pscOffset[2] *= 6.371f; _pscOffset[3] = 6; } else { diff --git a/src/rendering/renderengine.cpp b/src/rendering/renderengine.cpp index fd049ce3d9..38c0391815 100644 --- a/src/rendering/renderengine.cpp +++ b/src/rendering/renderengine.cpp @@ -666,7 +666,7 @@ void RenderEngine::storePerformanceMeasurements() { PerformanceLayoutEntry entries[maxValues]; }; - const int nNodes = sceneGraph()->allSceneGraphNodes().size(); + const int nNodes = static_cast(sceneGraph()->allSceneGraphNodes().size()); if (!_performanceMemory) { // Compute the total size diff --git a/src/scenegraph/scenegraphnode.cpp b/src/scenegraph/scenegraphnode.cpp index ac396a503d..5f1ccad999 100644 --- a/src/scenegraph/scenegraphnode.cpp +++ b/src/scenegraph/scenegraphnode.cpp @@ -256,7 +256,7 @@ void SceneGraphNode::render(const RenderData& data) { RenderData newData = {data.camera, thisPosition, data.doPerformanceMeasurement}; - _performanceRecord.renderTime = 0.f; + _performanceRecord.renderTime = 0; if (_renderableVisible && _renderable->isVisible() && _renderable->isReady() && _renderable->isEnabled()) { if (data.doPerformanceMeasurement) { glFinish(); diff --git a/src/util/kameleonwrapper.cpp b/src/util/kameleonwrapper.cpp index 4be16d2ebf..9a517b62ff 100644 --- a/src/util/kameleonwrapper.cpp +++ b/src/util/kameleonwrapper.cpp @@ -152,7 +152,7 @@ float* KameleonWrapper::getUniformSampledValues( assert(outDimensions.x > 0 && outDimensions.y > 0 && outDimensions.z > 0); LINFO("Loading variable " << var << " from CDF data with a uniform sampling"); - int size = outDimensions.x*outDimensions.y*outDimensions.z; + unsigned int size = static_cast(outDimensions.x*outDimensions.y*outDimensions.z); float* data = new float[size]; double* doubleData = new double[size]; @@ -168,7 +168,7 @@ float* KameleonWrapper::getUniformSampledValues( // HISTOGRAM const int bins = 200; - const float truncLim = 0.9; + const float truncLim = 0.9f; std::vector histogram (bins,0); auto mapToHistogram = [varMin, varMax, bins](double val) { double zeroToOne = (val-varMin)/(varMax-varMin); @@ -178,14 +178,14 @@ float* KameleonWrapper::getUniformSampledValues( return glm::clamp(izerotoone, 0, bins-1); }; - ProgressBar pb(outDimensions.x); + ProgressBar pb(static_cast(outDimensions.x)); for (int x = 0; x < outDimensions.x; ++x) { pb.print(x); for (int y = 0; y < outDimensions.y; ++y) { for (int z = 0; z < outDimensions.z; ++z) { - int index = x + y*outDimensions.x + z*outDimensions.x*outDimensions.y; + unsigned int index = static_cast(x + y*outDimensions.x + z*outDimensions.x*outDimensions.y); if (_gridType == GridType::Spherical) { // Put r in the [0..sqrt(3)] range @@ -223,7 +223,11 @@ float* KameleonWrapper::getUniformSampledValues( // Convert from [0, 2pi] rad to [0, 360] degrees phiPh = phiPh*180.f/M_PI; // Sample - value = _interpolator->interpolate(var, rPh, thetaPh, phiPh); + value = _interpolator->interpolate( + var, + static_cast(rPh), + static_cast(thetaPh), + static_cast(phiPh)); // value = _interpolator->interpolate(var, rPh, phiPh, thetaPh); } @@ -246,7 +250,11 @@ float* KameleonWrapper::getUniformSampledValues( // get interpolated data value for (xPos, yPos, zPos) // swap yPos and zPos because model has Z as up - double value = _interpolator->interpolate(var, xPos, zPos, yPos); + double value = _interpolator->interpolate( + var, + static_cast(xPos), + static_cast(zPos), + static_cast(yPos)); doubleData[index] = value; histogram[mapToHistogram(value)]++; } @@ -275,7 +283,7 @@ float* KameleonWrapper::getUniformSampledValues( int sum = 0; int stop = 0; - const int sumuntil = size * truncLim; + const int sumuntil = static_cast(static_cast(size) * truncLim); for(int i = 0; i < bins; ++i) { sum += histogram[i]; if(sum > sumuntil) { @@ -292,7 +300,7 @@ float* KameleonWrapper::getUniformSampledValues( varMax = varMin + dist; //LDEBUG(var << "Min: " << varMin); //LDEBUG(var << "Max: " << varMax); - for(int i = 0; i < size; ++i) { + for(size_t i = 0; i < size; ++i) { double normalizedVal = (doubleData[i]-varMin)/(varMax-varMin); data[i] = static_cast(glm::clamp(normalizedVal, 0.0, 1.0)); @@ -325,7 +333,7 @@ float* KameleonWrapper::getUniformSampledVectorValues( LINFO("Loading variables " << xVar << " " << yVar << " " << zVar << " from CDF data with a uniform sampling"); int channels = 4; - int size = channels*outDimensions.x*outDimensions.y*outDimensions.z; + unsigned int size = static_cast(channels*outDimensions.x*outDimensions.y*outDimensions.z); float* data = new float[size]; float varXMin = _model->getVariableAttribute(xVar, "actual_min").getAttributeFloat(); @@ -346,14 +354,14 @@ float* KameleonWrapper::getUniformSampledVectorValues( //LDEBUG(zVar << "Min: " << varZMin); //LDEBUG(zVar << "Max: " << varZMax); - ProgressBar pb(outDimensions.x); + ProgressBar pb(static_cast(outDimensions.x)); for (int x = 0; x < outDimensions.x; ++x) { pb.print(x); for (int y = 0; y < outDimensions.y; ++y) { for (int z = 0; z < outDimensions.z; ++z) { - int index = x*channels + y*channels*outDimensions.x + z*channels*outDimensions.x*outDimensions.y; + unsigned int index = static_cast(x*channels + y*channels*outDimensions.x + z*channels*outDimensions.x*outDimensions.y); if(_gridType == GridType::Cartesian) { float xPos = _xMin + stepX*x; @@ -475,7 +483,7 @@ KameleonWrapper::Fieldlines KameleonWrapper::getLorentzTrajectories( minusTraj = traceLorentzTrajectory(seedPoint, stepsize, -1.0); //minusTraj.erase(minusTraj.begin()); - int plusNum = plusTraj.size(); + size_t plusNum = plusTraj.size(); minusTraj.insert(minusTraj.begin(), plusTraj.rbegin(), plusTraj.rend()); // write colors and convert positions to meter @@ -581,21 +589,21 @@ KameleonWrapper::TraceLine KameleonWrapper::traceCartesianFieldline( k1.z = _interpolator->interpolate(zID, pos.x, pos.y, pos.z); k1 = (float)direction*glm::normalize(k1); stepX=stepX*stepSize, stepY=stepY*stepSize, stepZ=stepZ*stepSize; - k2.x = _interpolator->interpolate(xID, pos.x+(stepX/2.0)*k1.x, pos.y+(stepY/2.0)*k1.y, pos.z+(stepZ/2.0)*k1.z); - k2.y = _interpolator->interpolate(yID, pos.x+(stepX/2.0)*k1.x, pos.y+(stepY/2.0)*k1.y, pos.z+(stepZ/2.0)*k1.z); - k2.z = _interpolator->interpolate(zID, pos.x+(stepX/2.0)*k1.x, pos.y+(stepY/2.0)*k1.y, pos.z+(stepZ/2.0)*k1.z); + k2.x = _interpolator->interpolate(xID, pos.x+(stepX/2.0f)*k1.x, pos.y+(stepY/2.0f)*k1.y, pos.z+(stepZ/2.0f)*k1.z); + k2.y = _interpolator->interpolate(yID, pos.x+(stepX/2.0f)*k1.x, pos.y+(stepY/2.0f)*k1.y, pos.z+(stepZ/2.0f)*k1.z); + k2.z = _interpolator->interpolate(zID, pos.x+(stepX/2.0f)*k1.x, pos.y+(stepY/2.0f)*k1.y, pos.z+(stepZ/2.0f)*k1.z); k2 = (float)direction*glm::normalize(k2); - k3.x = _interpolator->interpolate(xID, pos.x+(stepX/2.0)*k2.x, pos.y+(stepY/2.0)*k2.y, pos.z+(stepZ/2.0)*k2.z); - k3.y = _interpolator->interpolate(yID, pos.x+(stepX/2.0)*k2.x, pos.y+(stepY/2.0)*k2.y, pos.z+(stepZ/2.0)*k2.z); - k3.z = _interpolator->interpolate(zID, pos.x+(stepX/2.0)*k2.x, pos.y+(stepY/2.0)*k2.y, pos.z+(stepZ/2.0)*k2.z); + k3.x = _interpolator->interpolate(xID, pos.x+(stepX/2.0f)*k2.x, pos.y+(stepY/2.0f)*k2.y, pos.z+(stepZ/2.0f)*k2.z); + k3.y = _interpolator->interpolate(yID, pos.x+(stepX/2.0f)*k2.x, pos.y+(stepY/2.0f)*k2.y, pos.z+(stepZ/2.0f)*k2.z); + k3.z = _interpolator->interpolate(zID, pos.x+(stepX/2.0f)*k2.x, pos.y+(stepY/2.0f)*k2.y, pos.z+(stepZ/2.0f)*k2.z); k3 = (float)direction*glm::normalize(k3); k4.x = _interpolator->interpolate(xID, pos.x+stepX*k3.x, pos.y+stepY*k3.y, pos.z+stepZ*k3.z); k4.y = _interpolator->interpolate(yID, pos.x+stepX*k3.x, pos.y+stepY*k3.y, pos.z+stepZ*k3.z); k4.z = _interpolator->interpolate(zID, pos.x+stepX*k3.x, pos.y+stepY*k3.y, pos.z+stepZ*k3.z); k4 = (float)direction*glm::normalize(k4); - pos.x = pos.x + (stepX/6.0)*(k1.x + 2.0*k2.x + 2.0*k3.x + k4.x); - pos.y = pos.y + (stepY/6.0)*(k1.y + 2.0*k2.y + 2.0*k3.y + k4.y); - pos.z = pos.z + (stepZ/6.0)*(k1.z + 2.0*k2.z + 2.0*k3.z + k4.z); + pos.x = pos.x + (stepX/6.0f)*(k1.x + 2.0f*k2.x + 2.0f*k3.x + k4.x); + pos.y = pos.y + (stepY/6.0f)*(k1.y + 2.0f*k2.y + 2.0f*k3.y + k4.y); + pos.z = pos.z + (stepZ/6.0f)*(k1.z + 2.0f*k2.z + 2.0f*k3.z + k4.z); ++numSteps; if (numSteps > maxSteps) { @@ -692,13 +700,13 @@ KameleonWrapper::TraceLine KameleonWrapper::traceLorentzTrajectory( k4 = eCharge*(E + glm::cross(tmpV, B)); k4 = glm::normalize(k4); - pos.x = pos.x + stepX*v0.x + (stepX*stepX/6.0)*(k1.x + k2.x + k3.x); - pos.y = pos.y + stepY*v0.y + (stepY*stepY/6.0)*(k1.y + k2.y + k3.y); - pos.z = pos.z + stepZ*v0.z + (stepZ*stepZ/6.0)*(k1.z + k2.z + k3.z); + pos.x = pos.x + stepX*v0.x + (stepX*stepX/6.0f)*(k1.x + k2.x + k3.x); + pos.y = pos.y + stepY*v0.y + (stepY*stepY/6.0f)*(k1.y + k2.y + k3.y); + pos.z = pos.z + stepZ*v0.z + (stepZ*stepZ/6.0f)*(k1.z + k2.z + k3.z); - v0.x = v0.x + (stepX/6.0)*(k1.x + 2.0*k2.x + 2.0*k3.x + k4.z); - v0.y = v0.y + (stepY/6.0)*(k1.y + 2.0*k2.y + 2.0*k3.y + k4.y); - v0.z = v0.z + (stepZ/6.0)*(k1.z + 2.0*k2.z + 2.0*k3.z + k4.z); + v0.x = v0.x + (stepX/6.0f)*(k1.x + 2.0f*k2.x + 2.0f*k3.x + k4.z); + v0.y = v0.y + (stepY/6.0f)*(k1.y + 2.0f*k2.y + 2.0f*k3.y + k4.y); + v0.z = v0.z + (stepZ/6.0f)*(k1.z + 2.0f*k2.z + 2.0f*k3.z + k4.z); ++numSteps; if (numSteps > maxSteps) { diff --git a/src/util/progressbar.cpp b/src/util/progressbar.cpp index 45c9a77e9c..8878471651 100644 --- a/src/util/progressbar.cpp +++ b/src/util/progressbar.cpp @@ -47,7 +47,7 @@ void ProgressBar::print(int current) { float progress = static_cast(current) / static_cast(_end - 1); int iprogress = static_cast(progress*100.0f); if (iprogress != _previous) { - int pos = _width * progress; + int pos = static_cast(static_cast(_width)* progress); int eqWidth = pos + 1; int spWidth = _width - pos + 2; _stream << "[" << std::setfill('=') << std::setw(eqWidth)