Skip to content

Commit 6f73a64

Browse files
committed
Fixing compiler errors on MSVC Platform
Signed-off-by: Michael Jackson <mike.jackson@bluequartz.net>
1 parent 316d395 commit 6f73a64

6 files changed

Lines changed: 51 additions & 45 deletions

File tree

Source/SIMPLib/Common/Constants.h

Lines changed: 35 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,21 @@
3737

3838
#if defined(_MSC_VER)
3939
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
40+
41+
/*
42+
"It's a known, long-standing bug in the compiler system's headers. For
43+
some reason the manufacturer, in its infinite wisdom, chose to #define
44+
macros min() and max() in violation of the upper-case convention and so
45+
break any legitimate functions with those names, including those in the
46+
standard C++ library."
47+
*/
48+
#ifndef NOMINMAX
49+
#define NOMINMAX
50+
#endif
4051
#endif
4152

4253
#include <limits>
54+
#include <cstdint>
4355

4456
#include <QtCore/QString>
4557

@@ -53,30 +65,29 @@
5365
namespace SIMPL
5466
{
5567

56-
typedef uint32_t Rgb;
57-
const Rgb RGB_MASK = 0x00ffffff; // masks RGB values
58-
const QString PathSep("|");
59-
static const uint8_t Unchecked = 0;
60-
static const uint8_t PartiallyChecked = 1;
61-
static const uint8_t Checked = 2;
62-
63-
enum InfoStringFormat
64-
{
65-
HtmlFormat = 0,
66-
// JsonFormat,
67-
// TextFormat,
68-
// XmlFormat,
69-
UnknownFormat
70-
};
68+
using Rgb = uint32_t;
69+
const Rgb RGB_MASK = 0x00ffffff; // masks RGB values
70+
const QString PathSep("|");
71+
static const uint8_t Unchecked = 0;
72+
static const uint8_t PartiallyChecked = 1;
73+
static const uint8_t Checked = 2;
7174

75+
enum InfoStringFormat
76+
{
77+
HtmlFormat = 0,
78+
// JsonFormat,
79+
// TextFormat,
80+
// XmlFormat,
81+
UnknownFormat
82+
};
7283

73-
/** @brief Constants defined for the Stacking order of images into a 3D Volume */
74-
namespace RefFrameZDir
75-
{
76-
static const unsigned int LowtoHigh = 0;
77-
static const unsigned int HightoLow = 1;
78-
static const unsigned int UnknownRefFrameZDirection = 2;
79-
}
84+
/** @brief Constants defined for the Stacking order of images into a 3D Volume */
85+
namespace RefFrameZDir
86+
{
87+
static const unsigned int LowtoHigh = 0;
88+
static const unsigned int HightoLow = 1;
89+
static const unsigned int UnknownRefFrameZDirection = 2;
90+
} // namespace RefFrameZDir
8091

8192
namespace TypeNames
8293
{
@@ -203,7 +214,7 @@ namespace SIMPL
203214
{
204215
const QString None("None");
205216
const QString AnyPrimitive("Any");
206-
static const size_t AnyComponentSize = std::numeric_limits<size_t>::max();
217+
const size_t AnyComponentSize = std::numeric_limits<size_t>::max();
207218
//static const uint32_t AnyAttributeMatrix = std::numeric_limits<uint32_t>::max();
208219
//static const uint32_t AnyGeometry = std::numeric_limits<uint32_t>::max();
209220

@@ -1060,7 +1071,7 @@ const signed int Horizontal = 0;
10601071
const signed int Vertical = 1;
10611072
const signed int Square = 2;
10621073
};
1063-
}
1074+
} // namespace SIMPL
10641075

