Almost 10 years ago now the decision was made to store any floatingpoint value in BIMserver 2 times; Once as the original string value (taken from the IFC) and once as a float (and later double). The reasoning was that rountripped IFC files should come out exactly the same (logically), so no floatingpoint "rounding errors" were allowed.
These reasons are still valid, although I think it is time to get rid of the "double" representation. It will save a lot of diskspace and at the same time improve performance. When the actual floatingpoint representations are needed, we can simply convert the string value to float/double.
Additionally this will really clean up a lot of code. It does have a bit of an impact though, also database upgrade will be broken by this (the more reason to put this in 1.5)
Almost 10 years ago now the decision was made to store any floatingpoint value in BIMserver 2 times; Once as the original string value (taken from the IFC) and once as a float (and later double). The reasoning was that rountripped IFC files should come out exactly the same (logically), so no floatingpoint "rounding errors" were allowed.
These reasons are still valid, although I think it is time to get rid of the "double" representation. It will save a lot of diskspace and at the same time improve performance. When the actual floatingpoint representations are needed, we can simply convert the string value to float/double.