diff --git a/SpeckleLib/Speckle/Record/Property/Value.cpp b/SpeckleLib/Speckle/Record/Property/Value.cpp index 9757d9d..6c52edf 100644 --- a/SpeckleLib/Speckle/Record/Property/Value.cpp +++ b/SpeckleLib/Speckle/Record/Property/Value.cpp @@ -37,29 +37,39 @@ namespace { switch (source.type) { case API_PropertyIntegerValueType: result = std::make_unique(source.intValue); + break; case API_PropertyRealValueType: { //Ensure measured values are an appropriate type switch (measure) { case API_PropertyLengthMeasureType: result = std::make_unique(source.doubleValue); + break; case API_PropertyAreaMeasureType: result = std::make_unique(source.doubleValue); + break; case API_PropertyVolumeMeasureType: result = std::make_unique(source.doubleValue); + break; case API_PropertyAngleMeasureType: result = std::make_unique(source.doubleValue); + break; default: result = std::make_unique(source.doubleValue); + break; } } case API_PropertyStringValueType: result = std::make_unique(String{source.uniStringValue}); + break; case API_PropertyBooleanValueType: result = std::make_unique(source.boolValue); + break; case API_PropertyGuidValueType: result = std::make_unique(Guid{source.guidValue}); + break; default: result = std::make_unique(); //TODO: Is this a possible/valid outcome? + break; } //If the value hasn't already been established as bad, apply the source status if (result->status != active::setting::Value::bad) { diff --git a/SpeckleLib/SpeckleLib17.vcxproj b/SpeckleLib/SpeckleLib17.vcxproj index 91e0bab..d49baa3 100644 --- a/SpeckleLib/SpeckleLib17.vcxproj +++ b/SpeckleLib/SpeckleLib17.vcxproj @@ -22,6 +22,7 @@ + @@ -33,6 +34,7 @@ + @@ -86,6 +88,7 @@ + @@ -117,6 +120,7 @@ + @@ -124,6 +128,7 @@ + @@ -162,6 +167,7 @@ + diff --git a/SpeckleLib/SpeckleLib17.vcxproj.filters b/SpeckleLib/SpeckleLib17.vcxproj.filters index 604c09c..d285087 100644 --- a/SpeckleLib/SpeckleLib17.vcxproj.filters +++ b/SpeckleLib/SpeckleLib17.vcxproj.filters @@ -397,6 +397,15 @@ Speckle\Database\Storage\ArchicadDBase\Property + + Speckle\Database + + + Speckle\Database\Storage\ArchicadDBase\Property + + + Speckle\Record\Property + @@ -594,6 +603,15 @@ Speckle\Database\Storage\ArchicadDBase\Property + + Speckle\Database + + + Speckle\Database\Storage\ArchicadDBase\Property + + + Speckle\Record\Property +