10651076
namespace Core
10661077
{

Source/SIMPLib/CoreFilters/Breakpoint.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
#pragma once
3737

3838
#include <QtCore/QWaitCondition>
39+
#include <QtCore/QMutex>
3940

4041
#include "SIMPLib/SIMPLib.h"
4142
#include "SIMPLib/Filtering/AbstractFilter.h"

Source/SIMPLib/CoreFilters/PostSlackMessage.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
#pragma once
3434

3535
#include <QtCore/QWaitCondition>
36+
#include <QtCore/QMutex>
3637

3738
#include "SIMPLib/SIMPLib.h"
3839
#include "SIMPLib/Filtering/AbstractFilter.h"

Source/SIMPLib/HDF5/H5PrecipitateStatsDataDelegate.cpp

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -339,10 +339,10 @@ int H5PrecipitateStatsDataDelegate::writeVectorOfArrays(hid_t pid, VectorOfFloat
339339
int H5PrecipitateStatsDataDelegate::readVectorOfArrays(hid_t pid, VectorOfFloatArray colData)
340340
{
341341
int err = 0;
342-
343-
for(VectorOfFloatArray::iterator iter = colData.begin(); iter != colData.end(); ++iter)
342+
for(auto& d : colData)
343+
// for(VectorOfFloatArray::iterator iter = colData.begin(); iter != colData.end(); ++iter)
344344
{
345-
FloatArrayType::Pointer d = *iter;
345+
// FloatArrayType::Pointer d = *iter;
346346
err = d->readH5Data(pid);
347347
if(err < 0)
348348
{
@@ -564,17 +564,15 @@ int H5PrecipitateStatsDataDelegate::writeRDFDistributionData(hid_t pid, RdfData:
564564
}
565565
int32_t rank = 1;
566566
dims[0] = 3;
567-
float boxRes[3] = {0.0f, 0.0f, 0.0f};
568-
std::tie(boxRes[0], boxRes[1], boxRes[2]) = rdfData->getBoxResolution();
569-
err = H5Lite::writePointerDataset(disId, SIMPL::StringConstants::RdfBoxRes.toStdString(), rank, dims.data(), boxRes);
567+
std::array<float, 3> boxRes = rdfData->getBoxResolution();
568+
err = H5Lite::writePointerDataset(disId, SIMPL::StringConstants::RdfBoxRes.toStdString(), rank, dims.data(), boxRes.data());
570569
if(err < 0)
571570
{
572571
return err;
573572
}
574573

575-
float boxDims[3] = {0.0f, 0.0f, 0.0f};
576-
std::tie(boxDims[0], boxDims[1], boxDims[2]) = rdfData->getBoxSize();
577-
err = H5Lite::writePointerDataset(disId, SIMPL::StringConstants::RdfBoxDims.toStdString(), rank, dims.data(), boxDims);
574+
std::array<float, 3> boxDims = rdfData->getBoxSize();
575+
err = H5Lite::writePointerDataset(disId, SIMPL::StringConstants::RdfBoxDims.toStdString(), rank, dims.data(), boxDims.data());
578576
if(err < 0)
579577
{
580578
return err;
@@ -769,10 +767,9 @@ int H5PrecipitateStatsDataDelegate::writeFeatureDiameterInfo(PrecipitateStatsDat
769767
/*
770768
* Feature Diameter Info is encode as 3 floats: BinStepSize, MaxDiameter, MinDiameter
771769
*/
772-
float featureDiameterInfo[3];
773-
std::tie(featureDiameterInfo[0], featureDiameterInfo[1], featureDiameterInfo[2]) = data->getFeatureDiameterInfo();
770+
std::array<float, 3> featureDiameterInfo = data->getFeatureDiameterInfo();
774771

775-
return QH5Lite::writePointerDataset(pid, SIMPL::StringConstants::Feature_Diameter_Info, rank, dims, featureDiameterInfo);
772+
return QH5Lite::writePointerDataset(pid, SIMPL::StringConstants::Feature_Diameter_Info, rank, dims, featureDiameterInfo.data());
776773
}
777774

778775
// -----------------------------------------------------------------------------

Source/SIMPLib/HDF5/H5TransformationStatsDataDelegate.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -607,10 +607,9 @@ int H5TransformationStatsDataDelegate::writeFeatureDiameterInfo(TransformationSt
607607
/*
608608
* Feature Diameter Info is encode as 3 floats: BinStepSize, MaxDiameter, MinDiameter
609609
*/
610-
float featureDiameterInfo[3] = {0.0f, 0.0f, 0.0f};
611-
std::tie(featureDiameterInfo[0], featureDiameterInfo[1], featureDiameterInfo[2]) = data->getFeatureDiameterInfo();
610+
std::array<float, 3> featureDiameterInfo = data->getFeatureDiameterInfo();
612611

613-
return QH5Lite::writePointerDataset(pid, SIMPL::StringConstants::Feature_Diameter_Info, rank, dims, featureDiameterInfo);
612+
return QH5Lite::writePointerDataset(pid, SIMPL::StringConstants::Feature_Diameter_Info, rank, dims, featureDiameterInfo.data());
614613
}
615614

616615
// -----------------------------------------------------------------------------

Source/SIMPLib/StatsData/PrecipitateStatsData.cpp

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,7 @@ PhaseType::Type PrecipitateStatsData::getPhaseType()
7878
// -----------------------------------------------------------------------------
7979
FloatArrayType::Pointer PrecipitateStatsData::generateBinNumbers()
8080
{
81-
float featureDiameterInfo[3];
82-
std::tie(featureDiameterInfo[0], featureDiameterInfo[1], featureDiameterInfo[2]) = getFeatureDiameterInfo();
81+
std::array<float, 3> featureDiameterInfo = getFeatureDiameterInfo();
8382
QVector<float> bins;
8483
float d = featureDiameterInfo[2];
8584
while(d <= featureDiameterInfo[1])
@@ -108,8 +107,7 @@ StatsData::Pointer PrecipitateStatsData::deepCopy()
108107
ptr->setPrecipBoundaryFraction(getPrecipBoundaryFraction());
109108
ptr->setName(getName());
110109

111-
std::array<float, 3> diamInfo = {0.0f, 0.0f, 0.0f};
112-
std::tie(diamInfo[0], diamInfo[1], diamInfo[2]) = getFeatureDiameterInfo();
110+
std::array<float, 3> diamInfo = getFeatureDiameterInfo();
113111
ptr->setFeatureDiameterInfo(diamInfo[0], diamInfo[1], diamInfo[2]);
114112

115113
SD_DEEP_COPY_VECTOR(FeatureSizeDistribution);
@@ -218,8 +216,7 @@ void PrecipitateStatsData::writeJson(QJsonObject& json)
218216
json.insert(SIMPL::StringConstants::PrecipitateBoundaryFraction, getPrecipBoundaryFraction());
219217

220218
// Write the Feature Diameter Info
221-
float diamInfo[3];
222-
std::tie(diamInfo[0], diamInfo[1], diamInfo[2]) = getFeatureDiameterInfo();
219+
std::array<float, 3> diamInfo = getFeatureDiameterInfo();
223220
QJsonArray diamInfoArray = {diamInfo[0], diamInfo[1], diamInfo[2]};
224221
json.insert(SIMPL::StringConstants::Feature_Diameter_Info, diamInfoArray);
225222

0 commit comments

Comments
 (0)