CFx SDK Documentation 2026 SP0
Loading...
Searching...
No Matches
IfcUnitConverter.h
Go to the documentation of this file.
1
2// Copyright (C) 2002-2024, Open Design Alliance (the "Alliance").
3// All rights reserved.
4//
5// This software and its documentation and related materials are owned by
6// the Alliance. The software may only be incorporated into application
7// programs owned by members of the Alliance, subject to a signed
8// Membership Agreement and Supplemental Software License Agreement with the
9// Alliance. The structure and organization of this software are the valuable
10// trade secrets of the Alliance and its suppliers. The software is also
11// protected by copyright law and international treaty provisions. Application
12// programs incorporating this software must include the following statement
13// with their copyright notices:
14//
15// This application incorporates Open Design Alliance software pursuant to a license
16// agreement with Open Design Alliance.
17// Open Design Alliance Copyright (C) 2002-2024 by Open Design Alliance.
18// All rights reserved.
19//
20// By use of this software, its documentation or related materials, you
21// acknowledge and accept the above terms.
23
24// IfcUnitConverter.h: interface for the OdIfcUnitConverter class.
25//
27
28#if !defined(ODA_ODIFCUNITCONVERTER_H_INCLUDED_)
29#define ODA_ODIFCUNITCONVERTER_H_INCLUDED_
30
31#if _MSC_VER > 1000
32#pragma once
33#endif // _MSC_VER > 1000
34
35#include "IfcBuildOptions.h"
36#include "daiUnitConverter.h"
37
38class OdIfcFile;
39
43 class IFCCORE_EXPORT OdIfcUnitConverter : public OdDAI::OdUnitConverter
44 {
45 public:
46
55 double convertToSIUnit(const OdAnsiString& unitType, double val) const override;
56
64 void appendUnit(const OdAnsiString& unitType, const OdDAIObjectId& unitId) override;
65
70 void appendUnit(const OdDAIObjectId& unitId) override;
71
79 bool getConversionUnitName(const OdAnsiString& unitType, OdAnsiString& unitName, OdAnsiString& unitPrefix) override;
80
84 void clearUnits() override;
85//DOM-IGNORE-BEGIN
86 private:
87 std::map<OdAnsiString, OdDAIObjectId> m_units;
88
89 double convertIfcConversionBasedUnit (const OdDAIObjectId& unitId, double val) const;
90 double convertIfcConversionBasedUnitWithOffset(const OdDAIObjectId& unitId, double val) const;
91
92 friend class OdIfcFile;
93//DOM-IGNORE-END
94 };
95
100
101
102#endif // !defined(ODA_ODIFCUNITCONVERTER_H_INCLUDED_)
103
#define IFCCORE_EXPORT
OdSharedPtr< OdIfcUnitConverter > OdIfcUnitConverterPtr
bool getConversionUnitName(const OdAnsiString &unitType, OdAnsiString &unitName, OdAnsiString &unitPrefix) override
double convertToSIUnit(const OdAnsiString &unitType, double val) const override
void appendUnit(const OdAnsiString &unitType, const OdDAIObjectId &unitId) override
void clearUnits() override
void appendUnit(const OdDAIObjectId &unitId) override