From 6bcabfd567479d7db7d19f725ae08f6d90ece36d Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Mon, 11 Jul 2016 21:36:12 +0300 Subject: [PATCH 1/9] Dllimport/export for IfcGeom. Closes #77 --- cmake/CMakeLists.txt | 19 +++--------- src/ifcgeom/IfcGeom.h | 15 ++++++---- src/ifcgeom/IfcGeomElement.h | 1 + src/ifcgeom/IfcGeomFunctions.cpp | 23 ++++++++++----- src/ifcgeom/IfcGeomIterator.h | 8 +++++ src/ifcgeom/IfcGeomIteratorSettings.h | 5 ++-- src/ifcgeom/IfcGeomMaterial.h | 2 +- src/ifcgeom/IfcGeomRenderStyles.h | 5 ++-- src/ifcgeom/IfcGeomRepresentation.h | 6 ++-- src/ifcgeom/IfcRepresentationShapeItem.h | 2 +- src/ifcgeom/ifc_geom_api.h | 37 ++++++++++++++++++++++++ src/ifcparse/IfcParse_Export.h | 2 +- 12 files changed, 86 insertions(+), 39 deletions(-) create mode 100644 src/ifcgeom/ifc_geom_api.h diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 205fb336e3..6774bc8de2 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -432,11 +432,7 @@ if(NOT WIN32) LINK_DIRECTORIES(${LINK_DIRECTORIES} /usr/lib /usr/lib64 /usr/local/lib /usr/local/lib64) endif() -if(BUILD_SHARED_LIBS) - SET(IFCOPENSHELL_LIBRARIES IfcGeom) -else() - SET(IFCOPENSHELL_LIBRARIES IfcParse IfcGeom) -endif() +set(IFCOPENSHELL_LIBRARIES IfcParse IfcGeom) # IfcParse file(GLOB IFCPARSE_H_FILES ../src/ifcparse/*.h) @@ -464,17 +460,10 @@ file(GLOB IFCGEOM_H_FILES ../src/ifcgeom/*.h) file(GLOB IFCGEOM_CPP_FILES ../src/ifcgeom/*.cpp) set(IFCGEOM_FILES ${IFCGEOM_CPP_FILES} ${IFCGEOM_H_FILES}) -IF(BUILD_SHARED_LIBS) - message(WARNING "Building IfcGeom as shared library currently not supported depending on platform and compiler options") -ENDIF() +add_library(IfcGeom ${IFCGEOM_FILES}) +set_target_properties(IfcGeom PROPERTIES COMPILE_FLAGS -DIFC_GEOM_EXPORTS) -if(WIN32) - add_library(IfcGeom STATIC ${IFCGEOM_FILES}) -else() - add_library(IfcGeom ${IFCGEOM_FILES}) -endif() - -TARGET_LINK_LIBRARIES(IfcGeom IfcParse) +TARGET_LINK_LIBRARIES(IfcGeom IfcParse ${OPENCASCADE_LIBRARIES}) # IfcConvert file(GLOB IFCCONVERT_CPP_FILES ../src/ifcconvert/*.cpp) diff --git a/src/ifcgeom/IfcGeom.h b/src/ifcgeom/IfcGeom.h index 53d21d03be..bf679b5812 100644 --- a/src/ifcgeom/IfcGeom.h +++ b/src/ifcgeom/IfcGeom.h @@ -51,6 +51,7 @@ inline static bool ALMOST_THE_SAME(const T& a, const T& b, double tolerance=ALMO #include "../ifcgeom/IfcGeomRepresentation.h" #include "../ifcgeom/IfcRepresentationShapeItem.h" #include "../ifcgeom/IfcGeomShapeType.h" +#include "ifc_geom_api.h" // Define this in case you want to conserve memory usage at all cost. This has been // benchmarked extensively: https://github.com/IfcOpenShell/IfcOpenShell/pull/47 @@ -71,13 +72,13 @@ if ( it != cache.T.end() ) { e = it->second; return true; } namespace IfcGeom { -class Cache { +class IFC_GEOM_API Cache { public: #include "IfcRegisterCreateCache.h" std::map Shape; }; -class Kernel { +class IFC_GEOM_API Kernel { private: double deflection_tolerance; @@ -230,10 +231,12 @@ public: IfcSchema::IfcObjectDefinition* get_decomposing_entity(IfcSchema::IfcProduct*); template - IfcGeom::BRepElement

* create_brep_for_representation_and_product(const IteratorSettings&, IfcSchema::IfcRepresentation*, IfcSchema::IfcProduct*); + IfcGeom::BRepElement

* create_brep_for_representation_and_product( + const IteratorSettings&, IfcSchema::IfcRepresentation*, IfcSchema::IfcProduct*); template - IfcGeom::BRepElement

* create_brep_for_processed_representation(const IteratorSettings&, IfcSchema::IfcRepresentation*, IfcSchema::IfcProduct*, IfcGeom::BRepElement

*); + IfcGeom::BRepElement

* create_brep_for_processed_representation( + const IteratorSettings&, IfcSchema::IfcRepresentation*, IfcSchema::IfcProduct*, IfcGeom::BRepElement

*); const SurfaceStyle* get_style(const IfcSchema::IfcRepresentationItem*); const SurfaceStyle* get_style(const IfcSchema::IfcMaterial*); @@ -300,8 +303,8 @@ public: }; -IfcSchema::IfcProductDefinitionShape* tesselate(const TopoDS_Shape& shape, double deflection); -IfcSchema::IfcProductDefinitionShape* serialise(const TopoDS_Shape& shape, bool advanced); +IFC_GEOM_API IfcSchema::IfcProductDefinitionShape* tesselate(const TopoDS_Shape& shape, double deflection); +IFC_GEOM_API IfcSchema::IfcProductDefinitionShape* serialise(const TopoDS_Shape& shape, bool advanced); } #endif diff --git a/src/ifcgeom/IfcGeomElement.h b/src/ifcgeom/IfcGeomElement.h index 35477316ff..7d1410c938 100644 --- a/src/ifcgeom/IfcGeomElement.h +++ b/src/ifcgeom/IfcGeomElement.h @@ -27,6 +27,7 @@ #include "../ifcgeom/IfcGeomRepresentation.h" #include "../ifcgeom/IfcGeomIteratorSettings.h" +#include "ifc_geom_api.h" namespace IfcGeom { diff --git a/src/ifcgeom/IfcGeomFunctions.cpp b/src/ifcgeom/IfcGeomFunctions.cpp index 61fe2cb7c6..0c7fbe6fd7 100644 --- a/src/ifcgeom/IfcGeomFunctions.cpp +++ b/src/ifcgeom/IfcGeomFunctions.cpp @@ -1004,8 +1004,9 @@ IfcSchema::IfcRelVoidsElement::list::ptr IfcGeom::Kernel::find_openings(IfcSchem } template -IfcGeom::BRepElement

* IfcGeom::Kernel::create_brep_for_representation_and_product(const IteratorSettings& settings, IfcSchema::IfcRepresentation* representation, IfcSchema::IfcProduct* product) { - +IfcGeom::BRepElement

* IfcGeom::Kernel::create_brep_for_representation_and_product( + const IteratorSettings& settings, IfcSchema::IfcRepresentation* representation, IfcSchema::IfcProduct* product) +{ IfcGeom::Representation::BRep* shape; IfcGeom::IfcRepresentationShapeItems shapes, shapes2; @@ -1116,8 +1117,10 @@ IfcGeom::BRepElement

* IfcGeom::Kernel::create_brep_for_representation_and_pro } template -IfcGeom::BRepElement

* IfcGeom::Kernel::create_brep_for_processed_representation(const IteratorSettings& /*settings*/, IfcSchema::IfcRepresentation* representation, IfcSchema::IfcProduct* product, IfcGeom::BRepElement

* brep) { - +IfcGeom::BRepElement

* IfcGeom::Kernel::create_brep_for_processed_representation( + const IteratorSettings& /*settings*/, IfcSchema::IfcRepresentation* representation, IfcSchema::IfcProduct* product, + IfcGeom::BRepElement

* brep) +{ int parent_id = -1; try { IfcSchema::IfcObjectDefinition* parent_object = get_decomposing_entity(product); @@ -1210,11 +1213,15 @@ IfcSchema::IfcObjectDefinition* IfcGeom::Kernel::get_decomposing_entity(IfcSchem return parent; } -template IfcGeom::BRepElement* IfcGeom::Kernel::create_brep_for_representation_and_product(const IteratorSettings& settings, IfcSchema::IfcRepresentation* representation, IfcSchema::IfcProduct* product); -template IfcGeom::BRepElement* IfcGeom::Kernel::create_brep_for_representation_and_product(const IteratorSettings& settings, IfcSchema::IfcRepresentation* representation, IfcSchema::IfcProduct* product); +template IFC_GEOM_API IfcGeom::BRepElement* IfcGeom::Kernel::create_brep_for_representation_and_product( + const IteratorSettings& settings, IfcSchema::IfcRepresentation* representation, IfcSchema::IfcProduct* product); +template IFC_GEOM_API IfcGeom::BRepElement* IfcGeom::Kernel::create_brep_for_representation_and_product( + const IteratorSettings& settings, IfcSchema::IfcRepresentation* representation, IfcSchema::IfcProduct* product); -template IfcGeom::BRepElement* IfcGeom::Kernel::create_brep_for_processed_representation(const IteratorSettings& settings, IfcSchema::IfcRepresentation* representation, IfcSchema::IfcProduct* product, IfcGeom::BRepElement* brep); -template IfcGeom::BRepElement* IfcGeom::Kernel::create_brep_for_processed_representation(const IteratorSettings& settings, IfcSchema::IfcRepresentation* representation, IfcSchema::IfcProduct* product, IfcGeom::BRepElement* brep); +template IFC_GEOM_API IfcGeom::BRepElement* IfcGeom::Kernel::create_brep_for_processed_representation( + const IteratorSettings& settings, IfcSchema::IfcRepresentation* representation, IfcSchema::IfcProduct* product, IfcGeom::BRepElement* brep); +template IFC_GEOM_API IfcGeom::BRepElement* IfcGeom::Kernel::create_brep_for_processed_representation( + const IteratorSettings& settings, IfcSchema::IfcRepresentation* representation, IfcSchema::IfcProduct* product, IfcGeom::BRepElement* brep); std::pair IfcGeom::Kernel::initializeUnits(IfcSchema::IfcUnitAssignment* unit_assignment) { // Set default units, set length to meters, angles to undefined diff --git a/src/ifcgeom/IfcGeomIterator.h b/src/ifcgeom/IfcGeomIterator.h index 9f4528098e..0c155f4343 100644 --- a/src/ifcgeom/IfcGeomIterator.h +++ b/src/ifcgeom/IfcGeomIterator.h @@ -82,6 +82,14 @@ #include "../ifcgeom/IfcGeomIteratorSettings.h" #include "../ifcgeom/IfcRepresentationShapeItem.h" +// The infamous min & max Win32 #defines can leak here from OCE depending on the build configuration +#ifdef min +#undef min +#endif +#ifdef max +#undef max +#endif + namespace IfcGeom { template diff --git a/src/ifcgeom/IfcGeomIteratorSettings.h b/src/ifcgeom/IfcGeomIteratorSettings.h index 8e9f86b695..ae751aecbc 100644 --- a/src/ifcgeom/IfcGeomIteratorSettings.h +++ b/src/ifcgeom/IfcGeomIteratorSettings.h @@ -20,12 +20,13 @@ #ifndef IFCGEOMITERATORSETTINGS_H #define IFCGEOMITERATORSETTINGS_H +#include "ifc_geom_api.h" #include "../ifcparse/IfcException.h" #include "../ifcparse/IfcUtil.h" namespace IfcGeom { - class IteratorSettings + class IFC_GEOM_API IteratorSettings { public: /// Enumeration of setting identifiers. These settings define the @@ -142,7 +143,7 @@ namespace IfcGeom double deflection_tolerance_; }; - class ElementSettings : public IteratorSettings + class IFC_GEOM_API ElementSettings : public IteratorSettings { public: ElementSettings(const IteratorSettings& settings, diff --git a/src/ifcgeom/IfcGeomMaterial.h b/src/ifcgeom/IfcGeomMaterial.h index 9dc4dd7995..ead890698f 100644 --- a/src/ifcgeom/IfcGeomMaterial.h +++ b/src/ifcgeom/IfcGeomMaterial.h @@ -26,7 +26,7 @@ namespace IfcGeom { - class Material { + class IFC_GEOM_API Material { private: const IfcGeom::SurfaceStyle* style; public: diff --git a/src/ifcgeom/IfcGeomRenderStyles.h b/src/ifcgeom/IfcGeomRenderStyles.h index ca655f0971..5c499d58dc 100644 --- a/src/ifcgeom/IfcGeomRenderStyles.h +++ b/src/ifcgeom/IfcGeomRenderStyles.h @@ -20,6 +20,7 @@ #ifndef IFCGEOMRENDERSTYLES_H #define IFCGEOMRENDERSTYLES_H +#include "ifc_geom_api.h" #ifdef USE_IFC4 #include "../ifcparse/Ifc4.h" #else @@ -27,7 +28,7 @@ #endif namespace IfcGeom { - class SurfaceStyle { + class IFC_GEOM_API SurfaceStyle { public: class ColorComponent { private: @@ -92,7 +93,7 @@ namespace IfcGeom { boost::optional& Specularity() { return specularity; } }; - const SurfaceStyle* get_default_style(const std::string& ifc_type); + IFC_GEOM_API const SurfaceStyle* get_default_style(const std::string& ifc_type); } #endif diff --git a/src/ifcgeom/IfcGeomRepresentation.h b/src/ifcgeom/IfcGeomRepresentation.h index 472b049813..7a18dc4bab 100644 --- a/src/ifcgeom/IfcGeomRepresentation.h +++ b/src/ifcgeom/IfcGeomRepresentation.h @@ -41,7 +41,7 @@ namespace IfcGeom { namespace Representation { - class Representation { + class IFC_GEOM_API Representation { Representation(const Representation&); //N/A Representation& operator =(const Representation&); //N/A protected: @@ -54,7 +54,7 @@ namespace IfcGeom { virtual ~Representation() {} }; - class BRep : public Representation { + class IFC_GEOM_API BRep : public Representation { private: unsigned int id; const IfcGeom::IfcRepresentationShapeItems _shapes; @@ -73,7 +73,7 @@ namespace IfcGeom { const unsigned int& getId() const { return id; } }; - class Serialization : public Representation { + class IFC_GEOM_API Serialization : public Representation { private: int _id; std::string _brep_data; diff --git a/src/ifcgeom/IfcRepresentationShapeItem.h b/src/ifcgeom/IfcRepresentationShapeItem.h index 1d2c3fa8b5..29d5ca264b 100644 --- a/src/ifcgeom/IfcRepresentationShapeItem.h +++ b/src/ifcgeom/IfcRepresentationShapeItem.h @@ -26,7 +26,7 @@ #include "../ifcgeom/IfcGeomRenderStyles.h" namespace IfcGeom { - class IfcRepresentationShapeItem { + class IFC_GEOM_API IfcRepresentationShapeItem { private: gp_GTrsf placement; TopoDS_Shape shape; diff --git a/src/ifcgeom/ifc_geom_api.h b/src/ifcgeom/ifc_geom_api.h new file mode 100644 index 0000000000..1d916a61d0 --- /dev/null +++ b/src/ifcgeom/ifc_geom_api.h @@ -0,0 +1,37 @@ +/******************************************************************************** +* * +* This file is part of IfcOpenShell. * +* * +* IfcOpenShell is free software: you can redistribute it and/or modify * +* it under the terms of the Lesser GNU General Public License as published by * +* the Free Software Foundation, either version 3.0 of the License, or * +* (at your option) any later version. * +* * +* IfcOpenShell is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* Lesser GNU General Public License for more details. * +* * +* You should have received a copy of the Lesser GNU General Public License * +* along with this program. If not, see . * +* * +********************************************************************************/ + +#ifndef IFC_GEOM_API_H +#define IFC_GEOM_API_H + +#ifdef BUILD_SHARED_LIBS + #ifdef _WIN32 + #ifdef IFC_GEOM_EXPORTS + #define IFC_GEOM_API __declspec(dllexport) + #else + #define IFC_GEOM_API __declspec(dllimport) + #endif + #else // simply assume GCC-like + #define IFC_GEOM_API __attribute__((visibility("default"))) + #endif +#else + #define IFC_GEOM_API +#endif + +#endif diff --git a/src/ifcparse/IfcParse_Export.h b/src/ifcparse/IfcParse_Export.h index 5c20672c09..dd120aadeb 100644 --- a/src/ifcparse/IfcParse_Export.h +++ b/src/ifcparse/IfcParse_Export.h @@ -21,7 +21,7 @@ #define IfcParse_EXPORT_H #ifdef BUILD_SHARED_LIBS - #ifdef _MSC_VER + #ifdef _WIN32 #ifdef IfcParse_EXPORTS #define IfcParse_EXPORT __declspec(dllexport) #else From 3a507ca06121d4908ccab9403563aee790b1e867 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Mon, 11 Jul 2016 22:41:18 +0300 Subject: [PATCH 2/9] Code doc tweak --- src/ifcgeom/ifc_geom_api.h | 2 +- src/ifcparse/IfcParse_Export.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ifcgeom/ifc_geom_api.h b/src/ifcgeom/ifc_geom_api.h index 1d916a61d0..6427aad798 100644 --- a/src/ifcgeom/ifc_geom_api.h +++ b/src/ifcgeom/ifc_geom_api.h @@ -27,7 +27,7 @@ #else #define IFC_GEOM_API __declspec(dllimport) #endif - #else // simply assume GCC-like + #else // simply assume *nix + GCC-like compiler #define IFC_GEOM_API __attribute__((visibility("default"))) #endif #else diff --git a/src/ifcparse/IfcParse_Export.h b/src/ifcparse/IfcParse_Export.h index dd120aadeb..d853b9d301 100644 --- a/src/ifcparse/IfcParse_Export.h +++ b/src/ifcparse/IfcParse_Export.h @@ -27,7 +27,7 @@ #else #define IfcParse_EXPORT __declspec(dllimport) #endif - #else // simply assume GCC-like + #else // simply assume *nix + GCC-like compiler #define IfcParse_EXPORT __attribute__((visibility("default"))) #endif #else From 6d6e7c2982af55b5ff0a355e85cc0be8c14a3c41 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Wed, 20 Jul 2016 22:49:32 +0300 Subject: [PATCH 3/9] Unify IfcParse's dllimport/export macros with IfcGeom. --- cmake/CMakeLists.txt | 2 +- src/ifcexpressparser/templates.py | 44 +- src/ifcparse/Ifc2x3-latebound.h | 24 +- src/ifcparse/Ifc2x3.h | 2198 +++++++------- src/ifcparse/Ifc2x3enum.h | 10 +- src/ifcparse/Ifc4-latebound.h | 24 +- src/ifcparse/Ifc4.h | 2624 ++++++++--------- src/ifcparse/Ifc4enum.h | 10 +- src/ifcparse/IfcCharacterDecoder.h | 4 +- src/ifcparse/IfcEntityDescriptor.h | 4 +- src/ifcparse/IfcException.h | 6 +- src/ifcparse/IfcFile.h | 4 +- src/ifcparse/IfcGlobalId.h | 4 +- src/ifcparse/IfcHierarchyHelper.h | 4 +- src/ifcparse/IfcLateBoundEntity.h | 4 +- src/ifcparse/IfcLogger.h | 4 +- src/ifcparse/IfcParse.h | 18 +- src/ifcparse/IfcSIPrefix.h | 6 +- src/ifcparse/IfcSpfHeader.h | 12 +- src/ifcparse/IfcSpfStream.h | 4 +- src/ifcparse/IfcUtil.h | 54 +- src/ifcparse/IfcWritableEntity.h | 4 +- src/ifcparse/IfcWrite.h | 6 +- .../{IfcParse_Export.h => ifc_parse_api.h} | 14 +- 24 files changed, 2544 insertions(+), 2544 deletions(-) rename src/ifcparse/{IfcParse_Export.h => ifc_parse_api.h} (85%) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 6774bc8de2..c37e483113 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -449,7 +449,7 @@ endforeach() set(IFCPARSE_FILES ${IFCPARSE_CPP_FILES} ${IFCPARSE_H_FILES}) add_library(IfcParse ${IFCPARSE_FILES}) -set_target_properties(IfcParse PROPERTIES COMPILE_FLAGS -DIfcParse_EXPORTS) +set_target_properties(IfcParse PROPERTIES COMPILE_FLAGS -DIFC_PARSE_EXPORTS) IF(UNICODE_SUPPORT) TARGET_LINK_LIBRARIES(IfcParse ${ICU_LIBRARIES} ${Boost_LIBRARIES}) diff --git a/src/ifcexpressparser/templates.py b/src/ifcexpressparser/templates.py index 88ef38074e..c5816c63b7 100644 --- a/src/ifcexpressparser/templates.py +++ b/src/ifcexpressparser/templates.py @@ -26,7 +26,7 @@ header = """ #include -#include "../ifcparse/IfcParse_Export.h" +#include "../ifcparse/ifc_parse_api.h" #include "../ifcparse/IfcUtil.h" #include "../ifcparse/IfcException.h" @@ -64,7 +64,7 @@ enum_header = """ #ifndef %(schema_name_upper)sENUM_H #define %(schema_name_upper)sENUM_H -#include "../ifcparse/IfcParse_Export.h" +#include "../ifcparse/ifc_parse_api.h" #include @@ -76,10 +76,10 @@ namespace Type { typedef enum { %(types)s, UNDEFINED } Enum; - IfcParse_EXPORT boost::optional Parent(Enum v); - IfcParse_EXPORT Enum FromString(const std::string& s); - IfcParse_EXPORT std::string ToString(Enum v); - IfcParse_EXPORT bool IsSimple(Enum v); + IFC_PARSE_API boost::optional Parent(Enum v); + IFC_PARSE_API Enum FromString(const std::string& s); + IFC_PARSE_API std::string ToString(Enum v); + IFC_PARSE_API bool IsSimple(Enum v); } } @@ -93,24 +93,24 @@ lb_header = """ #define IfcSchema %(schema_name)s -#include "../ifcparse/IfcParse_Export.h" +#include "../ifcparse/ifc_parse_api.h" #include "../ifcparse/IfcUtil.h" #include "../ifcparse/IfcEntityDescriptor.h" #include "../ifcparse/IfcWritableEntity.h" namespace %(schema_name)s { namespace Type { - IfcParse_EXPORT int GetAttributeCount(Enum t); - IfcParse_EXPORT int GetAttributeIndex(Enum t, const std::string& a); - IfcParse_EXPORT IfcUtil::ArgumentType GetAttributeType(Enum t, unsigned char a); - IfcParse_EXPORT Enum GetAttributeEntity(Enum t, unsigned char a); - IfcParse_EXPORT const std::string& GetAttributeName(Enum t, unsigned char a); - IfcParse_EXPORT bool GetAttributeOptional(Enum t, unsigned char a); - IfcParse_EXPORT bool GetAttributeDerived(Enum t, unsigned char a); - IfcParse_EXPORT std::pair GetEnumerationIndex(Enum t, const std::string& a); - IfcParse_EXPORT std::pair GetInverseAttribute(Enum t, const std::string& a); - IfcParse_EXPORT std::set GetInverseAttributeNames(Enum t); - IfcParse_EXPORT void PopulateDerivedFields(IfcWrite::IfcWritableEntity* e); + IFC_PARSE_API int GetAttributeCount(Enum t); + IFC_PARSE_API int GetAttributeIndex(Enum t, const std::string& a); + IFC_PARSE_API IfcUtil::ArgumentType GetAttributeType(Enum t, unsigned char a); + IFC_PARSE_API Enum GetAttributeEntity(Enum t, unsigned char a); + IFC_PARSE_API const std::string& GetAttributeName(Enum t, unsigned char a); + IFC_PARSE_API bool GetAttributeOptional(Enum t, unsigned char a); + IFC_PARSE_API bool GetAttributeDerived(Enum t, unsigned char a); + IFC_PARSE_API std::pair GetEnumerationIndex(Enum t, const std::string& a); + IFC_PARSE_API std::pair GetInverseAttribute(Enum t, const std::string& a); + IFC_PARSE_API std::set GetInverseAttributeNames(Enum t); + IFC_PARSE_API void PopulateDerivedFields(IfcWrite::IfcWritableEntity* e); }} #endif @@ -357,7 +357,7 @@ derived_field_statement = ' {std::set idxs; %(statements)sderived_map[Ty derived_field_statement_attrs = 'idxs.insert(%d); ' simpletype = """%(documentation)s -class IfcParse_EXPORT %(name)s : public %(superclass)s { +class IFC_PARSE_API %(name)s : public %(superclass)s { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -390,13 +390,13 @@ typedef IfcUtil::IfcBaseClass %(name)s; enumeration = """namespace %(name)s { %(documentation)s typedef enum {%(values)s} %(name)s; -IfcParse_EXPORT const char* ToString(%(name)s v); -IfcParse_EXPORT %(name)s FromString(const std::string& s); +IFC_PARSE_API const char* ToString(%(name)s v); +IFC_PARSE_API %(name)s FromString(const std::string& s); } """ entity = """%(documentation)s -class IfcParse_EXPORT %(name)s %(superclass)s{ +class IFC_PARSE_API %(name)s %(superclass)s{ public: %(attributes)s virtual unsigned int getArgumentCount() const { return %(argument_count)d; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const {%(argument_type_function_body)s} diff --git a/src/ifcparse/Ifc2x3-latebound.h b/src/ifcparse/Ifc2x3-latebound.h index caa58aef6e..fd65de6070 100644 --- a/src/ifcparse/Ifc2x3-latebound.h +++ b/src/ifcparse/Ifc2x3-latebound.h @@ -31,24 +31,24 @@ #define IfcSchema Ifc2x3 -#include "../ifcparse/IfcParse_Export.h" +#include "../ifcparse/ifc_parse_api.h" #include "../ifcparse/IfcUtil.h" #include "../ifcparse/IfcEntityDescriptor.h" #include "../ifcparse/IfcWritableEntity.h" namespace Ifc2x3 { namespace Type { - IfcParse_EXPORT int GetAttributeCount(Enum t); - IfcParse_EXPORT int GetAttributeIndex(Enum t, const std::string& a); - IfcParse_EXPORT IfcUtil::ArgumentType GetAttributeType(Enum t, unsigned char a); - IfcParse_EXPORT Enum GetAttributeEntity(Enum t, unsigned char a); - IfcParse_EXPORT const std::string& GetAttributeName(Enum t, unsigned char a); - IfcParse_EXPORT bool GetAttributeOptional(Enum t, unsigned char a); - IfcParse_EXPORT bool GetAttributeDerived(Enum t, unsigned char a); - IfcParse_EXPORT std::pair GetEnumerationIndex(Enum t, const std::string& a); - IfcParse_EXPORT std::pair GetInverseAttribute(Enum t, const std::string& a); - IfcParse_EXPORT std::set GetInverseAttributeNames(Enum t); - IfcParse_EXPORT void PopulateDerivedFields(IfcWrite::IfcWritableEntity* e); + IFC_PARSE_API int GetAttributeCount(Enum t); + IFC_PARSE_API int GetAttributeIndex(Enum t, const std::string& a); + IFC_PARSE_API IfcUtil::ArgumentType GetAttributeType(Enum t, unsigned char a); + IFC_PARSE_API Enum GetAttributeEntity(Enum t, unsigned char a); + IFC_PARSE_API const std::string& GetAttributeName(Enum t, unsigned char a); + IFC_PARSE_API bool GetAttributeOptional(Enum t, unsigned char a); + IFC_PARSE_API bool GetAttributeDerived(Enum t, unsigned char a); + IFC_PARSE_API std::pair GetEnumerationIndex(Enum t, const std::string& a); + IFC_PARSE_API std::pair GetInverseAttribute(Enum t, const std::string& a); + IFC_PARSE_API std::set GetInverseAttributeNames(Enum t); + IFC_PARSE_API void PopulateDerivedFields(IfcWrite::IfcWritableEntity* e); }} #endif diff --git a/src/ifcparse/Ifc2x3.h b/src/ifcparse/Ifc2x3.h index 3090394f2c..ff7f9f6041 100644 --- a/src/ifcparse/Ifc2x3.h +++ b/src/ifcparse/Ifc2x3.h @@ -34,7 +34,7 @@ #include -#include "../ifcparse/IfcParse_Export.h" +#include "../ifcparse/ifc_parse_api.h" #include "../ifcparse/IfcUtil.h" #include "../ifcparse/IfcException.h" @@ -548,8 +548,8 @@ namespace IfcActionSourceTypeEnum { /// HISTORY: New type in Release IFC2x /// Edition 2. typedef enum {IfcActionSourceType_DEAD_LOAD_G, IfcActionSourceType_COMPLETION_G1, IfcActionSourceType_LIVE_LOAD_Q, IfcActionSourceType_SNOW_S, IfcActionSourceType_WIND_W, IfcActionSourceType_PRESTRESSING_P, IfcActionSourceType_SETTLEMENT_U, IfcActionSourceType_TEMPERATURE_T, IfcActionSourceType_EARTHQUAKE_E, IfcActionSourceType_FIRE, IfcActionSourceType_IMPULSE, IfcActionSourceType_IMPACT, IfcActionSourceType_TRANSPORT, IfcActionSourceType_ERECTION, IfcActionSourceType_PROPPING, IfcActionSourceType_SYSTEM_IMPERFECTION, IfcActionSourceType_SHRINKAGE, IfcActionSourceType_CREEP, IfcActionSourceType_LACK_OF_FIT, IfcActionSourceType_BUOYANCY, IfcActionSourceType_ICE, IfcActionSourceType_CURRENT, IfcActionSourceType_WAVE, IfcActionSourceType_RAIN, IfcActionSourceType_BRAKES, IfcActionSourceType_USERDEFINED, IfcActionSourceType_NOTDEFINED} IfcActionSourceTypeEnum; -IfcParse_EXPORT const char* ToString(IfcActionSourceTypeEnum v); -IfcParse_EXPORT IfcActionSourceTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcActionSourceTypeEnum v); +IFC_PARSE_API IfcActionSourceTypeEnum FromString(const std::string& s); } namespace IfcActionTypeEnum { /// Definition from IAI: This enumeration type is used to distinguish @@ -560,8 +560,8 @@ namespace IfcActionTypeEnum { /// HISTORY: New type in Release IFC2x /// Edition 2. typedef enum {IfcActionType_PERMANENT_G, IfcActionType_VARIABLE_Q, IfcActionType_EXTRAORDINARY_A, IfcActionType_USERDEFINED, IfcActionType_NOTDEFINED} IfcActionTypeEnum; -IfcParse_EXPORT const char* ToString(IfcActionTypeEnum v); -IfcParse_EXPORT IfcActionTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcActionTypeEnum v); +IFC_PARSE_API IfcActionTypeEnum FromString(const std::string& s); } namespace IfcActuatorTypeEnum { /// The IfcActuatorTypeEnum defines the range of different types of actuator that can be specified. @@ -581,8 +581,8 @@ namespace IfcActuatorTypeEnum { /// See property set of actuator common attributes for specification of /// properties for hand operated actuators. typedef enum {IfcActuatorType_ELECTRICACTUATOR, IfcActuatorType_HANDOPERATEDACTUATOR, IfcActuatorType_HYDRAULICACTUATOR, IfcActuatorType_PNEUMATICACTUATOR, IfcActuatorType_THERMOSTATICACTUATOR, IfcActuatorType_USERDEFINED, IfcActuatorType_NOTDEFINED} IfcActuatorTypeEnum; -IfcParse_EXPORT const char* ToString(IfcActuatorTypeEnum v); -IfcParse_EXPORT IfcActuatorTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcActuatorTypeEnum v); +IFC_PARSE_API IfcActuatorTypeEnum FromString(const std::string& s); } namespace IfcAddressTypeEnum { /// Definition from IAI: Identifies the logical location of the address. @@ -597,14 +597,14 @@ namespace IfcAddressTypeEnum { /// DISTRIBUTIONPOINT A postal distribution point address. /// USERDEFINED A user defined address type to be provided. typedef enum {IfcAddressType_OFFICE, IfcAddressType_SITE, IfcAddressType_HOME, IfcAddressType_DISTRIBUTIONPOINT, IfcAddressType_USERDEFINED} IfcAddressTypeEnum; -IfcParse_EXPORT const char* ToString(IfcAddressTypeEnum v); -IfcParse_EXPORT IfcAddressTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcAddressTypeEnum v); +IFC_PARSE_API IfcAddressTypeEnum FromString(const std::string& s); } namespace IfcAheadOrBehind { typedef enum {IfcAheadOrBehind_AHEAD, IfcAheadOrBehind_BEHIND} IfcAheadOrBehind; -IfcParse_EXPORT const char* ToString(IfcAheadOrBehind v); -IfcParse_EXPORT IfcAheadOrBehind FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcAheadOrBehind v); +IFC_PARSE_API IfcAheadOrBehind FromString(const std::string& s); } namespace IfcAirTerminalBoxTypeEnum { /// This enumeration identifies different types of air terminal boxes. @@ -619,8 +619,8 @@ namespace IfcAirTerminalBoxTypeEnum { /// /// HISTORY: New enumeration in IFC R2.0 typedef enum {IfcAirTerminalBoxType_CONSTANTFLOW, IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREDEPENDANT, IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREINDEPENDANT, IfcAirTerminalBoxType_USERDEFINED, IfcAirTerminalBoxType_NOTDEFINED} IfcAirTerminalBoxTypeEnum; -IfcParse_EXPORT const char* ToString(IfcAirTerminalBoxTypeEnum v); -IfcParse_EXPORT IfcAirTerminalBoxTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcAirTerminalBoxTypeEnum v); +IFC_PARSE_API IfcAirTerminalBoxTypeEnum FromString(const std::string& s); } namespace IfcAirTerminalTypeEnum { /// Enumeration defining the functional types of air terminals. @@ -637,8 +637,8 @@ namespace IfcAirTerminalTypeEnum { /// /// HISTORY: New enumeration in IFC R2x2. Modified in IFC R2x4 to add LOUVRE and remove EYEBALL, IRIS, LINEARGRILLE, LINEARDIFFUSER typedef enum {IfcAirTerminalType_GRILLE, IfcAirTerminalType_REGISTER, IfcAirTerminalType_DIFFUSER, IfcAirTerminalType_EYEBALL, IfcAirTerminalType_IRIS, IfcAirTerminalType_LINEARGRILLE, IfcAirTerminalType_LINEARDIFFUSER, IfcAirTerminalType_USERDEFINED, IfcAirTerminalType_NOTDEFINED} IfcAirTerminalTypeEnum; -IfcParse_EXPORT const char* ToString(IfcAirTerminalTypeEnum v); -IfcParse_EXPORT IfcAirTerminalTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcAirTerminalTypeEnum v); +IFC_PARSE_API IfcAirTerminalTypeEnum FromString(const std::string& s); } namespace IfcAirToAirHeatRecoveryTypeEnum { /// Defines general types of pumps. @@ -658,8 +658,8 @@ namespace IfcAirToAirHeatRecoveryTypeEnum { /// /// HISTORY: New enumeration in IFC R2x. typedef enum {IfcAirToAirHeatRecoveryType_FIXEDPLATECOUNTERFLOWEXCHANGER, IfcAirToAirHeatRecoveryType_FIXEDPLATECROSSFLOWEXCHANGER, IfcAirToAirHeatRecoveryType_FIXEDPLATEPARALLELFLOWEXCHANGER, IfcAirToAirHeatRecoveryType_ROTARYWHEEL, IfcAirToAirHeatRecoveryType_RUNAROUNDCOILLOOP, IfcAirToAirHeatRecoveryType_HEATPIPE, IfcAirToAirHeatRecoveryType_TWINTOWERENTHALPYRECOVERYLOOPS, IfcAirToAirHeatRecoveryType_THERMOSIPHONSEALEDTUBEHEATEXCHANGERS, IfcAirToAirHeatRecoveryType_THERMOSIPHONCOILTYPEHEATEXCHANGERS, IfcAirToAirHeatRecoveryType_USERDEFINED, IfcAirToAirHeatRecoveryType_NOTDEFINED} IfcAirToAirHeatRecoveryTypeEnum; -IfcParse_EXPORT const char* ToString(IfcAirToAirHeatRecoveryTypeEnum v); -IfcParse_EXPORT IfcAirToAirHeatRecoveryTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcAirToAirHeatRecoveryTypeEnum v); +IFC_PARSE_API IfcAirToAirHeatRecoveryTypeEnum FromString(const std::string& s); } namespace IfcAlarmTypeEnum { /// The IfcAlarmTypeEnum defines the range of different types of alarm that can be specified. @@ -677,8 +677,8 @@ namespace IfcAlarmTypeEnum { /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. typedef enum {IfcAlarmType_BELL, IfcAlarmType_BREAKGLASSBUTTON, IfcAlarmType_LIGHT, IfcAlarmType_MANUALPULLBOX, IfcAlarmType_SIREN, IfcAlarmType_WHISTLE, IfcAlarmType_USERDEFINED, IfcAlarmType_NOTDEFINED} IfcAlarmTypeEnum; -IfcParse_EXPORT const char* ToString(IfcAlarmTypeEnum v); -IfcParse_EXPORT IfcAlarmTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcAlarmTypeEnum v); +IFC_PARSE_API IfcAlarmTypeEnum FromString(const std::string& s); } namespace IfcAnalysisModelTypeEnum { /// Definition from IAI: This type definition is used to distinguish @@ -688,8 +688,8 @@ namespace IfcAnalysisModelTypeEnum { /// HISTORY: New type in Release IFC2x /// Edition 2. typedef enum {IfcAnalysisModelType_IN_PLANE_LOADING_2D, IfcAnalysisModelType_OUT_PLANE_LOADING_2D, IfcAnalysisModelType_LOADING_3D, IfcAnalysisModelType_USERDEFINED, IfcAnalysisModelType_NOTDEFINED} IfcAnalysisModelTypeEnum; -IfcParse_EXPORT const char* ToString(IfcAnalysisModelTypeEnum v); -IfcParse_EXPORT IfcAnalysisModelTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcAnalysisModelTypeEnum v); +IFC_PARSE_API IfcAnalysisModelTypeEnum FromString(const std::string& s); } namespace IfcAnalysisTheoryTypeEnum { /// Definition from IAI: This type definition is used to distinguish @@ -700,8 +700,8 @@ namespace IfcAnalysisTheoryTypeEnum { /// HISTORY: New type in Release IFC2x /// Edition 2. typedef enum {IfcAnalysisTheoryType_FIRST_ORDER_THEORY, IfcAnalysisTheoryType_SECOND_ORDER_THEORY, IfcAnalysisTheoryType_THIRD_ORDER_THEORY, IfcAnalysisTheoryType_FULL_NONLINEAR_THEORY, IfcAnalysisTheoryType_USERDEFINED, IfcAnalysisTheoryType_NOTDEFINED} IfcAnalysisTheoryTypeEnum; -IfcParse_EXPORT const char* ToString(IfcAnalysisTheoryTypeEnum v); -IfcParse_EXPORT IfcAnalysisTheoryTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcAnalysisTheoryTypeEnum v); +IFC_PARSE_API IfcAnalysisTheoryTypeEnum FromString(const std::string& s); } namespace IfcArithmeticOperatorEnum { /// IfcArithmeticOperatorEnum specifies the form of arithmetical operation implied by the relationship. @@ -717,8 +717,8 @@ namespace IfcArithmeticOperatorEnum { /// Use definitions /// There can be only one arithmetic operator for each applied value relationship. This is to enforce arithmetic consistency. Given this consistency, the cardinality of the IfcAppliedValueRelationship.Components attribute is a set of one to many applied values that are components of an applied value. typedef enum {IfcArithmeticOperator_ADD, IfcArithmeticOperator_DIVIDE, IfcArithmeticOperator_MULTIPLY, IfcArithmeticOperator_SUBTRACT} IfcArithmeticOperatorEnum; -IfcParse_EXPORT const char* ToString(IfcArithmeticOperatorEnum v); -IfcParse_EXPORT IfcArithmeticOperatorEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcArithmeticOperatorEnum v); +IFC_PARSE_API IfcArithmeticOperatorEnum FromString(const std::string& s); } namespace IfcAssemblyPlaceEnum { /// Definition from IAI: Enumeration defining where the @@ -734,8 +734,8 @@ namespace IfcAssemblyPlaceEnum { /// /// FACTORY - this assembly is assembled in a factory typedef enum {IfcAssemblyPlace_SITE, IfcAssemblyPlace_FACTORY, IfcAssemblyPlace_NOTDEFINED} IfcAssemblyPlaceEnum; -IfcParse_EXPORT const char* ToString(IfcAssemblyPlaceEnum v); -IfcParse_EXPORT IfcAssemblyPlaceEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcAssemblyPlaceEnum v); +IFC_PARSE_API IfcAssemblyPlaceEnum FromString(const std::string& s); } namespace IfcBSplineCurveForm { /// Definition from ISO/CD 10303-42:1992: This type is used to indicate that the B-spline curve represents a part of a curve of some specific form. @@ -753,8 +753,8 @@ namespace IfcBSplineCurveForm { /// /// HISTORY  New type in Release IFC2x2. typedef enum {IfcBSplineCurveForm_POLYLINE_FORM, IfcBSplineCurveForm_CIRCULAR_ARC, IfcBSplineCurveForm_ELLIPTIC_ARC, IfcBSplineCurveForm_PARABOLIC_ARC, IfcBSplineCurveForm_HYPERBOLIC_ARC, IfcBSplineCurveForm_UNSPECIFIED} IfcBSplineCurveForm; -IfcParse_EXPORT const char* ToString(IfcBSplineCurveForm v); -IfcParse_EXPORT IfcBSplineCurveForm FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcBSplineCurveForm v); +IFC_PARSE_API IfcBSplineCurveForm FromString(const std::string& s); } namespace IfcBeamTypeEnum { /// Definition from IAI: This enumeration defines the @@ -797,8 +797,8 @@ namespace IfcBeamTypeEnum { /// HOLLOWCORE and SPANDREL have been /// added. typedef enum {IfcBeamType_BEAM, IfcBeamType_JOIST, IfcBeamType_LINTEL, IfcBeamType_T_BEAM, IfcBeamType_USERDEFINED, IfcBeamType_NOTDEFINED} IfcBeamTypeEnum; -IfcParse_EXPORT const char* ToString(IfcBeamTypeEnum v); -IfcParse_EXPORT IfcBeamTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcBeamTypeEnum v); +IFC_PARSE_API IfcBeamTypeEnum FromString(const std::string& s); } namespace IfcBenchmarkEnum { /// IfcBenchmarkEnum is an enumeration used to identify the logical comparators that can be applied in conjunction with constraint values. @@ -842,8 +842,8 @@ namespace IfcBenchmarkEnum { /// NOTINCLUDEDIN /// Identifies that a value (individual item) must not be included (i.e. must be excluded) in the aggregation (set, list or table) set by the constraint. typedef enum {IfcBenchmark_GREATERTHAN, IfcBenchmark_GREATERTHANOREQUALTO, IfcBenchmark_LESSTHAN, IfcBenchmark_LESSTHANOREQUALTO, IfcBenchmark_EQUALTO, IfcBenchmark_NOTEQUALTO} IfcBenchmarkEnum; -IfcParse_EXPORT const char* ToString(IfcBenchmarkEnum v); -IfcParse_EXPORT IfcBenchmarkEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcBenchmarkEnum v); +IFC_PARSE_API IfcBenchmarkEnum FromString(const std::string& s); } namespace IfcBoilerTypeEnum { /// Enumeration defining the typical types of boilers. @@ -856,8 +856,8 @@ namespace IfcBoilerTypeEnum { /// /// HISTORY: New enumeration in IFC R2x. typedef enum {IfcBoilerType_WATER, IfcBoilerType_STEAM, IfcBoilerType_USERDEFINED, IfcBoilerType_NOTDEFINED} IfcBoilerTypeEnum; -IfcParse_EXPORT const char* ToString(IfcBoilerTypeEnum v); -IfcParse_EXPORT IfcBoilerTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcBoilerTypeEnum v); +IFC_PARSE_API IfcBoilerTypeEnum FromString(const std::string& s); } namespace IfcBooleanOperator { /// Definition from ISO/CD 10303-42:1992: This type defines the three Boolean operators used in the definition of CSG solids. @@ -870,8 +870,8 @@ namespace IfcBooleanOperator { /// /// HISTORY New Type in IFC Release 1.5.1. typedef enum {IfcBooleanOperator_UNION, IfcBooleanOperator_INTERSECTION, IfcBooleanOperator_DIFFERENCE} IfcBooleanOperator; -IfcParse_EXPORT const char* ToString(IfcBooleanOperator v); -IfcParse_EXPORT IfcBooleanOperator FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcBooleanOperator v); +IFC_PARSE_API IfcBooleanOperator FromString(const std::string& s); } namespace IfcBuildingElementProxyTypeEnum { /// Definition from IAI: This enumeration defines the @@ -886,8 +886,8 @@ namespace IfcBuildingElementProxyTypeEnum { /// /// NOTDEFINED typedef enum {IfcBuildingElementProxyType_USERDEFINED, IfcBuildingElementProxyType_NOTDEFINED} IfcBuildingElementProxyTypeEnum; -IfcParse_EXPORT const char* ToString(IfcBuildingElementProxyTypeEnum v); -IfcParse_EXPORT IfcBuildingElementProxyTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcBuildingElementProxyTypeEnum v); +IFC_PARSE_API IfcBuildingElementProxyTypeEnum FromString(const std::string& s); } namespace IfcCableCarrierFittingTypeEnum { /// The IfcCableCarrierFittingTypeEnum defines the range of different types of cable carrier fitting that can be specified. @@ -901,8 +901,8 @@ namespace IfcCableCarrierFittingTypeEnum { /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. typedef enum {IfcCableCarrierFittingType_BEND, IfcCableCarrierFittingType_CROSS, IfcCableCarrierFittingType_REDUCER, IfcCableCarrierFittingType_TEE, IfcCableCarrierFittingType_USERDEFINED, IfcCableCarrierFittingType_NOTDEFINED} IfcCableCarrierFittingTypeEnum; -IfcParse_EXPORT const char* ToString(IfcCableCarrierFittingTypeEnum v); -IfcParse_EXPORT IfcCableCarrierFittingTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcCableCarrierFittingTypeEnum v); +IFC_PARSE_API IfcCableCarrierFittingTypeEnum FromString(const std::string& s); } namespace IfcCableCarrierSegmentTypeEnum { /// The IfcCableCarrierSegmentTypeEnum defines the range of different types of cable carrier segment that can be specified. @@ -916,8 +916,8 @@ namespace IfcCableCarrierSegmentTypeEnum { /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. typedef enum {IfcCableCarrierSegmentType_CABLELADDERSEGMENT, IfcCableCarrierSegmentType_CABLETRAYSEGMENT, IfcCableCarrierSegmentType_CABLETRUNKINGSEGMENT, IfcCableCarrierSegmentType_CONDUITSEGMENT, IfcCableCarrierSegmentType_USERDEFINED, IfcCableCarrierSegmentType_NOTDEFINED} IfcCableCarrierSegmentTypeEnum; -IfcParse_EXPORT const char* ToString(IfcCableCarrierSegmentTypeEnum v); -IfcParse_EXPORT IfcCableCarrierSegmentTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcCableCarrierSegmentTypeEnum v); +IFC_PARSE_API IfcCableCarrierSegmentTypeEnum FromString(const std::string& s); } namespace IfcCableSegmentTypeEnum { /// The IfcCableSegmentTypeEnum defines the range of different types of cable segment that can be specified. @@ -933,8 +933,8 @@ namespace IfcCableSegmentTypeEnum { /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. typedef enum {IfcCableSegmentType_CABLESEGMENT, IfcCableSegmentType_CONDUCTORSEGMENT, IfcCableSegmentType_USERDEFINED, IfcCableSegmentType_NOTDEFINED} IfcCableSegmentTypeEnum; -IfcParse_EXPORT const char* ToString(IfcCableSegmentTypeEnum v); -IfcParse_EXPORT IfcCableSegmentTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcCableSegmentTypeEnum v); +IFC_PARSE_API IfcCableSegmentTypeEnum FromString(const std::string& s); } namespace IfcChangeActionEnum { /// IfcChangeActionEnum identifies the type of change that might have occurred to the object during the last session (for example, added, modified, deleted). This information is required in a partial model exchange scenario so that an application or model server will know how an object might have been affected by the previous application. Valid enumerations are: @@ -953,8 +953,8 @@ namespace IfcChangeActionEnum { /// /// HISTORY: New enumeration in IFC R2.0. Modified in IFC2x4. typedef enum {IfcChangeAction_NOCHANGE, IfcChangeAction_MODIFIED, IfcChangeAction_ADDED, IfcChangeAction_DELETED, IfcChangeAction_MODIFIEDADDED, IfcChangeAction_MODIFIEDDELETED} IfcChangeActionEnum; -IfcParse_EXPORT const char* ToString(IfcChangeActionEnum v); -IfcParse_EXPORT IfcChangeActionEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcChangeActionEnum v); +IFC_PARSE_API IfcChangeActionEnum FromString(const std::string& s); } namespace IfcChillerTypeEnum { /// Enumeration defining the typical types of Chillers classified by their method of heat rejection. @@ -968,8 +968,8 @@ namespace IfcChillerTypeEnum { /// /// HISTORY: New enumeration in IFC R2x. typedef enum {IfcChillerType_AIRCOOLED, IfcChillerType_WATERCOOLED, IfcChillerType_HEATRECOVERY, IfcChillerType_USERDEFINED, IfcChillerType_NOTDEFINED} IfcChillerTypeEnum; -IfcParse_EXPORT const char* ToString(IfcChillerTypeEnum v); -IfcParse_EXPORT IfcChillerTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcChillerTypeEnum v); +IFC_PARSE_API IfcChillerTypeEnum FromString(const std::string& s); } namespace IfcCoilTypeEnum { /// Enumeration defining the typical types of coils. @@ -995,8 +995,8 @@ namespace IfcCoilTypeEnum { /// /// HISTORY: New enumeration in IFC R2x. typedef enum {IfcCoilType_DXCOOLINGCOIL, IfcCoilType_WATERCOOLINGCOIL, IfcCoilType_STEAMHEATINGCOIL, IfcCoilType_WATERHEATINGCOIL, IfcCoilType_ELECTRICHEATINGCOIL, IfcCoilType_GASHEATINGCOIL, IfcCoilType_USERDEFINED, IfcCoilType_NOTDEFINED} IfcCoilTypeEnum; -IfcParse_EXPORT const char* ToString(IfcCoilTypeEnum v); -IfcParse_EXPORT IfcCoilTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcCoilTypeEnum v); +IFC_PARSE_API IfcCoilTypeEnum FromString(const std::string& s); } namespace IfcColumnTypeEnum { /// Definition from IAI: This enumeration defines the @@ -1014,8 +1014,8 @@ namespace IfcColumnTypeEnum { /// HISTORY New Enumeration /// in Release IFC2x Edition 2. typedef enum {IfcColumnType_COLUMN, IfcColumnType_USERDEFINED, IfcColumnType_NOTDEFINED} IfcColumnTypeEnum; -IfcParse_EXPORT const char* ToString(IfcColumnTypeEnum v); -IfcParse_EXPORT IfcColumnTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcColumnTypeEnum v); +IFC_PARSE_API IfcColumnTypeEnum FromString(const std::string& s); } namespace IfcCompressorTypeEnum { /// Types of compressors. @@ -1041,8 +1041,8 @@ namespace IfcCompressorTypeEnum { /// /// HISTORY: New enumeration in IFC R2x. typedef enum {IfcCompressorType_DYNAMIC, IfcCompressorType_RECIPROCATING, IfcCompressorType_ROTARY, IfcCompressorType_SCROLL, IfcCompressorType_TROCHOIDAL, IfcCompressorType_SINGLESTAGE, IfcCompressorType_BOOSTER, IfcCompressorType_OPENTYPE, IfcCompressorType_HERMETIC, IfcCompressorType_SEMIHERMETIC, IfcCompressorType_WELDEDSHELLHERMETIC, IfcCompressorType_ROLLINGPISTON, IfcCompressorType_ROTARYVANE, IfcCompressorType_SINGLESCREW, IfcCompressorType_TWINSCREW, IfcCompressorType_USERDEFINED, IfcCompressorType_NOTDEFINED} IfcCompressorTypeEnum; -IfcParse_EXPORT const char* ToString(IfcCompressorTypeEnum v); -IfcParse_EXPORT IfcCompressorTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcCompressorTypeEnum v); +IFC_PARSE_API IfcCompressorTypeEnum FromString(const std::string& s); } namespace IfcCondenserTypeEnum { /// Enumeration defining the typical types of condensers. Air is used as the cooling medium for AIRCOOLED; water is used as the cooling medium for all other types. The IfcCondenserTypeEnum contains the following: @@ -1059,8 +1059,8 @@ namespace IfcCondenserTypeEnum { /// /// HISTORY: New enumeration in IFC 2x2. WATERCOOLED added in IFC 2x4. typedef enum {IfcCondenserType_WATERCOOLEDSHELLTUBE, IfcCondenserType_WATERCOOLEDSHELLCOIL, IfcCondenserType_WATERCOOLEDTUBEINTUBE, IfcCondenserType_WATERCOOLEDBRAZEDPLATE, IfcCondenserType_AIRCOOLED, IfcCondenserType_EVAPORATIVECOOLED, IfcCondenserType_USERDEFINED, IfcCondenserType_NOTDEFINED} IfcCondenserTypeEnum; -IfcParse_EXPORT const char* ToString(IfcCondenserTypeEnum v); -IfcParse_EXPORT IfcCondenserTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcCondenserTypeEnum v); +IFC_PARSE_API IfcCondenserTypeEnum FromString(const std::string& s); } namespace IfcConnectionTypeEnum { /// This enumeration defines the different ways how path based elements (such as IfcWallStandardCase) can connect, as shown in Figure 65. @@ -1084,8 +1084,8 @@ namespace IfcConnectionTypeEnum { /// /// Figure 65 — Connection types list; }; -class IfcParse_EXPORT IfcApprovalActorRelationship : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcApprovalActorRelationship : public IfcUtil::IfcBaseEntity { public: IfcActorSelect* Actor() const; void setActor(IfcActorSelect* v); @@ -6890,7 +6890,7 @@ public: typedef IfcTemplatedEntityList< IfcApprovalActorRelationship > list; }; -class IfcParse_EXPORT IfcApprovalPropertyRelationship : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcApprovalPropertyRelationship : public IfcUtil::IfcBaseEntity { public: IfcTemplatedEntityList< IfcProperty >::ptr ApprovedProperties() const; void setApprovedProperties(IfcTemplatedEntityList< IfcProperty >::ptr v); @@ -6915,7 +6915,7 @@ public: /// HISTORY: New entity in Release IFC2x2. /// /// IFC2x4 CHANGE  Subtyped from IfcResourceLevelRelationship, order of attributes changed. -class IfcParse_EXPORT IfcApprovalRelationship : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcApprovalRelationship : public IfcUtil::IfcBaseEntity { public: IfcApproval* RelatedApproval() const; void setRelatedApproval(IfcApproval* v); @@ -6955,7 +6955,7 @@ public: /// HISTORY: New entity /// in Release IFC2x Edition /// 2. -class IfcParse_EXPORT IfcBoundaryCondition : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcBoundaryCondition : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcBoundaryCondition bool hasName() const; @@ -6984,7 +6984,7 @@ public: /// IFC 2x4 change: Attributes LinearStiffnessX/Y/Z renamed to TranslationalStiffnessX/Y/Z. /// /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. -class IfcParse_EXPORT IfcBoundaryEdgeCondition : public IfcBoundaryCondition { +class IFC_PARSE_API IfcBoundaryEdgeCondition : public IfcBoundaryCondition { public: /// Whether the optional attribute LinearStiffnessByLengthX is defined for this IfcBoundaryEdgeCondition bool hasLinearStiffnessByLengthX() const; @@ -7035,7 +7035,7 @@ public: /// IFC 2x4 change: Attributes LinearStiffnessX/Y/Z renamed to TranslationalStiffnessX/Y/Z. /// /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. -class IfcParse_EXPORT IfcBoundaryFaceCondition : public IfcBoundaryCondition { +class IFC_PARSE_API IfcBoundaryFaceCondition : public IfcBoundaryCondition { public: /// Whether the optional attribute LinearStiffnessByAreaX is defined for this IfcBoundaryFaceCondition bool hasLinearStiffnessByAreaX() const; @@ -7071,7 +7071,7 @@ public: /// IFC 2x4 change: Attributes LinearStiffnessX/Y/Z renamed to TranslationalStiffnessX/Y/Z. /// /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. -class IfcParse_EXPORT IfcBoundaryNodeCondition : public IfcBoundaryCondition { +class IFC_PARSE_API IfcBoundaryNodeCondition : public IfcBoundaryCondition { public: /// Whether the optional attribute LinearStiffnessX is defined for this IfcBoundaryNodeCondition bool hasLinearStiffnessX() const; @@ -7121,7 +7121,7 @@ public: /// HISTORY: New entity in IFC 2x2. /// /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. -class IfcParse_EXPORT IfcBoundaryNodeConditionWarping : public IfcBoundaryNodeCondition { +class IFC_PARSE_API IfcBoundaryNodeConditionWarping : public IfcBoundaryNodeCondition { public: /// Whether the optional attribute WarpingStiffness is defined for this IfcBoundaryNodeConditionWarping bool hasWarpingStiffness() const; @@ -7141,7 +7141,7 @@ public: typedef IfcTemplatedEntityList< IfcBoundaryNodeConditionWarping > list; }; -class IfcParse_EXPORT IfcCalendarDate : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcCalendarDate : public IfcUtil::IfcBaseEntity { public: int DayComponent() const; void setDayComponent(int v); @@ -7176,7 +7176,7 @@ public: /// /// Including the classification system structure within the dataset: Here a hierarchical tree of IfcClassificationItem's is included that defines the classification system including the relationship between the classification items. An IfcClassificationNotation is used to classify an object. /// Referencing the classification system by a classification key or id: Here the IfcClassificationReference is used to assign a classification id or key to each classified object. -class IfcParse_EXPORT IfcClassification : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcClassification : public IfcUtil::IfcBaseEntity { public: /// Source (or publisher) for this classification. /// @@ -7218,7 +7218,7 @@ public: typedef IfcTemplatedEntityList< IfcClassification > list; }; -class IfcParse_EXPORT IfcClassificationItem : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcClassificationItem : public IfcUtil::IfcBaseEntity { public: IfcClassificationNotationFacet* Notation() const; void setNotation(IfcClassificationNotationFacet* v); @@ -7243,7 +7243,7 @@ public: typedef IfcTemplatedEntityList< IfcClassificationItem > list; }; -class IfcParse_EXPORT IfcClassificationItemRelationship : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcClassificationItemRelationship : public IfcUtil::IfcBaseEntity { public: IfcClassificationItem* RelatingItem() const; void setRelatingItem(IfcClassificationItem* v); @@ -7262,7 +7262,7 @@ public: typedef IfcTemplatedEntityList< IfcClassificationItemRelationship > list; }; -class IfcParse_EXPORT IfcClassificationNotation : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcClassificationNotation : public IfcUtil::IfcBaseEntity { public: IfcTemplatedEntityList< IfcClassificationNotationFacet >::ptr NotationFacets() const; void setNotationFacets(IfcTemplatedEntityList< IfcClassificationNotationFacet >::ptr v); @@ -7279,7 +7279,7 @@ public: typedef IfcTemplatedEntityList< IfcClassificationNotation > list; }; -class IfcParse_EXPORT IfcClassificationNotationFacet : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcClassificationNotationFacet : public IfcUtil::IfcBaseEntity { public: std::string NotationValue() const; void setNotationValue(std::string v); @@ -7300,7 +7300,7 @@ public: /// NOTE  Corresponding ISO 10303 name: colour_specification. It has been made into an abstract entity in IFC. Please refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IfcParse_EXPORT IfcColourSpecification : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcColourSpecification : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcColourSpecification bool hasName() const; @@ -7336,7 +7336,7 @@ public: /// HISTORY  New entity in IFC Release 1.5. /// /// IFC2x Edition 3 CHANGE  The definition of the subtypes has been enhanced by allowing either geometric representation items (point | curve | surface) or topological representation items with associated geometry (vertex point | edge curve | face  surface). -class IfcParse_EXPORT IfcConnectionGeometry : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcConnectionGeometry : public IfcUtil::IfcBaseEntity { public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } @@ -7366,7 +7366,7 @@ public: /// /// Geometry use definitions /// The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connect. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute. If both point coordinates are not identical within a common parent coordinate system (ultimately within the world coordinate system), the subtype IfcConnectionPointEccentricity shall be used. -class IfcParse_EXPORT IfcConnectionPointGeometry : public IfcConnectionGeometry { +class IFC_PARSE_API IfcConnectionPointGeometry : public IfcConnectionGeometry { public: /// Point at which the connected object is aligned at the relating element, given in the LCS of the relating element. IfcPointOrVertexPoint* PointOnRelatingElement() const; @@ -7389,7 +7389,7 @@ public: typedef IfcTemplatedEntityList< IfcConnectionPointGeometry > list; }; -class IfcParse_EXPORT IfcConnectionPortGeometry : public IfcConnectionGeometry { +class IFC_PARSE_API IfcConnectionPortGeometry : public IfcConnectionGeometry { public: IfcAxis2Placement* LocationAtRelatingElement() const; void setLocationAtRelatingElement(IfcAxis2Placement* v); @@ -7419,7 +7419,7 @@ public: /// /// Geometry use definitions /// The IfcSurface (or the IfcFaceSurface with an associated IfcSurface) at the SurfaceOnRelatingElement attribute defines the surface where the basic geometry items of the connected elements connects. The surface geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionSurfaceGeometry. Optionally, the same surface geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the SurfaceOnRelatedElement attribute. -class IfcParse_EXPORT IfcConnectionSurfaceGeometry : public IfcConnectionGeometry { +class IFC_PARSE_API IfcConnectionSurfaceGeometry : public IfcConnectionGeometry { public: /// Surface at which related object is aligned at the relating element, given in the LCS of the relating element. IfcSurfaceOrFaceSurface* SurfaceOnRelatingElement() const; @@ -7453,7 +7453,7 @@ public: /// A constraint must have a name applied through the IfcConstraint.Name attribute and optionally, a description through IfcConstraint.Description. The grade of the constraint (hard, soft, advisory) must be specified through IfcConstraint.ConstraintGrade or IfcConstraint.UserDefinedGrade whilst the source, creating actor and time at which the constraint is created may be optionally asserted through IfcConstraint.ConstraintSource, IfcConstraint.CreatingActor and IfcConstraint.CreationTime. /// /// A constraint may also have additional external information (such as classification or document information) associated to it by IfcExternalReferenceRelationship, accessible through inverse attribute IfcConstraint.HasExternalReferences -class IfcParse_EXPORT IfcConstraint : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcConstraint : public IfcUtil::IfcBaseEntity { public: /// A name to be used for the constraint (e.g., ChillerCoefficientOfPerformance). std::string Name() const; @@ -7518,7 +7518,7 @@ public: /// Figure 237 illustrates constraint aggregation. /// /// Figure 237 — Constraint aggregation -class IfcParse_EXPORT IfcConstraintAggregationRelationship : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcConstraintAggregationRelationship : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcConstraintAggregationRelationship bool hasName() const; @@ -7548,7 +7548,7 @@ public: typedef IfcTemplatedEntityList< IfcConstraintAggregationRelationship > list; }; -class IfcParse_EXPORT IfcConstraintClassificationRelationship : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcConstraintClassificationRelationship : public IfcUtil::IfcBaseEntity { public: IfcConstraint* ClassifiedConstraint() const; void setClassifiedConstraint(IfcConstraint* v); @@ -7575,7 +7575,7 @@ public: /// HISTORY  New entity in Release IFC2x2 (Addendum 1). /// /// IFC2x4 CHANGE  Subtyped from IfcResourceLevelRelationship. -class IfcParse_EXPORT IfcConstraintRelationship : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcConstraintRelationship : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcConstraintRelationship bool hasName() const; @@ -7604,7 +7604,7 @@ public: typedef IfcTemplatedEntityList< IfcConstraintRelationship > list; }; -class IfcParse_EXPORT IfcCoordinatedUniversalTimeOffset : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcCoordinatedUniversalTimeOffset : public IfcUtil::IfcBaseEntity { public: int HourOffset() const; void setHourOffset(int v); @@ -7668,7 +7668,7 @@ public: /// Whole life /// /// In the absence of any well-defined standard, it is recommended that local agreements should be made to define allowable and understandable cost value types within a project or region. -class IfcParse_EXPORT IfcCostValue : public IfcAppliedValue { +class IFC_PARSE_API IfcCostValue : public IfcAppliedValue { public: /// Specification of the type of cost type used. /// @@ -7705,7 +7705,7 @@ public: /// Use definitions /// An IfcCurrencyRelationship is used where there may be a need to reference an IfcCostValue in one currency to an IfcCostValue in another currency. It takes account of fact that currency exchange rates may vary by requiring the recording the date and time of the currency exchange rate used and the source that publishes the rate. There may be many sources and there are different strategies for currency conversion (spot rate, forward buying of currency at a fixed rate). /// The source for the currency exchange is defined as an instance of IfcLibraryInformation that includes a name and a URL. -class IfcParse_EXPORT IfcCurrencyRelationship : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcCurrencyRelationship : public IfcUtil::IfcBaseEntity { public: /// The monetary unit from which an exchange is derived. For instance, in the case of a conversion from GBP to USD, the relating monetary unit is GBP. IfcMonetaryUnit* RelatingMonetaryUnit() const; @@ -7743,7 +7743,7 @@ public: /// NOTE: Corresponding ISO 10303 name: curve_style_font. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x2. -class IfcParse_EXPORT IfcCurveStyleFont : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcCurveStyleFont : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcCurveStyleFont bool hasName() const; @@ -7776,7 +7776,7 @@ public: /// NOTE  Corresponding ISO 10303 name: curve_style_font_and_scaling. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IfcParse_EXPORT IfcCurveStyleFontAndScaling : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcCurveStyleFontAndScaling : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcCurveStyleFontAndScaling bool hasName() const; @@ -7806,7 +7806,7 @@ public: /// NOTE Corresponding ISO 10303 name: curve_style_font_pattern. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IfcParse_EXPORT IfcCurveStyleFontPattern : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcCurveStyleFontPattern : public IfcUtil::IfcBaseEntity { public: /// The length of the visible segment in the pattern definition. /// @@ -7831,7 +7831,7 @@ public: typedef IfcTemplatedEntityList< IfcCurveStyleFontPattern > list; }; -class IfcParse_EXPORT IfcDateAndTime : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcDateAndTime : public IfcUtil::IfcBaseEntity { public: IfcCalendarDate* DateComponent() const; void setDateComponent(IfcCalendarDate* v); @@ -7856,7 +7856,7 @@ public: /// NOTE: Corresponding ISO 10303 name: derived_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5.1. -class IfcParse_EXPORT IfcDerivedUnit : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcDerivedUnit : public IfcUtil::IfcBaseEntity { public: /// The group of units and their exponents that define the derived unit. IfcTemplatedEntityList< IfcDerivedUnitElement >::ptr Elements() const; @@ -7889,7 +7889,7 @@ public: /// NOTE: Corresponding ISO 10303 name: derived_unit_element, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IfcParse_EXPORT IfcDerivedUnitElement : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcDerivedUnitElement : public IfcUtil::IfcBaseEntity { public: /// The fixed quantity which is used as the mathematical factor. IfcNamedUnit* Unit() const; @@ -7926,7 +7926,7 @@ public: /// for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IfcParse_EXPORT IfcDimensionalExponents : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcDimensionalExponents : public IfcUtil::IfcBaseEntity { public: /// The power of the length base quantity. int LengthExponent() const; @@ -7964,7 +7964,7 @@ public: /// IfcDocumentElectronicFormat captures the type of document being referenced as an external source, and for which metadata is specified by IfcDocumentInformation. /// /// HISTORY: New entity in IFC 2x -class IfcParse_EXPORT IfcDocumentElectronicFormat : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcDocumentElectronicFormat : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute FileExtension is defined for this IfcDocumentElectronicFormat bool hasFileExtension() const; @@ -7996,7 +7996,7 @@ public: /// IfcDocumentInformation captures "metadata" of an external document. The actual content of the document is not defined in IFC; instead, it can be found following the reference given to IfcDocumentReference. /// /// HISTORY: New entity in IFC 2x. -class IfcParse_EXPORT IfcDocumentInformation : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcDocumentInformation : public IfcUtil::IfcBaseEntity { public: /// Identifier that uniquely identifies a document. std::string DocumentId() const; @@ -8112,7 +8112,7 @@ public: /// /// Use definitions /// This class can be used to describe relationships in which one document may reference one or more other sub documents or where a document is used as a replacement for another document (but where both the original and the replacing document need to be retained). -class IfcParse_EXPORT IfcDocumentInformationRelationship : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcDocumentInformationRelationship : public IfcUtil::IfcBaseEntity { public: /// The document that acts as the parent, referencing or original document in a relationship. IfcDocumentInformation* RelatingDocument() const; @@ -8138,7 +8138,7 @@ public: typedef IfcTemplatedEntityList< IfcDocumentInformationRelationship > list; }; -class IfcParse_EXPORT IfcDraughtingCalloutRelationship : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcDraughtingCalloutRelationship : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcDraughtingCalloutRelationship bool hasName() const; @@ -8165,7 +8165,7 @@ public: typedef IfcTemplatedEntityList< IfcDraughtingCalloutRelationship > list; }; -class IfcParse_EXPORT IfcEnvironmentalImpactValue : public IfcAppliedValue { +class IFC_PARSE_API IfcEnvironmentalImpactValue : public IfcAppliedValue { public: std::string ImpactType() const; void setImpactType(std::string v); @@ -8196,7 +8196,7 @@ public: /// IfcExternalReference is an abstract supertype of all external reference entities. /// /// HISTORY New entity in IFC2x. -class IfcParse_EXPORT IfcExternalReference : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcExternalReference : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Location is defined for this IfcExternalReference bool hasLocation() const; @@ -8234,7 +8234,7 @@ public: /// the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x2. -class IfcParse_EXPORT IfcExternallyDefinedHatchStyle : public IfcExternalReference { +class IFC_PARSE_API IfcExternallyDefinedHatchStyle : public IfcExternalReference { public: virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcExternalReference::getArgumentType(i); } @@ -8255,7 +8255,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The spelling has been corrected from IfcExternallyDefinedSufaceStyle with no upward compatibility. -class IfcParse_EXPORT IfcExternallyDefinedSurfaceStyle : public IfcExternalReference { +class IFC_PARSE_API IfcExternallyDefinedSurfaceStyle : public IfcExternalReference { public: virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcExternalReference::getArgumentType(i); } @@ -8278,7 +8278,7 @@ public: /// NOTE Corresponding ISO 10303 name: externally_defined_symbol. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IfcParse_EXPORT IfcExternallyDefinedSymbol : public IfcExternalReference { +class IFC_PARSE_API IfcExternallyDefinedSymbol : public IfcExternalReference { public: virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcExternalReference::getArgumentType(i); } @@ -8299,7 +8299,7 @@ public: /// NOTE  Corresponding ISO 10303 name: externally_defined_text_font. Please refer to ISO/IS 10303-46:1994, p. 137 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IfcParse_EXPORT IfcExternallyDefinedTextFont : public IfcExternalReference { +class IFC_PARSE_API IfcExternallyDefinedTextFont : public IfcExternalReference { public: virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcExternalReference::getArgumentType(i); } @@ -8336,7 +8336,7 @@ public: /// underlying AxisCurve supports this concept. /// /// Figure 242 — Grid axis -class IfcParse_EXPORT IfcGridAxis : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcGridAxis : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute AxisTag is defined for this IfcGridAxis bool hasAxisTag() const; @@ -8368,7 +8368,7 @@ public: /// The IfcIrregularTimeSeriesValue describes a value (or set of values) at a particular time point. /// /// HISTORY: New entity in IFC 2x2. -class IfcParse_EXPORT IfcIrregularTimeSeriesValue : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcIrregularTimeSeriesValue : public IfcUtil::IfcBaseEntity { public: /// The specification of the time point. IfcDateTimeSelect* TimeStamp() const; @@ -8396,7 +8396,7 @@ public: /// Entity in IFC2x. /// /// IFC2x4 CHANGE  Location attribute added, HasLibraryReferences inverse attribute added (previous LibraryReference changed to inverse). -class IfcParse_EXPORT IfcLibraryInformation : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcLibraryInformation : public IfcUtil::IfcBaseEntity { public: /// The name which is used to identify the library. std::string Name() const; @@ -8441,7 +8441,7 @@ public: /// HISTORY  New Entity in IFC2.0. /// /// IFC2x4 CHANGE  Description and Language attribute added; ReferencedLibrary attribute added (reversing previous ReferenceIntoLibrary inverse relationship). -class IfcParse_EXPORT IfcLibraryReference : public IfcExternalReference { +class IFC_PARSE_API IfcLibraryReference : public IfcExternalReference { public: virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcExternalReference::getArgumentType(i); } @@ -8471,7 +8471,7 @@ public: /// For each pair of MainPlaneAngle and SecondaryPlaneAngle the LuminousIntensity is provided (the unit is given by the IfcUnitAssignment referring to the LuminousIntensityDistributionUnit, normally cd/klm). /// /// HISTORY: New entity in IFC2x2. -class IfcParse_EXPORT IfcLightDistributionData : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcLightDistributionData : public IfcUtil::IfcBaseEntity { public: /// The main plane angle (A, B or C angles, according to the light distribution curve chosen). double MainPlaneAngle() const; @@ -8499,7 +8499,7 @@ public: /// IfcLightIntensityDistribution defines the the luminous intensity of a light source that changes according to the direction of the ray. It is based on some standardized light distribution curves, which are defined by the LightDistributionCurve attribute. /// /// New entity in IFC2x2. -class IfcParse_EXPORT IfcLightIntensityDistribution : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcLightIntensityDistribution : public IfcUtil::IfcBaseEntity { public: /// Standardized light distribution curve used to define the luminous intensity of the light in all directions. IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum LightDistributionCurve() const; @@ -8520,7 +8520,7 @@ public: typedef IfcTemplatedEntityList< IfcLightIntensityDistribution > list; }; -class IfcParse_EXPORT IfcLocalTime : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcLocalTime : public IfcUtil::IfcBaseEntity { public: int HourComponent() const; void setHourComponent(int v); @@ -8579,7 +8579,7 @@ public: /// HISTORYÿNew entity in IFC2x4 /// /// IFC2x4 CHANGEÿ The attributes Description and Category have been added. -class IfcParse_EXPORT IfcMaterial : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMaterial : public IfcUtil::IfcBaseEntity { public: /// Name of the material. /// @@ -8607,7 +8607,7 @@ public: /// HISTORYÿ New entity in IFC2x. /// /// IFC2x4 CHANGEÿ The entity IfcMaterialClassificationRelationship is deprecated since IFC2x4 and shall no longer be used. Use IfcExternalReferenceRelationship instead. -class IfcParse_EXPORT IfcMaterialClassificationRelationship : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMaterialClassificationRelationship : public IfcUtil::IfcBaseEntity { public: /// The material classifications identifying the type of material. IfcEntityList::ptr MaterialClassifications() const; @@ -8650,7 +8650,7 @@ public: /// HISTORY  New entity in IFC 1.5 /// /// IFC2x4 CHANGE  The attributes Name, Description, Category, Priority have been added at the end of attribute list. Data type of LayerThickness relaxed to IfcNonNegativeLengthMeasure. -class IfcParse_EXPORT IfcMaterialLayer : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMaterialLayer : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Material is defined for this IfcMaterialLayer bool hasMaterial() const; @@ -8719,7 +8719,7 @@ public: /// placed on top of the previous (no gaps or overlaps). /// /// Figure 285 — Material layer set -class IfcParse_EXPORT IfcMaterialLayerSet : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMaterialLayerSet : public IfcUtil::IfcBaseEntity { public: /// Identification of the layers from which the material layer set is composed. IfcTemplatedEntityList< IfcMaterialLayer >::ptr MaterialLayers() const; @@ -8841,7 +8841,7 @@ public: /// geometry. /// /// Figure 288 — Material layer set usage for roof slab -class IfcParse_EXPORT IfcMaterialLayerSetUsage : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMaterialLayerSetUsage : public IfcUtil::IfcBaseEntity { public: /// The IfcMaterialLayerSet set to which the usage is applied. IfcMaterialLayerSet* ForLayerSet() const; @@ -8889,7 +8889,7 @@ public: /// /// IFC2x4 CHANGEÿ The entity IfcMaterialList is deprecated and shall no longer /// be used. Use IfcMaterialConstituentSet instead. -class IfcParse_EXPORT IfcMaterialList : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMaterialList : public IfcUtil::IfcBaseEntity { public: /// Materials used in a composition of substances. IfcTemplatedEntityList< IfcMaterial >::ptr Materials() const; @@ -8928,7 +8928,7 @@ public: /// HISTORY  New Entity in IFC 2x. /// /// IFC2x4 CHANGE  The subtypes that represented a fixed list of statically defined material properties, IfcMechanicalMaterialProperties, IfcThermalMaterialProperties, IfcHygroscopicMaterialProperties, IfcGeneralMaterialProperties, IfcOpticalMaterialProperties, IfcWaterProperties, IfcFuelProperties, IfcProductsOfCombustionProperties have been deleted, use the generic IfcExtendedMaterialProperties instead. -class IfcParse_EXPORT IfcMaterialProperties : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMaterialProperties : public IfcUtil::IfcBaseEntity { public: /// Reference to the material definition to which the set of properties is assigned. /// @@ -8957,7 +8957,7 @@ public: /// NOTE Corresponding ISO 10303 name: measure_with_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IfcParse_EXPORT IfcMeasureWithUnit : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMeasureWithUnit : public IfcUtil::IfcBaseEntity { public: /// The value of the physical quantity when expressed in the specified units. IfcValue* ValueComponent() const; @@ -8978,7 +8978,7 @@ public: typedef IfcTemplatedEntityList< IfcMeasureWithUnit > list; }; -class IfcParse_EXPORT IfcMechanicalMaterialProperties : public IfcMaterialProperties { +class IFC_PARSE_API IfcMechanicalMaterialProperties : public IfcMaterialProperties { public: /// Whether the optional attribute DynamicViscosity is defined for this IfcMechanicalMaterialProperties bool hasDynamicViscosity() const; @@ -9013,7 +9013,7 @@ public: typedef IfcTemplatedEntityList< IfcMechanicalMaterialProperties > list; }; -class IfcParse_EXPORT IfcMechanicalSteelMaterialProperties : public IfcMechanicalMaterialProperties { +class IFC_PARSE_API IfcMechanicalSteelMaterialProperties : public IfcMechanicalMaterialProperties { public: /// Whether the optional attribute YieldStress is defined for this IfcMechanicalSteelMaterialProperties bool hasYieldStress() const; @@ -9107,7 +9107,7 @@ public: /// HARD /// /// This constraint (instantiated as IfcMetric) uses a Date/Time value in IfcMetric.DataValue through IfcMetricValueSelect. An appropriate benchmark is applied according to the requirement of the constraint (as indicated) by IfcMetric.Benchmark. The grade of the constraint (hard, soft, advisory) must be specified through IfcConstraint.ConstraintGrade whilst the time at which the constraint is created may be optionally asserted through IfcConstraint.CreationTime. -class IfcParse_EXPORT IfcMetric : public IfcConstraint { +class IFC_PARSE_API IfcMetric : public IfcConstraint { public: /// Enumeration that identifies the type of benchmark data. IfcBenchmarkEnum::IfcBenchmarkEnum Benchmark() const; @@ -9137,7 +9137,7 @@ public: /// HISTORY: New entity in IFC Release 2x. /// /// IFC2x4 CHANGE: Type of the attribute Currency changed. -class IfcParse_EXPORT IfcMonetaryUnit : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMonetaryUnit : public IfcUtil::IfcBaseEntity { public: /// Code or name of the currency. Permissible values are the three-letter alphabetic currency codes as per ISO 4217, for example CNY, EUR, GBP, JPY, USD. IfcCurrencyEnum::IfcCurrencyEnum Currency() const; @@ -9159,7 +9159,7 @@ public: /// NOTE Corresponding ISO 10303 name: named_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IfcParse_EXPORT IfcNamedUnit : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcNamedUnit : public IfcUtil::IfcBaseEntity { public: /// The dimensional exponents of the SI base units by which the named unit is defined. IfcDimensionalExponents* Dimensions() const; @@ -9190,7 +9190,7 @@ public: /// In any case the object placement has to unambiguously define the object coordinate system as either two-dimensional axis placement (IfcAxis2Placement2D) or three-dimensional axis placement (IfcAxis2Placement3D). The axis placement may have to be calculated. /// /// HISTORY New entity in IFC Release 2x. -class IfcParse_EXPORT IfcObjectPlacement : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcObjectPlacement : public IfcUtil::IfcBaseEntity { public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } @@ -9215,7 +9215,7 @@ public: /// IfcObjective is a subtype of IfcConstraint and may be associated with any subtype of IfcRoot through the IfcRelAssociatesConstraint relationship in the IfcControlExtension schema, or may be associated with IfcProperty by IfcPropertyConstraintRelationship. /// /// The aim of IfcObjective is to specify the purpose for which the constraint is applied and to capture the values of the constraint. These may be both the benchmark values that are intended to indicate the constraint extent and the resulting values in use that enable performance comparisons to be applied. -class IfcParse_EXPORT IfcObjective : public IfcConstraint { +class IFC_PARSE_API IfcObjective : public IfcConstraint { public: /// Whether the optional attribute BenchmarkValues is defined for this IfcObjective bool hasBenchmarkValues() const; @@ -9248,7 +9248,7 @@ public: typedef IfcTemplatedEntityList< IfcObjective > list; }; -class IfcParse_EXPORT IfcOpticalMaterialProperties : public IfcMaterialProperties { +class IFC_PARSE_API IfcOpticalMaterialProperties : public IfcMaterialProperties { public: /// Whether the optional attribute VisibleTransmittance is defined for this IfcOpticalMaterialProperties bool hasVisibleTransmittance() const; @@ -9306,7 +9306,7 @@ public: /// /// HISTORY New entity in IFC Release 1.5.1. /// IFC 2x4 change: attribute Id renamed to Identification. -class IfcParse_EXPORT IfcOrganization : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcOrganization : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Id is defined for this IfcOrganization bool hasId() const; @@ -9352,7 +9352,7 @@ public: /// /// HISTORY New entity in IFC Release 2x. /// IFC 2x4 change: attribute Name made optional. -class IfcParse_EXPORT IfcOrganizationRelationship : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcOrganizationRelationship : public IfcUtil::IfcBaseEntity { public: /// The word or group of words by which the relationship is referred to. std::string Name() const; @@ -9390,7 +9390,7 @@ public: /// /// If LastModifiedDate is defined but ChangeAction is not asserted, then the state of ChangeAction is assumed to be UNDEFINED. /// If both LastModifiedDate and ChangeAction are asserted, then the state of ChangeAction applies to the value asserted in LastModifiedDate. -class IfcParse_EXPORT IfcOwnerHistory : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcOwnerHistory : public IfcUtil::IfcBaseEntity { public: /// Direct reference to the end user who currently "owns" this object. Note that IFC includes the concept of ownership transfer from one user to another and therefore distinguishes between the Owning User and Creating User. IfcPersonAndOrganization* OwningUser() const; @@ -9445,7 +9445,7 @@ public: /// /// HISTORY New entity in IFC Release 1.5.1. /// IFC 2x4 change: attribute Id renamed to Identification. WHERE rule relaxed to allow omission of names if Identification is provided. -class IfcParse_EXPORT IfcPerson : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPerson : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Id is defined for this IfcPerson bool hasId() const; @@ -9510,7 +9510,7 @@ public: /// NOTE Corresponds to the following entity in ISO-10303-41: person_and_organization. /// /// HISTORY New entity in IFC Release 1.5.1 -class IfcParse_EXPORT IfcPersonAndOrganization : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPersonAndOrganization : public IfcUtil::IfcBaseEntity { public: /// The person who is related to the organization. IfcPerson* ThePerson() const; @@ -9540,7 +9540,7 @@ public: /// The Name attribute defines the actual usage or kind of measure. The interpretation of the name label has to be established within the actual exchange context. In addition an informative text may be associated to each quantity by the Description attribute. /// /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IfcParse_EXPORT IfcPhysicalQuantity : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPhysicalQuantity : public IfcUtil::IfcBaseEntity { public: /// Name of the element quantity or measure. The name attribute has to be made recognizable by further agreements. std::string Name() const; @@ -9572,7 +9572,7 @@ public: /// HISTORY New entity in IFC2x2 Addendum 1. /// /// IFC2x2 ADDENDUM 1 CHANGE  The abstract entity IfcPhysicalSimpleQuantity has been added. Upward compatibility for file based exchange is guaranteed. -class IfcParse_EXPORT IfcPhysicalSimpleQuantity : public IfcPhysicalQuantity { +class IFC_PARSE_API IfcPhysicalSimpleQuantity : public IfcPhysicalQuantity { public: /// Whether the optional attribute Unit is defined for this IfcPhysicalSimpleQuantity bool hasUnit() const; @@ -9594,7 +9594,7 @@ public: /// Definition: The address for delivery of paper based mail. /// /// HISTORY New entity in IFC Release 2x. -class IfcParse_EXPORT IfcPostalAddress : public IfcAddress { +class IFC_PARSE_API IfcPostalAddress : public IfcAddress { public: /// Whether the optional attribute InternalLocation is defined for this IfcPostalAddress bool hasInternalLocation() const; @@ -9656,7 +9656,7 @@ public: /// NOTE  Corresponding ISO 10303 name: pre_defined_item. Please refer to ISO/IS 10303-41:1994, page 137 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IfcParse_EXPORT IfcPreDefinedItem : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPreDefinedItem : public IfcUtil::IfcBaseEntity { public: /// The string by which the pre defined item is identified. Allowable values for the string are declared at the level of subtypes. std::string Name() const; @@ -9680,7 +9680,7 @@ public: /// NOTE Corresponding ISO 10303 name: pre_defined_symbol. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IfcParse_EXPORT IfcPreDefinedSymbol : public IfcPreDefinedItem { +class IFC_PARSE_API IfcPreDefinedSymbol : public IfcPreDefinedItem { public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcPreDefinedItem::getArgumentType(i); } @@ -9695,7 +9695,7 @@ public: typedef IfcTemplatedEntityList< IfcPreDefinedSymbol > list; }; -class IfcParse_EXPORT IfcPreDefinedTerminatorSymbol : public IfcPreDefinedSymbol { +class IFC_PARSE_API IfcPreDefinedTerminatorSymbol : public IfcPreDefinedSymbol { public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcPreDefinedSymbol::getArgumentType(i); } @@ -9720,7 +9720,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcTextStyleFontModel has been added as new subtype. -class IfcParse_EXPORT IfcPreDefinedTextFont : public IfcPreDefinedItem { +class IFC_PARSE_API IfcPreDefinedTextFont : public IfcPreDefinedItem { public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcPreDefinedItem::getArgumentType(i); } @@ -9749,7 +9749,7 @@ public: /// Figure 305 illustrates assignment of items by shape representation or representation item. The set of AssignedItems can either include a whole shape representation, or individual geometric representation items. If both, the IfcShapeRepresentation has a layer assignment, and an individual geometric representation item in the set of IfcShapeRepresentation.Items, then the layer assignment of the IfcGeometricRepresentationItem overides the layer assignment of the IfcShapeRepresentation. /// /// Figure 305 — Presentation layer assignment -class IfcParse_EXPORT IfcPresentationLayerAssignment : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPresentationLayerAssignment : public IfcUtil::IfcBaseEntity { public: /// Name of the layer. std::string Name() const; @@ -9792,7 +9792,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The attributes have been modified without upward compatibility. -class IfcParse_EXPORT IfcPresentationLayerWithStyle : public IfcPresentationLayerAssignment { +class IFC_PARSE_API IfcPresentationLayerWithStyle : public IfcPresentationLayerAssignment { public: /// A logical setting, TRUE indicates that the layer is set to 'On', FALSE that the layer is set to 'Off', UNKNOWN that such information is not available. bool LayerOn() const; @@ -9827,7 +9827,7 @@ public: /// Each subtype of  IfcPresentationStyle can be assigned to IfcGeometricRepresentationItem's via the IfcPresentationStyleAssignment through an intermediate IfcStyledItem or one of its subtypes. /// /// HISTORY  New entity in IFC2x3. -class IfcParse_EXPORT IfcPresentationStyle : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPresentationStyle : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcPresentationStyle bool hasName() const; @@ -9851,7 +9851,7 @@ public: /// NOTE Corresponding ISO 10303 name: presentation_style_assignment. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in Release IFC2x2. -class IfcParse_EXPORT IfcPresentationStyleAssignment : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPresentationStyleAssignment : public IfcUtil::IfcBaseEntity { public: /// A set of presentation styles that are assigned to styled items. IfcEntityList::ptr Styles() const; @@ -9885,7 +9885,7 @@ public: /// IFC2x3 NOTE ÿUsers should not instantiate the entity from IFC2x Edition 3 onwards. /// /// IFC2x4 CHANGE  Entity made abstract. -class IfcParse_EXPORT IfcProductRepresentation : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcProductRepresentation : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcProductRepresentation bool hasName() const; @@ -9913,7 +9913,7 @@ public: typedef IfcTemplatedEntityList< IfcProductRepresentation > list; }; -class IfcParse_EXPORT IfcProductsOfCombustionProperties : public IfcMaterialProperties { +class IFC_PARSE_API IfcProductsOfCombustionProperties : public IfcMaterialProperties { public: /// Whether the optional attribute SpecificHeatCapacity is defined for this IfcProductsOfCombustionProperties bool hasSpecificHeatCapacity() const; @@ -10113,7 +10113,7 @@ public: /// possible to directly instantiate IfcProfileDef and further specify /// the profile only by external reference or by profile properties. The latter /// are tracked by the inverse attribute HasProperties. -class IfcParse_EXPORT IfcProfileDef : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcProfileDef : public IfcUtil::IfcBaseEntity { public: /// Defines the type of geometry into which this profile definition shall be resolved, either a curve or a surface area. In case of curve the profile should be referenced by a swept surface, in case of area the profile should be referenced by a swept area solid. IfcProfileTypeEnum::IfcProfileTypeEnum ProfileType() const; @@ -10146,7 +10146,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x4 CHANGE  Entity made non-abstract. Subtypes IfcGeneralProfileProperties, IfcStructuralProfileProperties, and IfcStructuralSteelProfileProperties deleted. Attribute ProfileName deleted, use ProfileDefinition.ProfileName instead. Attribute ProfileDefinition made mandatory. Attributes Name, Description, and HasProperties added. -class IfcParse_EXPORT IfcProfileProperties : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcProfileProperties : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute ProfileName is defined for this IfcProfileProperties bool hasProfileName() const; @@ -10172,7 +10172,7 @@ public: /// IfcProperty is an abstract generalization for all types of properties that can be associated with IFC objects through the property set mechanism. /// /// HISTORY  New entity in IFC Release 1.0. -class IfcParse_EXPORT IfcProperty : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcProperty : public IfcUtil::IfcBaseEntity { public: /// Name for this property. This label is the significant name string that defines the semantic meaning for the property. std::string Name() const; @@ -10198,7 +10198,7 @@ public: typedef IfcTemplatedEntityList< IfcProperty > list; }; -class IfcParse_EXPORT IfcPropertyConstraintRelationship : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPropertyConstraintRelationship : public IfcUtil::IfcBaseEntity { public: IfcConstraint* RelatingConstraint() const; void setRelatingConstraint(IfcConstraint* v); @@ -10232,7 +10232,7 @@ public: /// /// Use Definition /// Whilst the IfcPropertyDependencyRelationship may be used to describe the dependency, and it may do so in terms of the expression of how the dependency operates, it is not possible through the current IFC model for the value of the related property to be actually derived from the value of the relating property. The determination of value according to the dependency is required to be performed by an application that can then use the Expression attribute to flag the form of the dependency. -class IfcParse_EXPORT IfcPropertyDependencyRelationship : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPropertyDependencyRelationship : public IfcUtil::IfcBaseEntity { public: /// The property on which the relationship depends. IfcProperty* DependingProperty() const; @@ -10311,7 +10311,7 @@ public: ///   /// /// HISTORY  New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. Entity has been renamed from IfcEnumeration in IFC Release 2x. -class IfcParse_EXPORT IfcPropertyEnumeration : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPropertyEnumeration : public IfcUtil::IfcBaseEntity { public: /// Name of this enumeration. std::string Name() const; @@ -10341,7 +10341,7 @@ public: /// EXAMPLE  An opening may have an opening area used to deduct it from the wall surface area. The actual size of the area depends on the method of measurement used. /// /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IfcParse_EXPORT IfcQuantityArea : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityArea : public IfcPhysicalSimpleQuantity { public: /// Area measure value of this quantity. double AreaValue() const; @@ -10363,7 +10363,7 @@ public: /// EXAMPLE  An radiator may be measured according to its number of coils. The actual counting method depends on the method of measurement used. /// /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IfcParse_EXPORT IfcQuantityCount : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityCount : public IfcPhysicalSimpleQuantity { public: /// Count measure value of this quantity. double CountValue() const; @@ -10385,7 +10385,7 @@ public: /// EXAMPLE  A rafter within a roof construction may be measured according to its length (taking a common cross section into account). The actual size of the length depends on the method of measurement used. /// /// HISTORY  New entity in IFC Release 2.x. It replaces the calcXxx attributes used in previous IFC Releases. -class IfcParse_EXPORT IfcQuantityLength : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityLength : public IfcPhysicalSimpleQuantity { public: /// Length measure value of this quantity. double LengthValue() const; @@ -10407,7 +10407,7 @@ public: /// EXAMPLE  The amount of time needed to pour concrete for a wall is given as a time quantity for the labor part of the recipe information. /// /// HISTORY  New entity in IFC2x2. -class IfcParse_EXPORT IfcQuantityTime : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityTime : public IfcPhysicalSimpleQuantity { public: /// Time measure value of this quantity. double TimeValue() const; @@ -10429,7 +10429,7 @@ public: /// EXAMPLE  A thick brick wall may be measured according to its volume. The actual size of the volume depends on the method of measurement used. /// /// HISTORY New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IfcParse_EXPORT IfcQuantityVolume : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityVolume : public IfcPhysicalSimpleQuantity { public: /// Volume measure value of this quantity. double VolumeValue() const; @@ -10451,7 +10451,7 @@ public: /// EXAMPLE  The amount of reinforcement used within a building element may be measured according to its weight. The actual size of the weight depends on the method of measurement used. /// /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IfcParse_EXPORT IfcQuantityWeight : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityWeight : public IfcPhysicalSimpleQuantity { public: /// Mass measure value of this quantity. double WeightValue() const; @@ -10469,7 +10469,7 @@ public: typedef IfcTemplatedEntityList< IfcQuantityWeight > list; }; -class IfcParse_EXPORT IfcReferencesValueDocument : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcReferencesValueDocument : public IfcUtil::IfcBaseEntity { public: IfcDocumentSelect* ReferencedDocument() const; void setReferencedDocument(IfcDocumentSelect* v); @@ -10500,7 +10500,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// The total cross section area for the specific steel grade is always provided. Additionally also general reinforcing bar configurations as a count of bars may be provided as defined in attribute BarCount. In this case the nominal bar diameter should be identical for all given bars as defined in attribute NominalBarDiameter. -class IfcParse_EXPORT IfcReinforcementBarProperties : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcReinforcementBarProperties : public IfcUtil::IfcBaseEntity { public: /// The total effective cross-section area of the reinforcement of a specific steel grade. double TotalCrossSectionArea() const; @@ -10541,7 +10541,7 @@ public: typedef IfcTemplatedEntityList< IfcReinforcementBarProperties > list; }; -class IfcParse_EXPORT IfcRelaxation : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRelaxation : public IfcUtil::IfcBaseEntity { public: double RelaxationValue() const; void setRelaxationValue(double v); @@ -10605,7 +10605,7 @@ public: /// IFC2x4 CHANGE  Entity /// IfcRepresentation has been changed into an ABSTRACT /// supertype. -class IfcParse_EXPORT IfcRepresentation : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRepresentation : public IfcUtil::IfcBaseEntity { public: /// Definition of the representation context for which the different subtypes of representation are valid. IfcRepresentationContext* ContextOfItems() const; @@ -10649,7 +10649,7 @@ public: /// /// IFC2x4 CHANGE Entity made abstract, had been deprecated from instantiation since /// IFC2x2. -class IfcParse_EXPORT IfcRepresentationContext : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRepresentationContext : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute ContextIdentifier is defined for this IfcRepresentationContext bool hasContextIdentifier() const; @@ -10706,7 +10706,7 @@ public: /// HISTORY  New entity in IFC Release 2x. /// /// IFC2x3 CHANGE  The inverse attributes StyledByItem and LayerAssignments have been added. Upward compatibility for file based exchange is guaranteed. -class IfcParse_EXPORT IfcRepresentationItem : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRepresentationItem : public IfcUtil::IfcBaseEntity { public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } @@ -10733,7 +10733,7 @@ public: /// NOTE  The definition of a mapping which is used to specify a new representation item comprises a representation map and a mapped item entity. Without both entities, the mapping is not fully defined. Two entities are specified to allow the same source representation to be mapped into multiple new representations. /// /// HISTORY  New entity in IFC Release 2x. -class IfcParse_EXPORT IfcRepresentationMap : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRepresentationMap : public IfcUtil::IfcBaseEntity { public: /// An axis2 placement that defines the position about which the mapped /// representation is mapped. @@ -10756,7 +10756,7 @@ public: typedef IfcTemplatedEntityList< IfcRepresentationMap > list; }; -class IfcParse_EXPORT IfcRibPlateProfileProperties : public IfcProfileProperties { +class IFC_PARSE_API IfcRibPlateProfileProperties : public IfcProfileProperties { public: /// Whether the optional attribute Thickness is defined for this IfcRibPlateProfileProperties bool hasThickness() const; @@ -10797,7 +10797,7 @@ public: /// HISTORY New entity in IFC Release 1.0 /// /// IFC2x4 CHANGE The attribute OwnerHistory has been made OPTIONAL. -class IfcParse_EXPORT IfcRoot : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRoot : public IfcUtil::IfcBaseEntity { public: /// Assignment of a globally unique identifier within the entire software world. std::string GlobalId() const; @@ -10838,7 +10838,7 @@ public: /// NOTE Corresponding ISO 10303 name: si_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IfcParse_EXPORT IfcSIUnit : public IfcNamedUnit { +class IFC_PARSE_API IfcSIUnit : public IfcNamedUnit { public: /// Whether the optional attribute Prefix is defined for this IfcSIUnit bool hasPrefix() const; @@ -10867,7 +10867,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// The section piece may be either uniform or tapered. In the latter case an end profile should also be provided. The start and end profiles are assumed to be of the same profile type. Generally only rectangular or circular cross section profiles are assumed to be used. -class IfcParse_EXPORT IfcSectionProperties : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcSectionProperties : public IfcUtil::IfcBaseEntity { public: /// An indicator whether a specific piece of a cross section is uniform or tapered in longitudinal direction. IfcSectionTypeEnum::IfcSectionTypeEnum SectionType() const; @@ -10899,7 +10899,7 @@ public: /// Several sets of cross section reinforcement properties represented by instances of IfcReinforcementProperties may be attached to the section reinforcement properties /// (IfcReinforcementDefinitionProperties of IfcStructuralElementsDomain schema), /// one for each combination of steel grades and reinforcement bar types and sizes. -class IfcParse_EXPORT IfcSectionReinforcementProperties : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcSectionReinforcementProperties : public IfcUtil::IfcBaseEntity { public: /// The start position in longitudinal direction for the section reinforcement properties. double LongitudinalStartPosition() const; @@ -10970,7 +10970,7 @@ public: /// IfcRepresentationMap's that are used by an /// IfcTypeProduct through the /// RepresentationMaps attribute. -class IfcParse_EXPORT IfcShapeAspect : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcShapeAspect : public IfcUtil::IfcBaseEntity { public: /// List of shape representations. Each member defines a valid representation of a particular type within a particular representation context as being an aspect (or part) of a product definition. /// IFC2x Edition 3 CHANGE  The data type has been changed from IfcShapeRepresentation to IfcShapeModel with upward compatibility @@ -11025,7 +11025,7 @@ public: /// shape (via IfcShapeAspect). /// /// HISTORY  New entity in IFC2x3. -class IfcParse_EXPORT IfcShapeModel : public IfcRepresentation { +class IFC_PARSE_API IfcShapeModel : public IfcRepresentation { public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcRepresentation::getArgumentType(i); } @@ -11175,7 +11175,7 @@ public: /// HISTORY  New entity in IFC Release 1.5. /// /// IFC2x4 CHANGE  The RepresentationType's 'Curve3D', 'Surface2D', 'Surface3D', 'AdvancedBrep', 'LightSource', and the RepresentationIdentifier 'Lighting' have been added. -class IfcParse_EXPORT IfcShapeRepresentation : public IfcShapeModel { +class IFC_PARSE_API IfcShapeRepresentation : public IfcShapeModel { public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcShapeModel::getArgumentType(i); } @@ -11192,7 +11192,7 @@ public: /// IfcSimpleProperty is a generalization of a single property object. The various subtypes of IfcSimpleProperty establish different ways in which a property value can be set. /// /// HISTORY  New Entity in IFC Release 1.0, definition changed in IFC Release 2x. -class IfcParse_EXPORT IfcSimpleProperty : public IfcProperty { +class IFC_PARSE_API IfcSimpleProperty : public IfcProperty { public: virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcProperty::getArgumentType(i); } @@ -11209,7 +11209,7 @@ public: /// Definition from IAI: Describe more rarely needed connection properties. /// /// HISTORY: New entity in IFC 2x2. -class IfcParse_EXPORT IfcStructuralConnectionCondition : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcStructuralConnectionCondition : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcStructuralConnectionCondition bool hasName() const; @@ -11231,7 +11231,7 @@ public: /// Definition from IAI: The abstract entity IfcStructuralLoadOrResult is the supertype of all loads (actions or reactions) or of certain requirements resulting from structural analysis, or certain provisions which influence structural analysis. /// /// HISTORY: New entity in IFC 2x2. -class IfcParse_EXPORT IfcStructuralLoad : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcStructuralLoad : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcStructuralLoad bool hasName() const; @@ -11253,7 +11253,7 @@ public: /// Definition from IAI: The abstract entity IfcStructuralLoadStatic is the supertype of all static loads (actions or reactions) which can be defined. Within scope are single i.e. concentrated forces and moments, linear i.e. one-dimensionally distributed forces and moments, planar i.e. two-dimensionally distributed forces, furthermore displacements and temperature loads. /// /// HISTORY: New entity in IFC 2x2. -class IfcParse_EXPORT IfcStructuralLoadStatic : public IfcStructuralLoad { +class IFC_PARSE_API IfcStructuralLoadStatic : public IfcStructuralLoad { public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcStructuralLoad::getArgumentType(i); } @@ -11272,7 +11272,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// Figure 332 — Structural load temperature -class IfcParse_EXPORT IfcStructuralLoadTemperature : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadTemperature : public IfcStructuralLoadStatic { public: /// Whether the optional attribute DeltaT_Constant is defined for this IfcStructuralLoadTemperature bool hasDeltaT_Constant() const; @@ -11303,7 +11303,7 @@ public: /// IfcStyleModel can be a style representation (presentation style) of a material (via IfcMaterialDefinitionRepresentation), potentially differentiated for different representation contexts (for example, different material hatching depending on the scale of the target representation context). /// /// HISTORY  New entity in IFC2x3. -class IfcParse_EXPORT IfcStyleModel : public IfcRepresentation { +class IFC_PARSE_API IfcStyleModel : public IfcRepresentation { public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcRepresentation::getArgumentType(i); } @@ -11345,7 +11345,7 @@ public: /// NOTE  The new IfcStyleAssignmentSelect allows the direct assignment styles, such as IfcCurveStyle, IfcSurfaceStyle without using the intermediate IfcPresentationStyleAssignment /// /// Figure 293 — Styled item -class IfcParse_EXPORT IfcStyledItem : public IfcRepresentationItem { +class IFC_PARSE_API IfcStyledItem : public IfcRepresentationItem { public: /// Whether the optional attribute Item is defined for this IfcStyledItem bool hasItem() const; @@ -11386,7 +11386,7 @@ public: /// A styled representation has to include one or several styled items with the associated style information (curve, symbol, text, fill area, or surface styles). It shall not contain the geometric representation items that are styled. /// /// HISTORY  New entity in IFC2x2. -class IfcParse_EXPORT IfcStyledRepresentation : public IfcStyleModel { +class IFC_PARSE_API IfcStyledRepresentation : public IfcStyleModel { public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcStyleModel::getArgumentType(i); } @@ -11407,7 +11407,7 @@ public: /// NOTE Corresponding ISO 10303 entity: surface_style_usage and surface_side_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. The surface style definition in regard to support of rendering has been greatly expanded beyond the scope of ISO/IS 10303-46. /// /// HISTORY New Entity in IFC 2.x. -class IfcParse_EXPORT IfcSurfaceStyle : public IfcPresentationStyle { +class IFC_PARSE_API IfcSurfaceStyle : public IfcPresentationStyle { public: /// An indication of which side of the surface to apply the style. IfcSurfaceSide::IfcSurfaceSide Side() const; @@ -11438,7 +11438,7 @@ public: /// EXAMPLE  A green glass transmits only green light, so its transmission factor is 0.0 for red, between 0.0 and 1.0 for green and 0.0 for blue. A green surface reflects only green light, so the reflectance factor is 0.0 for red, between 0.0 and 1.0 for green and 0.0 for blue. /// /// HISTORY  New entity in IFC 2x2. -class IfcParse_EXPORT IfcSurfaceStyleLighting : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcSurfaceStyleLighting : public IfcUtil::IfcBaseEntity { public: /// The degree of diffusion of the transmitted light. In the case of completely transparent materials there is no diffusion. The greater the diffusing power, the smaller the direct component of the transmitted light, up to the point where only diffuse light is produced.A value of 1 means totally diffuse for that colour part of the light. /// The factor can be measured physically and has three ratios for the red, green and blue part of the light. @@ -11473,7 +11473,7 @@ public: /// NOTE: If such refraction properties are used, the IfcSurfaceStyle should include within its set of Styles (depending on whether rendering or lighting is used) an instance of IfcSurfaceStyleLighting and IfcSurfaceStyleRefraction, or an instance of IfcSurfaceStyleRendering and IfcSurfaceStyleRefraction. /// /// HISTORY: New entity in IFC 2x2. -class IfcParse_EXPORT IfcSurfaceStyleRefraction : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcSurfaceStyleRefraction : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute RefractionIndex is defined for this IfcSurfaceStyleRefraction bool hasRefractionIndex() const; @@ -11504,7 +11504,7 @@ public: /// NOTE Corresponding ISO 10303 entity: surface_style_rendering. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. No rendering method is defined for each surface style (such as constant, colour, dot or normal shading), therefore the attribute rendering_method has been omitted. /// /// HISTORY: New entity in IFC 2x. -class IfcParse_EXPORT IfcSurfaceStyleShading : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcSurfaceStyleShading : public IfcUtil::IfcBaseEntity { public: /// The colour used to render the surface. The surface colour for visualisation is defined by specifying the intensity of red, green and blue. IfcColourRgb* SurfaceColour() const; @@ -11539,7 +11539,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  inverse attribute HasTextureCoordinates deleted. -class IfcParse_EXPORT IfcSurfaceStyleWithTextures : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcSurfaceStyleWithTextures : public IfcUtil::IfcBaseEntity { public: /// The textures applied to the surface. In case of more than one surface texture is included, the IfcSurfaceStyleWithTexture defines a multi texture. IfcTemplatedEntityList< IfcSurfaceTexture >::ptr Textures() const; @@ -11648,7 +11648,7 @@ public: /// HISTORY  New entity in IFC 2x2. /// /// IFC2x4 CHANGE  Attribute TextureType replaces by Mode, attributes Parameter and MapsTo aded, new inverse attribute UsedInStyle. -class IfcParse_EXPORT IfcSurfaceTexture : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcSurfaceTexture : public IfcUtil::IfcBaseEntity { public: /// The RepeatS field specifies how the texture wraps in the S direction. If RepeatS is TRUE (the default), the texture map is repeated outside the [0.0, 1.0] texture coordinate range in the S direction so that it fills the shape. If RepeatS is FALSE, the texture coordinates are clamped in the S direction to lie within the [0.0, 1.0] range. bool RepeatS() const; @@ -11682,7 +11682,7 @@ public: /// NOTE: Corresponding ISO 10303 name: symbol_style. Please refer to ISO/IS 10303-46:1994, p. 124 for the final definition of the formal standard. /// /// HISTORY: New entity in Release IFC2x2. -class IfcParse_EXPORT IfcSymbolStyle : public IfcPresentationStyle { +class IFC_PARSE_API IfcSymbolStyle : public IfcPresentationStyle { public: /// The style applied to the symbol for its visual appearance. IfcSymbolStyleSelect* StyleOfSymbol() const; @@ -11714,7 +11714,7 @@ public: /// HISTORY  New entity in IFC R1.5. /// /// IFC2x4 CHANGE  Columns attribute added. -class IfcParse_EXPORT IfcTable : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTable : public IfcUtil::IfcBaseEntity { public: /// A unique name which is intended to describe the usage of the Table. std::string Name() const; @@ -11747,7 +11747,7 @@ public: /// Figure 338 — Table row use alternative /// /// HISTORY  New entity in IFC R1.5. -class IfcParse_EXPORT IfcTableRow : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTableRow : public IfcUtil::IfcBaseEntity { public: /// The data value of the table cell.. IfcEntityList::ptr RowCells() const; @@ -11774,7 +11774,7 @@ public: /// /// IFC 2x4 change: Added attribute MessagingIDs. /// Type of attribute WWWHomePageURL compatibly changed from IfcLabel to IfcURIReference. -class IfcParse_EXPORT IfcTelecomAddress : public IfcAddress { +class IFC_PARSE_API IfcTelecomAddress : public IfcAddress { public: /// Whether the optional attribute TelephoneNumbers is defined for this IfcTelecomAddress bool hasTelephoneNumbers() const; @@ -11844,7 +11844,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcTextStyle has been changed by adding TextFontStyle and different data types for TextStyle and IfcCharacterStyleSelect. -class IfcParse_EXPORT IfcTextStyle : public IfcPresentationStyle { +class IFC_PARSE_API IfcTextStyle : public IfcPresentationStyle { public: /// Whether the optional attribute TextCharacterAppearance is defined for this IfcTextStyle bool hasTextCharacterAppearance() const; @@ -11942,7 +11942,7 @@ public: /// NOTE  Corresponding CSS1 definitions are Font properties ('font-family', 'font-style', 'font-variant',  'font-weight'). /// /// HISTORY  New entity in IFC2x3. -class IfcParse_EXPORT IfcTextStyleFontModel : public IfcPreDefinedTextFont { +class IFC_PARSE_API IfcTextStyleFontModel : public IfcPreDefinedTextFont { public: /// Whether the optional attribute FontFamily is defined for this IfcTextStyleFontModel bool hasFontFamily() const; @@ -11999,7 +11999,7 @@ public: /// HISTORY  New entity in IFC2x3. /// /// IFC2x3 CHANGE  The IfcTextStyleForDefinedFont has been added and replaces IfcColour at the IfcCharacterStyleSelect. -class IfcParse_EXPORT IfcTextStyleForDefinedFont : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTextStyleForDefinedFont : public IfcUtil::IfcBaseEntity { public: /// This property describes the text color of an element (often referred to as the foreground color). IfcColour* Colour() const; @@ -12028,7 +12028,7 @@ public: /// NOTE  Corresponding CSS1 definitions are Text properties (word-spacing, letter-spacing, text-decoration, vertical-align, text-transform, text-align, text-indent, line-height). /// /// HISTORY  New entity in IFC2x3. -class IfcParse_EXPORT IfcTextStyleTextModel : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTextStyleTextModel : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute TextIndent is defined for this IfcTextStyleTextModel bool hasTextIndent() const; @@ -12101,7 +12101,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The attribute item CharacterSpacing has been added. -class IfcParse_EXPORT IfcTextStyleWithBoxCharacteristics : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTextStyleWithBoxCharacteristics : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute BoxHeight is defined for this IfcTextStyleWithBoxCharacteristics bool hasBoxHeight() const; @@ -12151,7 +12151,7 @@ public: /// IFC2x3 CHANGE  The attribute Texture is deleted. /// /// IFC2x4 CHANGE  The inverse attribute AnnotatedSurface is deleted, and the inverse AppliesTextures is added. -class IfcParse_EXPORT IfcTextureCoordinate : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTextureCoordinate : public IfcUtil::IfcBaseEntity { public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } @@ -12192,7 +12192,7 @@ public: /// HISTORY New entity in IFC2x2. /// /// IFC2x2 Addendum 2 CHANGE  The attribute Texturehas been deleted. -class IfcParse_EXPORT IfcTextureCoordinateGenerator : public IfcTextureCoordinate { +class IFC_PARSE_API IfcTextureCoordinateGenerator : public IfcTextureCoordinate { public: /// The Mode attribute describes the algorithm used to compute texture coordinates. /// @@ -12267,7 +12267,7 @@ public: /// Informal propositions: /// /// The FaceBound referenced in AppliedTo shall be used by the vertex based geometry, to which this texture map is assigned to by through the IfcStyledItem. -class IfcParse_EXPORT IfcTextureMap : public IfcTextureCoordinate { +class IFC_PARSE_API IfcTextureMap : public IfcTextureCoordinate { public: IfcTemplatedEntityList< IfcVertexBasedTextureMap >::ptr TextureMaps() const; void setTextureMaps(IfcTemplatedEntityList< IfcVertexBasedTextureMap >::ptr v); @@ -12310,7 +12310,7 @@ public: /// Texture coordinates may be transformed (scaled, rotated, translated) by supplying a TextureTransform as a component of the texture's definition. /// /// HISTORY: New entity in IFC 2x2. -class IfcParse_EXPORT IfcTextureVertex : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTextureVertex : public IfcUtil::IfcBaseEntity { public: /// The first coordinate[1] is the S, the second coordinate[2] is the T parameter value. std::vector< double > /*[2:2]*/ Coordinates() const; @@ -12328,7 +12328,7 @@ public: typedef IfcTemplatedEntityList< IfcTextureVertex > list; }; -class IfcParse_EXPORT IfcThermalMaterialProperties : public IfcMaterialProperties { +class IFC_PARSE_API IfcThermalMaterialProperties : public IfcMaterialProperties { public: /// Whether the optional attribute SpecificHeatCapacity is defined for this IfcThermalMaterialProperties bool hasSpecificHeatCapacity() const; @@ -12363,7 +12363,7 @@ public: /// The modeling of buildings and their performance involves data that are generated and recorded over a period of time. Such data cover a large spectrum, from weather data to schedules of all kinds to status measurements to reporting to everything else that has a time related aspect. Their correct placement in time is essential for their proper understanding and use, and the IfcTimeSeries subtypes provide the appropriate data structures to accommodate these types of data. /// /// HISTORY: New entity in IFC 2x2. -class IfcParse_EXPORT IfcTimeSeries : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTimeSeries : public IfcUtil::IfcBaseEntity { public: /// An unique name for the time series. std::string Name() const; @@ -12409,7 +12409,7 @@ public: typedef IfcTemplatedEntityList< IfcTimeSeries > list; }; -class IfcParse_EXPORT IfcTimeSeriesReferenceRelationship : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTimeSeriesReferenceRelationship : public IfcUtil::IfcBaseEntity { public: IfcTimeSeries* ReferencedTimeSeries() const; void setReferencedTimeSeries(IfcTimeSeries* v); @@ -12436,7 +12436,7 @@ public: /// Figure 241 — Time series value /// /// HISTORY  New entity in IFC2x2. -class IfcParse_EXPORT IfcTimeSeriesValue : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTimeSeriesValue : public IfcUtil::IfcBaseEntity { public: /// A list of time-series values. At least one value is required. IfcEntityList::ptr ListValues() const; @@ -12458,7 +12458,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: topological_representation_item. Please refer to ISO/IS 10303-42:1994, p.129 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5 -class IfcParse_EXPORT IfcTopologicalRepresentationItem : public IfcRepresentationItem { +class IFC_PARSE_API IfcTopologicalRepresentationItem : public IfcRepresentationItem { public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcRepresentationItem::getArgumentType(i); } @@ -12506,7 +12506,7 @@ public: /// given as a string value at the inherited attribute 'RepresentationType'. /// /// HISTORY: New entity in IFC 2x2. -class IfcParse_EXPORT IfcTopologyRepresentation : public IfcShapeModel { +class IFC_PARSE_API IfcTopologyRepresentation : public IfcShapeModel { public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcShapeModel::getArgumentType(i); } @@ -12525,7 +12525,7 @@ public: /// NOTE  A project (IfcProject) has a unit assignment which establishes a set of units which will be used globally within the project, if not otherwise defined. Other objects may have local unit assignments if there is a requirement for them to make use of units which do not fall within the project unit assignment. /// /// HISTORY  New entity in IFC Release 1.5.1. -class IfcParse_EXPORT IfcUnitAssignment : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcUnitAssignment : public IfcUtil::IfcBaseEntity { public: /// Units to be included within a unit assignment. IfcEntityList::ptr Units() const; @@ -12552,7 +12552,7 @@ public: /// /// The vertex has dimensionality 0. This is a fundamental property of the vertex. /// The extent of a vertex is defined to be zero. -class IfcParse_EXPORT IfcVertex : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcVertex : public IfcTopologicalRepresentationItem { public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcTopologicalRepresentationItem::getArgumentType(i); } @@ -12567,7 +12567,7 @@ public: typedef IfcTemplatedEntityList< IfcVertex > list; }; -class IfcParse_EXPORT IfcVertexBasedTextureMap : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcVertexBasedTextureMap : public IfcUtil::IfcBaseEntity { public: IfcTemplatedEntityList< IfcTextureVertex >::ptr TextureVertices() const; void setTextureVertices(IfcTemplatedEntityList< IfcTextureVertex >::ptr v); @@ -12594,7 +12594,7 @@ public: /// Informal proposition: /// /// The domain of the vertex is formally defined to be the domain of its vertex point. -class IfcParse_EXPORT IfcVertexPoint : public IfcVertex { +class IFC_PARSE_API IfcVertexPoint : public IfcVertex { public: /// The geometric point, which defines the position in geometric space of the vertex. IfcPoint* VertexGeometry() const; @@ -12670,7 +12670,7 @@ public: /// OffsetDistances[1] is a negative length measure /// /// Figure 248 — Virtual grid intersection negative offset -class IfcParse_EXPORT IfcVirtualGridIntersection : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcVirtualGridIntersection : public IfcUtil::IfcBaseEntity { public: /// Two grid axes which intersects at exactly one intersection (see also informal proposition at IfcGrid). If attribute OffsetDistances is omitted, the intersection defines the placement or ref direction of a grid placement directly. If OffsetDistances are given, the intersection is defined by the offset curves to the grid axes. IfcTemplatedEntityList< IfcGridAxis >::ptr IntersectingAxes() const; @@ -12691,7 +12691,7 @@ public: typedef IfcTemplatedEntityList< IfcVirtualGridIntersection > list; }; -class IfcParse_EXPORT IfcWaterProperties : public IfcMaterialProperties { +class IFC_PARSE_API IfcWaterProperties : public IfcMaterialProperties { public: /// Whether the optional attribute IsPotable is defined for this IfcWaterProperties bool hasIsPotable() const; @@ -12734,7 +12734,7 @@ public: typedef IfcTemplatedEntityList< IfcWaterProperties > list; }; -class IfcParse_EXPORT IfcAnnotationOccurrence : public IfcStyledItem { +class IFC_PARSE_API IfcAnnotationOccurrence : public IfcStyledItem { public: virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcStyledItem::getArgumentType(i); } @@ -12749,7 +12749,7 @@ public: typedef IfcTemplatedEntityList< IfcAnnotationOccurrence > list; }; -class IfcParse_EXPORT IfcAnnotationSurfaceOccurrence : public IfcAnnotationOccurrence { +class IFC_PARSE_API IfcAnnotationSurfaceOccurrence : public IfcAnnotationOccurrence { public: virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcAnnotationOccurrence::getArgumentType(i); } @@ -12764,7 +12764,7 @@ public: typedef IfcTemplatedEntityList< IfcAnnotationSurfaceOccurrence > list; }; -class IfcParse_EXPORT IfcAnnotationSymbolOccurrence : public IfcAnnotationOccurrence { +class IFC_PARSE_API IfcAnnotationSymbolOccurrence : public IfcAnnotationOccurrence { public: virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcAnnotationOccurrence::getArgumentType(i); } @@ -12779,7 +12779,7 @@ public: typedef IfcTemplatedEntityList< IfcAnnotationSymbolOccurrence > list; }; -class IfcParse_EXPORT IfcAnnotationTextOccurrence : public IfcAnnotationOccurrence { +class IFC_PARSE_API IfcAnnotationTextOccurrence : public IfcAnnotationOccurrence { public: virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcAnnotationOccurrence::getArgumentType(i); } @@ -12811,7 +12811,7 @@ public: /// attribute defines a two dimensional closed bounded curve. /// /// Figure 307 — Arbitrary closed profile -class IfcParse_EXPORT IfcArbitraryClosedProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcArbitraryClosedProfileDef : public IfcProfileDef { public: /// Bounded curve, defining the outer boundaries of the arbitrary profile. IfcCurve* OuterCurve() const; @@ -12843,7 +12843,7 @@ public: /// The Curve attribute defines a two dimensional open bounded curve. /// /// Figure 308 — Arbitrary open profile -class IfcParse_EXPORT IfcArbitraryOpenProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcArbitraryOpenProfileDef : public IfcProfileDef { public: /// Open bounded curve defining the profile. IfcBoundedCurve* Curve() const; @@ -12879,7 +12879,7 @@ public: /// or in case of sectioned spines the xy plane of each list member of IfcSectionedSpine.CrossSectionPositions. The OuterCurve attribute defines a two dimensional closed bounded curve, the InnerCurves define a set of two dimensional closed bounded curves. /// /// Figure 309 — Arbitrary profile with voids -class IfcParse_EXPORT IfcArbitraryProfileDefWithVoids : public IfcArbitraryClosedProfileDef { +class IFC_PARSE_API IfcArbitraryProfileDefWithVoids : public IfcArbitraryClosedProfileDef { public: /// Set of bounded curves, defining the inner boundaries of the arbitrary profile. IfcTemplatedEntityList< IfcCurve >::ptr InnerCurves() const; @@ -12905,7 +12905,7 @@ public: /// HISTORY  New class in IFC2x3. /// /// IFC2x4 CHANGE  Data type of RasterCode has been corrected to BINARY. -class IfcParse_EXPORT IfcBlobTexture : public IfcSurfaceTexture { +class IFC_PARSE_API IfcBlobTexture : public IfcSurfaceTexture { public: /// The format of the RasterCode often using a compression. std::string RasterFormat() const; @@ -12954,7 +12954,7 @@ public: /// The Curve attribute defines a two dimensional open bounded curve. The Thickness attribute defines a constant thickness along the curve. /// /// Figure 311 — Centerline profile -class IfcParse_EXPORT IfcCenterLineProfileDef : public IfcArbitraryOpenProfileDef { +class IFC_PARSE_API IfcCenterLineProfileDef : public IfcArbitraryOpenProfileDef { public: /// Constant thickness applied along the center line. double Thickness() const; @@ -12992,7 +12992,7 @@ public: /// The IfcClassificationReference can be used to only assign classification keys to objects, or to hold a fully classification hierarchy. The first is refered to as "lightweight classification", and the second as "full classification" /// /// The IfcClassificationReference can be used as a form of 'lightweight' classification through the 'Identification' attribute inherited from the abstract IfcExternalReference class. In this case, the 'Identification' could take (for instance) the Uniclass notation "L6814" which, if the classification was well understood by all parties and was known to be taken from a particular classification source, would be sufficient. The Name attribute could be the title "Tanking". This would remove the need for the overhead of the more complete classification structure of the model. -class IfcParse_EXPORT IfcClassificationReference : public IfcExternalReference { +class IFC_PARSE_API IfcClassificationReference : public IfcExternalReference { public: /// Whether the optional attribute ReferencedSource is defined for this IfcClassificationReference bool hasReferencedSource() const; @@ -13019,7 +13019,7 @@ public: /// refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IfcParse_EXPORT IfcColourRgb : public IfcColourSpecification { +class IFC_PARSE_API IfcColourRgb : public IfcColourSpecification { public: /// The intensity of the red colour component. /// @@ -13053,7 +13053,7 @@ public: /// NOTE  Since an IfcComplexProperty may contain other complex properties, sets of properties can be nested. This nesting may be restricted by view definitions and implementer agreements. /// /// HISTORY New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. -class IfcParse_EXPORT IfcComplexProperty : public IfcProperty { +class IFC_PARSE_API IfcComplexProperty : public IfcProperty { public: /// Usage description of the IfcComplexProperty within the property set which references the IfcComplexProperty. /// NOTE: Consider a complex property for glazing properties. The Name attribute of the IfcComplexProperty could be Pset_GlazingProperties, and the UsageName attribute could be OuterGlazingPane. @@ -13110,7 +13110,7 @@ public: ///   /// double_L : IfcCompositeProfileDef := IfcCompositeProfileDef(AREA, 'double angle', ///     (single_L, IfcMirroredProfileDef(AREA, ?, single_L, ?)), 'twin profile'); -class IfcParse_EXPORT IfcCompositeProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcCompositeProfileDef : public IfcProfileDef { public: /// The profiles which are used to define the composite profile. IfcTemplatedEntityList< IfcProfileDef >::ptr Profiles() const; @@ -13141,7 +13141,7 @@ public: /// Informal proposition: /// /// The union of the domains of the faces and their bounding loops shall be arcwise connected. -class IfcParse_EXPORT IfcConnectedFaceSet : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcConnectedFaceSet : public IfcTopologicalRepresentationItem { public: /// The set of faces arcwise connected along common edges or vertices. IfcTemplatedEntityList< IfcFace >::ptr CfsFaces() const; @@ -13171,7 +13171,7 @@ public: /// /// Geometry use definitions /// The IfcCurve (or the IfcEdgeCurve with an associated IfcCurve) at the CurveOnRelatingElement attribute defines the curve where the basic geometry items of the connected elements connects. The curve geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects Subtype that utilizes the IfcConnectionCurveGeometry. Optionally, the same curve geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the CurveOnRelatedElement attribute. -class IfcParse_EXPORT IfcConnectionCurveGeometry : public IfcConnectionGeometry { +class IFC_PARSE_API IfcConnectionCurveGeometry : public IfcConnectionGeometry { public: /// The bounded curve at which the connected objects are aligned at the relating element, given in the LCS of the relating element. IfcCurveOrEdgeCurve* CurveOnRelatingElement() const; @@ -13212,7 +13212,7 @@ public: /// /// Geometry use definitions /// The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connects. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects subtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute, otherwise the distance to the point at the RelatedElement has to be given by the three eccentricity values. -class IfcParse_EXPORT IfcConnectionPointEccentricity : public IfcConnectionPointGeometry { +class IFC_PARSE_API IfcConnectionPointEccentricity : public IfcConnectionPointGeometry { public: /// Whether the optional attribute EccentricityInX is defined for this IfcConnectionPointEccentricity bool hasEccentricityInX() const; @@ -13248,7 +13248,7 @@ public: /// NOTE Corresponding ISO 10303 name: context_dependent_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IfcParse_EXPORT IfcContextDependentUnit : public IfcNamedUnit { +class IFC_PARSE_API IfcContextDependentUnit : public IfcNamedUnit { public: /// The word, or group of words, by which the context dependent unit is referred to. std::string Name() const; @@ -13312,7 +13312,7 @@ public: /// 'hour' Time measure equal to 3600 s /// 'day' Time measure equal to 86400 s /// 'btu' Energy measure equal to 1055.056 J, British Thermal Unit -class IfcParse_EXPORT IfcConversionBasedUnit : public IfcNamedUnit { +class IFC_PARSE_API IfcConversionBasedUnit : public IfcNamedUnit { public: /// The word, or group of words, by which the conversion based unit is referred to. std::string Name() const; @@ -13349,7 +13349,7 @@ public: /// NOTE  Corresponding ISO 10303 name: curve_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IfcParse_EXPORT IfcCurveStyle : public IfcPresentationStyle { +class IFC_PARSE_API IfcCurveStyle : public IfcPresentationStyle { public: /// Whether the optional attribute CurveFont is defined for this IfcCurveStyle bool hasCurveFont() const; @@ -13462,7 +13462,7 @@ public: /// show the position coordinate system of the derived profile /// /// Figure 316 — Derived profile -class IfcParse_EXPORT IfcDerivedProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcDerivedProfileDef : public IfcProfileDef { public: /// The parent profile provides the origin of the transformation. IfcProfileDef* ParentProfile() const; @@ -13488,7 +13488,7 @@ public: typedef IfcTemplatedEntityList< IfcDerivedProfileDef > list; }; -class IfcParse_EXPORT IfcDimensionCalloutRelationship : public IfcDraughtingCalloutRelationship { +class IFC_PARSE_API IfcDimensionCalloutRelationship : public IfcDraughtingCalloutRelationship { public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDraughtingCalloutRelationship::getArgumentType(i); } @@ -13503,7 +13503,7 @@ public: typedef IfcTemplatedEntityList< IfcDimensionCalloutRelationship > list; }; -class IfcParse_EXPORT IfcDimensionPair : public IfcDraughtingCalloutRelationship { +class IFC_PARSE_API IfcDimensionPair : public IfcDraughtingCalloutRelationship { public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDraughtingCalloutRelationship::getArgumentType(i); } @@ -13528,7 +13528,7 @@ public: /// /// HISTORY: New Entity in IFC Release 2.0. /// Modified in IFC 2x. -class IfcParse_EXPORT IfcDocumentReference : public IfcExternalReference { +class IFC_PARSE_API IfcDocumentReference : public IfcExternalReference { public: virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcExternalReference::getArgumentType(i); } @@ -13553,7 +13553,7 @@ public: /// NOTE  The IfcDraughtingPreDefinedTextFont is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange, Part 202: Application protocol: Associative draughting. Corresponding ISO 10303 name: draughting_pre_defined_text_font. Please refer to ISO/IS 10303-202:1994 page 196 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IfcParse_EXPORT IfcDraughtingPreDefinedTextFont : public IfcPreDefinedTextFont { +class IFC_PARSE_API IfcDraughtingPreDefinedTextFont : public IfcPreDefinedTextFont { public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcPreDefinedTextFont::getArgumentType(i); } @@ -13616,7 +13616,7 @@ public: /// /// The edge has dimensionality 1. /// The extend of an edge shall be finite and nonzero. -class IfcParse_EXPORT IfcEdge : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcEdge : public IfcTopologicalRepresentationItem { public: /// Start point (vertex) of the edge. IfcVertex* EdgeStart() const; @@ -13669,7 +13669,7 @@ public: /// The edge start is not a part of the edge domain. /// The edge end is not a part of the edge domain. /// Vertex geometry shall be consistent with edge geometry. -class IfcParse_EXPORT IfcEdgeCurve : public IfcEdge { +class IFC_PARSE_API IfcEdgeCurve : public IfcEdge { public: /// The curve which defines the shape and spatial location of the edge. This curve may be unbounded and is implicitly trimmed by the vertices of the edge; this defines the edge domain. Multiple edges can reference the same curve. IfcCurve* EdgeGeometry() const; @@ -13724,7 +13724,7 @@ public: /// General Fuel Properties /// General Products of Combustion Properties /// General Energy Calculation Properties -class IfcParse_EXPORT IfcExtendedMaterialProperties : public IfcMaterialProperties { +class IFC_PARSE_API IfcExtendedMaterialProperties : public IfcMaterialProperties { public: IfcTemplatedEntityList< IfcProperty >::ptr ExtendedProperties() const; void setExtendedProperties(IfcTemplatedEntityList< IfcProperty >::ptr v); @@ -13790,7 +13790,7 @@ public: /// intersect. /// The face shall satisfy the Euler Equation: (number of vertices) - /// (number of edges) - (number of loops) + (sum of genus for loops) = 0. -class IfcParse_EXPORT IfcFace : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcFace : public IfcTopologicalRepresentationItem { public: /// Boundaries of the face. IfcTemplatedEntityList< IfcFaceBound >::ptr Bounds() const; @@ -13812,7 +13812,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: face_bound. Please refer to ISO/IS 10303-42:1994, p. 139 for the final definition of the formal standard. /// /// HISTORY  New class in IFC Release 1.0 -class IfcParse_EXPORT IfcFaceBound : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcFaceBound : public IfcTopologicalRepresentationItem { public: /// The loop which will be used as a face boundary. IfcLoop* Bound() const; @@ -13837,7 +13837,7 @@ public: /// NOTE Corresponding ISO 10303 entity: face_outer_bound. Please refer to ISO/IS 10303-42:1994, p. 139 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.0 -class IfcParse_EXPORT IfcFaceOuterBound : public IfcFaceBound { +class IFC_PARSE_API IfcFaceOuterBound : public IfcFaceBound { public: virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcFaceBound::getArgumentType(i); } @@ -13887,7 +13887,7 @@ public: /// that any edge - curves or vertex points used in defining the loops bounding the /// face surface shall lie on the face geometry. /// The loops of the face shall not intersect. -class IfcParse_EXPORT IfcFaceSurface : public IfcFace { +class IFC_PARSE_API IfcFaceSurface : public IfcFace { public: /// The surface which defines the internal shape of the face. This surface may be unbounded. The domain of the face is defined by this surface and the bounding loops in the inherited attribute SELF\FaceBounds. IfcSurface* FaceSurface() const; @@ -13914,7 +13914,7 @@ public: /// Point supports and connections. /// /// HISTORY: New entity in IFC 2x2. -class IfcParse_EXPORT IfcFailureConnectionCondition : public IfcStructuralConnectionCondition { +class IFC_PARSE_API IfcFailureConnectionCondition : public IfcStructuralConnectionCondition { public: /// Whether the optional attribute TensionFailureX is defined for this IfcFailureConnectionCondition bool hasTensionFailureX() const; @@ -13992,7 +13992,7 @@ public: /// NOTE  Corresponding ISO 10303 name: fill_area_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IfcParse_EXPORT IfcFillAreaStyle : public IfcPresentationStyle { +class IFC_PARSE_API IfcFillAreaStyle : public IfcPresentationStyle { public: /// The set of fill area styles to use in presenting visible curve segments, annotation fill areas or surfaces. IfcEntityList::ptr FillStyles() const; @@ -14010,7 +14010,7 @@ public: typedef IfcTemplatedEntityList< IfcFillAreaStyle > list; }; -class IfcParse_EXPORT IfcFuelProperties : public IfcMaterialProperties { +class IFC_PARSE_API IfcFuelProperties : public IfcMaterialProperties { public: /// Whether the optional attribute CombustionTemperature is defined for this IfcFuelProperties bool hasCombustionTemperature() const; @@ -14041,7 +14041,7 @@ public: typedef IfcTemplatedEntityList< IfcFuelProperties > list; }; -class IfcParse_EXPORT IfcGeneralMaterialProperties : public IfcMaterialProperties { +class IFC_PARSE_API IfcGeneralMaterialProperties : public IfcMaterialProperties { public: /// Whether the optional attribute MolecularWeight is defined for this IfcGeneralMaterialProperties bool hasMolecularWeight() const; @@ -14068,7 +14068,7 @@ public: typedef IfcTemplatedEntityList< IfcGeneralMaterialProperties > list; }; -class IfcParse_EXPORT IfcGeneralProfileProperties : public IfcProfileProperties { +class IFC_PARSE_API IfcGeneralProfileProperties : public IfcProfileProperties { public: /// Whether the optional attribute PhysicalWeight is defined for this IfcGeneralProfileProperties bool hasPhysicalWeight() const; @@ -14149,7 +14149,7 @@ public: /// HISTORY ÿNew Entity in IFC Release 2.0 /// /// IFC2x3 CHANGE ÿApplicable values for ContextType are only 'Model',ÿ 'Plan', andÿ'NotDefined'. All other sub contexts are now handled by the new subtype in IFC2x Edition 2 IfcGeometricRepresentationSubContext. Upward compatibility for file based exchange is guaranteed. -class IfcParse_EXPORT IfcGeometricRepresentationContext : public IfcRepresentationContext { +class IFC_PARSE_API IfcGeometricRepresentationContext : public IfcRepresentationContext { public: /// The integer dimension count of the coordinate space modeled in a geometric representation context. int CoordinateSpaceDimension() const; @@ -14201,7 +14201,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p. 22 for the final definition of the formal standard. The following changes have been made: It does not inherit from ISO/IS 10303-43:1994 entity representation_item. The derived attribute Dim is demoted to the appropriate subtypes. The WR1 has not been incorporated. Not all subtypes that are in ISO/IS 10303-42:1994 have been added to the current IFC Release. /// /// HISTORY: New entity in IFC Release 1.5 -class IfcParse_EXPORT IfcGeometricRepresentationItem : public IfcRepresentationItem { +class IFC_PARSE_API IfcGeometricRepresentationItem : public IfcRepresentationItem { public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcRepresentationItem::getArgumentType(i); } @@ -14228,7 +14228,7 @@ public: /// EXAMPLE  Instances of IfcGeometricRepresentationSubContext can be used to handle the multi-view blocks or macros, which are used in CAD programs to store several scale and/or view dependent geometric representations of the same object. /// /// HISTORY  New entity in Release IFC 2x2. -class IfcParse_EXPORT IfcGeometricRepresentationSubContext : public IfcGeometricRepresentationContext { +class IFC_PARSE_API IfcGeometricRepresentationSubContext : public IfcGeometricRepresentationContext { public: /// Parent context from which the sub context derives its world coordinate system, precision, space coordinate dimension and true north. IfcGeometricRepresentationContext* ParentContext() const; @@ -14275,7 +14275,7 @@ public: /// NOTE: Corresponding ISO 10303-42 entity: geometric_set. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p. 190 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IfcParse_EXPORT IfcGeometricSet : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcGeometricSet : public IfcGeometricRepresentationItem { public: /// The geometric elements which make up the geometric set, these may be points, curves or surfaces; but are required to be of the same coordinate space dimensionality. IfcEntityList::ptr Elements() const; @@ -14337,7 +14337,7 @@ public: /// its x-axis direction: given by the tangent of the line between the virtual grid intersection of the PlacementLocation and the virtual grid intersection of the PlacementRefDirection. /// /// Figure 245 — Grid placement with intersection -class IfcParse_EXPORT IfcGridPlacement : public IfcObjectPlacement { +class IFC_PARSE_API IfcGridPlacement : public IfcObjectPlacement { public: /// Placement of the object coordinate system defined by the intersection of two grid axes. IfcVirtualGridIntersection* PlacementLocation() const; @@ -14376,7 +14376,7 @@ public: /// Figure 258 illustrates the definition of the IfcHalfSpaceSolid within a given coordinate system. The base surface is given by an unbounded plane, the red boundary is shown for visualization purposes only. /// /// Figure 258 — Half space solid geometry -class IfcParse_EXPORT IfcHalfSpaceSolid : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcHalfSpaceSolid : public IfcGeometricRepresentationItem { public: /// Surface defining side of half space. IfcSurface* BaseSurface() const; @@ -14397,7 +14397,7 @@ public: typedef IfcTemplatedEntityList< IfcHalfSpaceSolid > list; }; -class IfcParse_EXPORT IfcHygroscopicMaterialProperties : public IfcMaterialProperties { +class IFC_PARSE_API IfcHygroscopicMaterialProperties : public IfcMaterialProperties { public: /// Whether the optional attribute UpperVaporResistanceFactor is defined for this IfcHygroscopicMaterialProperties bool hasUpperVaporResistanceFactor() const; @@ -14466,7 +14466,7 @@ public: /// NOTE  The definitions of texturing within this standard have been developed in dependence on the texture component of X3D. See ISO/IEC 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1, 18 Texturing component for the definitions in the international standard. /// /// HISTORY  New entity in Release IFC2x2. -class IfcParse_EXPORT IfcImageTexture : public IfcSurfaceTexture { +class IFC_PARSE_API IfcImageTexture : public IfcSurfaceTexture { public: /// Location, provided as an URI, at which the image texture is electronically published. std::string UrlReference() const; @@ -14488,7 +14488,7 @@ public: /// EXAMPLE: A circulating pump cycles on and off at unpredictable times as dictated by the demands on the piping system; the amount of light in a classroom varies depending on when the lights are manually switched on and off and and how many lamps are controlled by each switch. /// /// HISTORY: New entity in IFC 2x2. -class IfcParse_EXPORT IfcIrregularTimeSeries : public IfcTimeSeries { +class IFC_PARSE_API IfcIrregularTimeSeries : public IfcTimeSeries { public: /// The collection of time series values. IfcTemplatedEntityList< IfcIrregularTimeSeriesValue >::ptr Values() const; @@ -14512,7 +14512,7 @@ public: /// NOTE: In addition to the attributes as defined in ISO10303-46 the following additional properties from ISO/IEC 14772-1:1997 (VRML) are added: ambientIntensity and Intensity. The attribute Name has been added as well (as it is not inherited via representation_item). /// /// HISTORY: This is a new Entity in IFC 2x, renamed and enhanced in IFC2x2. -class IfcParse_EXPORT IfcLightSource : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcLightSource : public IfcGeometricRepresentationItem { public: /// Whether the optional attribute Name is defined for this IfcLightSource bool hasName() const; @@ -14552,7 +14552,7 @@ public: /// NOTE: In addition to the attributes as defined in ISO 10303-46 the additional property from ISO/IEC 14772-1:1997 (VRML) AmbientIntensity is inherited from the supertype. /// /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. -class IfcParse_EXPORT IfcLightSourceAmbient : public IfcLightSource { +class IFC_PARSE_API IfcLightSourceAmbient : public IfcLightSource { public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcLightSource::getArgumentType(i); } @@ -14575,7 +14575,7 @@ public: /// NOTE: In addition to the attributes as defined in ISO 10303-46 the additional property from ISO/IEC 14772-1:1997 (VRML) AmbientIntensity and Intensity are inherited from the supertype. /// /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. -class IfcParse_EXPORT IfcLightSourceDirectional : public IfcLightSource { +class IFC_PARSE_API IfcLightSourceDirectional : public IfcLightSource { public: /// Definition from ISO/CD 10303-46:1992: This direction is the direction of the light source. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The direction field specifies the direction vector of the illumination emanating from the light source in the local coordinate system. Light is emitted along parallel rays from an infinite distance away. @@ -14600,7 +14600,7 @@ public: /// Figure 303 — Light source goniometric /// /// HISTORY: New entity in IFC2x2. -class IfcParse_EXPORT IfcLightSourceGoniometric : public IfcLightSource { +class IFC_PARSE_API IfcLightSourceGoniometric : public IfcLightSource { public: /// The position of the light source. It is used to orientate the light distribution curves. IfcAxis2Placement3D* Position() const; @@ -14649,7 +14649,7 @@ public: /// NOTE: In addition to the attributes as defined in ISO10303-46 the additional property from ISO/IEC 14772-1:1997 (VRML) Radius and QuadricAttenuation are added to this subtype and the AmbientIntensity and Intensity are inherited from the supertype. /// /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. -class IfcParse_EXPORT IfcLightSourcePositional : public IfcLightSource { +class IFC_PARSE_API IfcLightSourcePositional : public IfcLightSource { public: /// Definition from ISO/CD 10303-46:1992: The Cartesian point indicates the position of the light source. /// Definition from VRML97 - ISO/IEC 14772-1:1997: A Point light node illuminates geometry within radius of its location. @@ -14695,7 +14695,7 @@ public: /// NOTE  In addition to the attributes as defined in ISO10303-46 the additional property from ISO/IEC 14772-1:1997 (VRML) Radius, BeamWidth, and QuadricAttenuation are added to this subtype and the AmbientIntensity and Intensity are inherited from the supertype. /// /// HISTORY  This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. -class IfcParse_EXPORT IfcLightSourceSpot : public IfcLightSourcePositional { +class IFC_PARSE_API IfcLightSourceSpot : public IfcLightSourcePositional { public: /// Definition from ISO/CD 10303-46:1992: This is the direction of the axis of the cone of the light source specified in the coordinate space of the representation being projected.. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The direction field specifies the direction vector of the light's central axis defined in the local coordinate system. @@ -14778,7 +14778,7 @@ public: /// /// If the PlacementRelTo relationship is not given, then it defaults to an absolute placement within the world /// coordinate system established by the referenced geometric representation context within the project. -class IfcParse_EXPORT IfcLocalPlacement : public IfcObjectPlacement { +class IFC_PARSE_API IfcLocalPlacement : public IfcObjectPlacement { public: /// Whether the optional attribute PlacementRelTo is defined for this IfcLocalPlacement bool hasPlacementRelTo() const; @@ -14826,7 +14826,7 @@ public: /// A loop has a finite extent. /// A loop describes a closed (topological) curve with coincident start /// and end vertices. -class IfcParse_EXPORT IfcLoop : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcLoop : public IfcTopologicalRepresentationItem { public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcTopologicalRepresentationItem::getArgumentType(i); } @@ -14859,7 +14859,7 @@ public: /// /// A mapped item shall not be self-defining by participating in the definition of the representation being mapped. /// The dimensionality of the mapping source and the mapping target has to be the same, if the mapping source is a geometric representation item. -class IfcParse_EXPORT IfcMappedItem : public IfcRepresentationItem { +class IFC_PARSE_API IfcMappedItem : public IfcRepresentationItem { public: /// A representation map that is the source of the mapped item. It can be seen as a block (or cell or marco) definition. IfcRepresentationMap* MappingSource() const; @@ -14909,7 +14909,7 @@ public: /// As shown in Figure 331, the presentation assignment can be specific to a representation context by adding one and more IfcStyledRepresentation's. Each of them includes a single IfcStyledItem with exactly zero or one style for either curve, fill area, surface, text or symbol style that is applicable. /// /// Figure 331 — Material definition representation -class IfcParse_EXPORT IfcMaterialDefinitionRepresentation : public IfcProductRepresentation { +class IFC_PARSE_API IfcMaterialDefinitionRepresentation : public IfcProductRepresentation { public: /// Reference to the material to which the representation applies. IfcMaterial* RepresentedMaterial() const; @@ -14927,7 +14927,7 @@ public: typedef IfcTemplatedEntityList< IfcMaterialDefinitionRepresentation > list; }; -class IfcParse_EXPORT IfcMechanicalConcreteMaterialProperties : public IfcMechanicalMaterialProperties { +class IFC_PARSE_API IfcMechanicalConcreteMaterialProperties : public IfcMechanicalMaterialProperties { public: /// Whether the optional attribute CompressiveStrength is defined for this IfcMechanicalConcreteMaterialProperties bool hasCompressiveStrength() const; @@ -15015,7 +15015,7 @@ public: /// HISTORY New abstract entity in IFC2x3. /// /// IFC2x4 CHANGE The new subtype IfcContext and the relationship to context HasContext has been added . The decomposition relationship is split into ordered nesting (Nests, IsNestedBy) and un-ordered aggregating (Decomposes, IsDecomposedBy). -class IfcParse_EXPORT IfcObjectDefinition : public IfcRoot { +class IFC_PARSE_API IfcObjectDefinition : public IfcRoot { public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcRoot::getArgumentType(i); } @@ -15040,7 +15040,7 @@ public: /// NOTE: Corresponding ISO 10303 name: one_direction_repeat_factor. Please refer to ISO/IS 10303-46:1994, p. 112 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x2. -class IfcParse_EXPORT IfcOneDirectionRepeatFactor : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcOneDirectionRepeatFactor : public IfcGeometricRepresentationItem { public: /// A vector which specifies the relative positioning of hatch lines. IfcVector* RepeatFactor() const; @@ -15116,7 +15116,7 @@ public: /// /// The Euler equation shall be satisfied. Note: Please refer to ISO/IS /// 10303-42:1994, p.148 for the equation. -class IfcParse_EXPORT IfcOpenShell : public IfcConnectedFaceSet { +class IFC_PARSE_API IfcOpenShell : public IfcConnectedFaceSet { public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcConnectedFaceSet::getArgumentType(i); } @@ -15137,7 +15137,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: oriented_edge. Please refer to ISO/IS 10303-42:1994, p. 133 for the final definition of the formal standard. /// /// HISTORY  New Entity in IFC Release 2.0. -class IfcParse_EXPORT IfcOrientedEdge : public IfcEdge { +class IFC_PARSE_API IfcOrientedEdge : public IfcEdge { public: /// Edge entity used to construct this oriented edge. IfcEdge* EdgeElement() const; @@ -15199,7 +15199,7 @@ public: /// IFC2x4 CHANGE  Position attribute made optional (default: identity transformation). /// Several radius parameters in subtypes have been changed from optional IfcPositiveLengthMeasure (assumed default: 0.) to optional IfcNonNegativeLengthMeasure (default: unspecified). This change allows to explicitly specify zero radius. Sending systems shall export 0. values if parameters are known to be 0. /// Subtypes IfcCraneRailAShapeProfileDef and IfcCraneRailFShapeProfileDef deleted. Rail profiles shall be modeled as IfcArbitraryClosedProfileDef or as IfcAsymmetricIShapeProfileDef together with appropriate external reference. -class IfcParse_EXPORT IfcParameterizedProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcParameterizedProfileDef : public IfcProfileDef { public: /// Position coordinate system of the parameterized profile definition. If unspecified, no translation and no rotation is applied. IfcAxis2Placement2D* Position() const; @@ -15230,7 +15230,7 @@ public: /// A path is arcwise connected. /// The edges of the path do not intersect except at common vertices. /// A path has a finite, non-zero extent. -class IfcParse_EXPORT IfcPath : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcPath : public IfcTopologicalRepresentationItem { public: /// The list of oriented edges which are concatenated together to form this path. IfcTemplatedEntityList< IfcOrientedEdge >::ptr EdgeList() const; @@ -15256,7 +15256,7 @@ public: /// HISTORY  New entity in IFC2x2 Addendum 1. /// /// IFC2x2 ADDENDUM 1 CHANGE  The entity IfcPhysicalComplexQuantity has been added. Upward compatibility for file based exchange is guaranteed. -class IfcParse_EXPORT IfcPhysicalComplexQuantity : public IfcPhysicalQuantity { +class IFC_PARSE_API IfcPhysicalComplexQuantity : public IfcPhysicalQuantity { public: /// Set of physical quantities that are grouped by this complex physical quantity according to a given discrimination. IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr HasQuantities() const; @@ -15304,7 +15304,7 @@ public: /// Note that alpha equals (1.0 -transparency), if alpha and transparency each range from 0.0 to 1.0. /// /// HISTORY: New class in IFC2x2. -class IfcParse_EXPORT IfcPixelTexture : public IfcSurfaceTexture { +class IFC_PARSE_API IfcPixelTexture : public IfcSurfaceTexture { public: /// The number of pixels in width (S) direction. int Width() const; @@ -15341,7 +15341,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: placement. Please refer to ISO/IS 10303-42:1994, p. 27 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.0 -class IfcParse_EXPORT IfcPlacement : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcPlacement : public IfcGeometricRepresentationItem { public: /// The geometric position of a reference point, such as the center of a circle, of the item to be located. IfcCartesianPoint* Location() const; @@ -15363,7 +15363,7 @@ public: /// NOTE  Corresponding ISO 10303 name: planar_extent. Please refer to ISO/IS 10303-46:1994, p. 141 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IfcParse_EXPORT IfcPlanarExtent : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcPlanarExtent : public IfcGeometricRepresentationItem { public: /// The extent in the direction of the x-axis. double SizeInX() const; @@ -15388,7 +15388,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: point. Only the subtypes cartesian_point, point_on_curve, point_on_surface have been incorporated in the current release of IFC. Please refer to ISO/IS 10303-42:1994, p. 22 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5 -class IfcParse_EXPORT IfcPoint : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcPoint : public IfcGeometricRepresentationItem { public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcGeometricRepresentationItem::getArgumentType(i); } @@ -15411,7 +15411,7 @@ public: /// Informal Propositions: /// /// The value of the point parameter shall not be outside the parametric range of the curve. -class IfcParse_EXPORT IfcPointOnCurve : public IfcPoint { +class IFC_PARSE_API IfcPointOnCurve : public IfcPoint { public: /// The curve to which point parameter relates. IfcCurve* BasisCurve() const; @@ -15440,7 +15440,7 @@ public: /// Informal Propositions: /// /// The parametric values specified for u and v shall not be outside the parametric range of the basis surface. -class IfcParse_EXPORT IfcPointOnSurface : public IfcPoint { +class IFC_PARSE_API IfcPointOnSurface : public IfcPoint { public: /// The surface to which the parameter values relate. IfcSurface* BasisSurface() const; @@ -15502,7 +15502,7 @@ public: /// /// All the points in the polygon defining the poly loop shall be coplanar. /// The first and the last Polygon shall be different by value. -class IfcParse_EXPORT IfcPolyLoop : public IfcLoop { +class IFC_PARSE_API IfcPolyLoop : public IfcLoop { public: /// List of points defining the loop. There are no repeated points in the list. IfcTemplatedEntityList< IfcCartesianPoint >::ptr Polygon() const; @@ -15575,7 +15575,7 @@ public: /// bounds the effectiveness of the half space in Boolean expressions. The BaseSurface /// is defined by a plane, and the normal of the plane together with the AgreementFlag /// defines the side of the material of the half space. -class IfcParse_EXPORT IfcPolygonalBoundedHalfSpace : public IfcHalfSpaceSolid { +class IFC_PARSE_API IfcPolygonalBoundedHalfSpace : public IfcHalfSpaceSolid { public: /// Definition of the position coordinate system for the bounding polyline and the base surface. IfcAxis2Placement3D* Position() const; @@ -15602,7 +15602,7 @@ public: /// NOTE  Corresponding ISO 10303 name: pre_defined_colour. It has been made into an abstract entity in IFC. Please refer to ISO/IS 10303-46:1994, p. 141 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IfcParse_EXPORT IfcPreDefinedColour : public IfcPreDefinedItem { +class IFC_PARSE_API IfcPreDefinedColour : public IfcPreDefinedItem { public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcPreDefinedItem::getArgumentType(i); } @@ -15623,7 +15623,7 @@ public: /// NOTE: Corresponding ISO 10303 name: pre_defined_curve_font. Please refer to ISO/IS 10303-46:1994, p. 103 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x2. -class IfcParse_EXPORT IfcPreDefinedCurveFont : public IfcPreDefinedItem { +class IFC_PARSE_API IfcPreDefinedCurveFont : public IfcPreDefinedItem { public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcPreDefinedItem::getArgumentType(i); } @@ -15638,7 +15638,7 @@ public: typedef IfcTemplatedEntityList< IfcPreDefinedCurveFont > list; }; -class IfcParse_EXPORT IfcPreDefinedDimensionSymbol : public IfcPreDefinedSymbol { +class IFC_PARSE_API IfcPreDefinedDimensionSymbol : public IfcPreDefinedSymbol { public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcPreDefinedSymbol::getArgumentType(i); } @@ -15653,7 +15653,7 @@ public: typedef IfcTemplatedEntityList< IfcPreDefinedDimensionSymbol > list; }; -class IfcParse_EXPORT IfcPreDefinedPointMarkerSymbol : public IfcPreDefinedSymbol { +class IFC_PARSE_API IfcPreDefinedPointMarkerSymbol : public IfcPreDefinedSymbol { public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcPreDefinedSymbol::getArgumentType(i); } @@ -15679,7 +15679,7 @@ public: /// NOTE  The definition of this entity relates to the ISO 10303 entity product_definition_shape. Please refer to ISO/IS 10303-41:1994 for the final definition of the formal standard. /// /// HISTORY  New Entity in IFC Release 1.5 -class IfcParse_EXPORT IfcProductDefinitionShape : public IfcProductRepresentation { +class IFC_PARSE_API IfcProductDefinitionShape : public IfcProductRepresentation { public: virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcProductRepresentation::getArgumentType(i); } @@ -15799,7 +15799,7 @@ public: /// If the measure type for the upper and lover bound value /// is a numeric measure, then the following shall be true: /// UpperBoundValue > LowerBoundValue. -class IfcParse_EXPORT IfcPropertyBoundedValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyBoundedValue : public IfcSimpleProperty { public: /// Whether the optional attribute UpperBoundValue is defined for this IfcPropertyBoundedValue bool hasUpperBoundValue() const; @@ -15878,7 +15878,7 @@ public: /// Subtypes are included in more specific relationships, see /// IfcPropertySetDefinition and /// IfcPropertyTemplateDefinition for details. -class IfcParse_EXPORT IfcPropertyDefinition : public IfcRoot { +class IFC_PARSE_API IfcPropertyDefinition : public IfcRoot { public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcRoot::getArgumentType(i); } @@ -15970,7 +15970,7 @@ public: /// /// IFC2x4 CHANGE Attribute EnumerationValues has been made OPTIONAL with upward /// compatibility for file based exchange. -class IfcParse_EXPORT IfcPropertyEnumeratedValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyEnumeratedValue : public IfcSimpleProperty { public: /// Enumeration values, which shall be listed in the referenced IfcPropertyEnumeration, if such a reference is provided. /// @@ -16059,7 +16059,7 @@ public: /// HISTORY  New Entity in Release IFC 2x Edition 2. /// /// IFC2x4 CHANGE  Attribute ListValues has been made OPTIONAL with upward compatibility for file based exchange. -class IfcParse_EXPORT IfcPropertyListValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyListValue : public IfcSimpleProperty { public: /// List of property values. /// @@ -16098,7 +16098,7 @@ public: /// IFC2x4 CHANGE  Attribute /// PropertyReference has been made OPTIONAL with upward /// compatibility for file based exchange. -class IfcParse_EXPORT IfcPropertyReferenceValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyReferenceValue : public IfcSimpleProperty { public: /// Whether the optional attribute UsageName is defined for this IfcPropertyReferenceValue bool hasUsageName() const; @@ -16164,7 +16164,7 @@ public: /// with all included properties, to the object occurrence. /// /// NOTE  Properties assigned to object occurrences may override properties assigned to the object type. See IfcRelDefinesByType for further information. -class IfcParse_EXPORT IfcPropertySetDefinition : public IfcPropertyDefinition { +class IFC_PARSE_API IfcPropertySetDefinition : public IfcPropertyDefinition { public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcPropertyDefinition::getArgumentType(i); } @@ -16224,7 +16224,7 @@ public: /// HISTORY ÿNew entity in IFC Release 1.0. The entity has been renamed from IfcSimpleProperty in IFC Release 2x. /// /// IFC2x3 CHANGE ÿAttribute NominalValue has been made OPTIONAL with upward compatibility for file based exchange. -class IfcParse_EXPORT IfcPropertySingleValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertySingleValue : public IfcSimpleProperty { public: /// Whether the optional attribute NominalValue is defined for this IfcPropertySingleValue bool hasNominalValue() const; @@ -16398,7 +16398,7 @@ public: /// /// The list of DefinedValues and the list of /// DefiningValues are corresponding lists. -class IfcParse_EXPORT IfcPropertyTableValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyTableValue : public IfcSimpleProperty { public: /// List of defining values, which determine the defined values. This list shall have unique values only. /// @@ -16471,7 +16471,7 @@ public: /// rectangle (half along the positive y-axis). /// /// Figure 323 — Rectangle profile -class IfcParse_EXPORT IfcRectangleProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcRectangleProfileDef : public IfcParameterizedProfileDef { public: /// The extent of the rectangle in the direction of the x-axis. double XDim() const; @@ -16496,7 +16496,7 @@ public: /// EXAMPLE: A smoke detector samples the concentration of particulates in a space at a fixed rate (for example, every six seconds); a control system measures the outside air temperature every hour. /// /// HISTORY: New entity in IFC 2x2. -class IfcParse_EXPORT IfcRegularTimeSeries : public IfcTimeSeries { +class IFC_PARSE_API IfcRegularTimeSeries : public IfcTimeSeries { public: /// A duration of time intervals between values. double TimeStep() const; @@ -16542,7 +16542,7 @@ public: /// bar role), which in turn have a section cross section property defined as a /// profile and a number of reinforcement properties, one for each steel grade / /// bar type. -class IfcParse_EXPORT IfcReinforcementDefinitionProperties : public IfcPropertySetDefinition { +class IFC_PARSE_API IfcReinforcementDefinitionProperties : public IfcPropertySetDefinition { public: /// Whether the optional attribute DefinitionType is defined for this IfcReinforcementDefinitionProperties bool hasDefinitionType() const; @@ -16572,7 +16572,7 @@ public: /// In case of the 1-to-many relationship, the related side of the relationship shall be an aggregate SET 1:N /// /// HISTORY: New entity in IFC Release 1.0. -class IfcParse_EXPORT IfcRelationship : public IfcRoot { +class IFC_PARSE_API IfcRelationship : public IfcRoot { public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcRoot::getArgumentType(i); } @@ -16623,7 +16623,7 @@ public: /// of curvature in all four corners of the rectangle. /// /// Figure 324 — Rounded rectangle profile -class IfcParse_EXPORT IfcRoundedRectangleProfileDef : public IfcRectangleProfileDef { +class IFC_PARSE_API IfcRoundedRectangleProfileDef : public IfcRectangleProfileDef { public: /// Radius of the circular arcs by which all four corners of the rectangle are equally rounded. double RoundingRadius() const; @@ -16693,7 +16693,7 @@ public: /// none of the cross sections, after being placed by the cross section positions, shall intersect /// none of the cross sections, after being placed by the cross section positions, shall lie in the same plane /// the local origin of each cross section position shall lie at the beginning or end of a composite curve segment. -class IfcParse_EXPORT IfcSectionedSpine : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcSectionedSpine : public IfcGeometricRepresentationItem { public: /// A single composite curve, that defines the spine curve. Each of the composite curve segments correspond to the part between two cross-sections. IfcCompositeCurve* SpineCurve() const; @@ -16717,7 +16717,7 @@ public: typedef IfcTemplatedEntityList< IfcSectionedSpine > list; }; -class IfcParse_EXPORT IfcServiceLifeFactor : public IfcPropertySetDefinition { +class IFC_PARSE_API IfcServiceLifeFactor : public IfcPropertySetDefinition { public: IfcServiceLifeFactorTypeEnum::IfcServiceLifeFactorTypeEnum PredefinedType() const; void setPredefinedType(IfcServiceLifeFactorTypeEnum::IfcServiceLifeFactorTypeEnum v); @@ -16755,7 +16755,7 @@ public: /// /// The dimensionality of the shell based surface model is 2. /// The shells shall not overlap or intersect except at common faces, edges or vertices. -class IfcParse_EXPORT IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { public: IfcEntityList::ptr SbsmBoundary() const; void setSbsmBoundary(IfcEntityList::ptr v); @@ -16780,7 +16780,7 @@ public: /// surface supports and connections. /// /// HISTORY: New entity in IFC 2x2. -class IfcParse_EXPORT IfcSlippageConnectionCondition : public IfcStructuralConnectionCondition { +class IFC_PARSE_API IfcSlippageConnectionCondition : public IfcStructuralConnectionCondition { public: /// Whether the optional attribute SlippageX is defined for this IfcSlippageConnectionCondition bool hasSlippageX() const; @@ -16814,7 +16814,7 @@ public: /// NOTE: Corresponding ISO 10303-42 entity: solid_model, only three subtypes have been incorporated into the current IFC Release - subset of manifold_solid_brep (IfcManifoldSolidBrep, constraint to faceted B-rep), swept_area_solid (IfcSweptAreaSolid), the swept_disk_solid (IfcSweptDiskSolid) and subset of csg_solid (IfcCsgSolid). The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p. 170 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5 -class IfcParse_EXPORT IfcSolidModel : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcSolidModel : public IfcGeometricRepresentationItem { public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcGeometricRepresentationItem::getArgumentType(i); } @@ -16829,7 +16829,7 @@ public: typedef IfcTemplatedEntityList< IfcSolidModel > list; }; -class IfcParse_EXPORT IfcSoundProperties : public IfcPropertySetDefinition { +class IFC_PARSE_API IfcSoundProperties : public IfcPropertySetDefinition { public: bool IsAttenuating() const; void setIsAttenuating(bool v); @@ -16852,7 +16852,7 @@ public: typedef IfcTemplatedEntityList< IfcSoundProperties > list; }; -class IfcParse_EXPORT IfcSoundValue : public IfcPropertySetDefinition { +class IFC_PARSE_API IfcSoundValue : public IfcPropertySetDefinition { public: /// Whether the optional attribute SoundLevelTimeSeries is defined for this IfcSoundValue bool hasSoundLevelTimeSeries() const; @@ -16877,7 +16877,7 @@ public: typedef IfcTemplatedEntityList< IfcSoundValue > list; }; -class IfcParse_EXPORT IfcSpaceThermalLoadProperties : public IfcPropertySetDefinition { +class IFC_PARSE_API IfcSpaceThermalLoadProperties : public IfcPropertySetDefinition { public: /// Whether the optional attribute ApplicableValueRatio is defined for this IfcSpaceThermalLoadProperties bool hasApplicableValueRatio() const; @@ -16928,7 +16928,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IfcParse_EXPORT IfcStructuralLoadLinearForce : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadLinearForce : public IfcStructuralLoadStatic { public: /// Whether the optional attribute LinearForceX is defined for this IfcStructuralLoadLinearForce bool hasLinearForceX() const; @@ -16977,7 +16977,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IfcParse_EXPORT IfcStructuralLoadPlanarForce : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadPlanarForce : public IfcStructuralLoadStatic { public: /// Whether the optional attribute PlanarForceX is defined for this IfcStructuralLoadPlanarForce bool hasPlanarForceX() const; @@ -17011,7 +17011,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IfcParse_EXPORT IfcStructuralLoadSingleDisplacement : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadSingleDisplacement : public IfcStructuralLoadStatic { public: /// Whether the optional attribute DisplacementX is defined for this IfcStructuralLoadSingleDisplacement bool hasDisplacementX() const; @@ -17058,7 +17058,7 @@ public: /// Definition from IAI: Defines a displacement with warping. /// /// HISTORY: New entity in IFC 2x2. -class IfcParse_EXPORT IfcStructuralLoadSingleDisplacementDistortion : public IfcStructuralLoadSingleDisplacement { +class IFC_PARSE_API IfcStructuralLoadSingleDisplacementDistortion : public IfcStructuralLoadSingleDisplacement { public: /// Whether the optional attribute Distortion is defined for this IfcStructuralLoadSingleDisplacementDistortion bool hasDistortion() const; @@ -17083,7 +17083,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IfcParse_EXPORT IfcStructuralLoadSingleForce : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadSingleForce : public IfcStructuralLoadStatic { public: /// Whether the optional attribute ForceX is defined for this IfcStructuralLoadSingleForce bool hasForceX() const; @@ -17135,7 +17135,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IfcParse_EXPORT IfcStructuralLoadSingleForceWarping : public IfcStructuralLoadSingleForce { +class IFC_PARSE_API IfcStructuralLoadSingleForceWarping : public IfcStructuralLoadSingleForce { public: /// Whether the optional attribute WarpingMoment is defined for this IfcStructuralLoadSingleForceWarping bool hasWarpingMoment() const; @@ -17155,7 +17155,7 @@ public: typedef IfcTemplatedEntityList< IfcStructuralLoadSingleForceWarping > list; }; -class IfcParse_EXPORT IfcStructuralProfileProperties : public IfcGeneralProfileProperties { +class IFC_PARSE_API IfcStructuralProfileProperties : public IfcGeneralProfileProperties { public: /// Whether the optional attribute TorsionalConstantX is defined for this IfcStructuralProfileProperties bool hasTorsionalConstantX() const; @@ -17234,7 +17234,7 @@ public: typedef IfcTemplatedEntityList< IfcStructuralProfileProperties > list; }; -class IfcParse_EXPORT IfcStructuralSteelProfileProperties : public IfcStructuralProfileProperties { +class IFC_PARSE_API IfcStructuralSteelProfileProperties : public IfcStructuralProfileProperties { public: /// Whether the optional attribute ShearAreaZ is defined for this IfcStructuralSteelProfileProperties bool hasShearAreaZ() const; @@ -17274,7 +17274,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: subedge. Please refer to ISO/DIS 10303-42:1999(E), p. 194 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IfcParse_EXPORT IfcSubedge : public IfcEdge { +class IFC_PARSE_API IfcSubedge : public IfcEdge { public: /// The Edge, or Subedge, which contains the Subedge. IfcEdge* ParentEdge() const; @@ -17301,7 +17301,7 @@ public: /// /// A surface has non zero area. /// A surface is arcwise connected. -class IfcParse_EXPORT IfcSurface : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcSurface : public IfcGeometricRepresentationItem { public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcGeometricRepresentationItem::getArgumentType(i); } @@ -17360,7 +17360,7 @@ public: /// In addition to the attributes as defined in ISO 10303-46, (ambient_reflectance, diffuse_reflectance, specular_reflectance, specular_exponent, and specular_colour), the current IFC definition adds other colours, reflectance factors and specular roughness. /// /// HISTORY: New Entity in IFC 2x. -class IfcParse_EXPORT IfcSurfaceStyleRendering : public IfcSurfaceStyleShading { +class IFC_PARSE_API IfcSurfaceStyleRendering : public IfcSurfaceStyleShading { public: /// Whether the optional attribute Transparency is defined for this IfcSurfaceStyleRendering bool hasTransparency() const; @@ -17441,7 +17441,7 @@ public: /// NOTE Corresponding ISO 10303-42 entity: swept_area_solid, The data type of SweptArea is modified and given by a profile definition (IfcProfileDef). A position coordinate system is defined by the Position attribute has been added. Please refer to ISO/IS 10303-42:1994, p. 183 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5, the capabilities have been enhanced in IFC Release 2x. -class IfcParse_EXPORT IfcSweptAreaSolid : public IfcSolidModel { +class IFC_PARSE_API IfcSweptAreaSolid : public IfcSolidModel { public: /// The surface defining the area to be swept. It is given as a profile definition within the xy plane of the position coordinate system. IfcProfileDef* SweptArea() const; @@ -17514,7 +17514,7 @@ public: /// disk Radius /// The Directrix shall not be based on an intersecting /// curve. -class IfcParse_EXPORT IfcSweptDiskSolid : public IfcSolidModel { +class IFC_PARSE_API IfcSweptDiskSolid : public IfcSolidModel { public: /// The curve used to define the sweeping operation. The solid is generated by sweeping a circular disk along the Directrix. IfcCurve* Directrix() const; @@ -17554,7 +17554,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: swept_surface. Please refer to ISO/IS 10303-42:1994, p.76 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IfcParse_EXPORT IfcSweptSurface : public IfcSurface { +class IFC_PARSE_API IfcSweptSurface : public IfcSurface { public: /// The curve to be swept in defining the surface. The curve is defined as a profile within the position coordinate system. IfcProfileDef* SweptCurve() const; @@ -17602,7 +17602,7 @@ public: /// relative to the profile. /// /// Figure 326 — T-shape profile -class IfcParse_EXPORT IfcTShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcTShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web lengths, see illustration above (= h). double Depth() const; @@ -17658,7 +17658,7 @@ public: typedef IfcTemplatedEntityList< IfcTShapeProfileDef > list; }; -class IfcParse_EXPORT IfcTerminatorSymbol : public IfcAnnotationSymbolOccurrence { +class IFC_PARSE_API IfcTerminatorSymbol : public IfcAnnotationSymbolOccurrence { public: IfcAnnotationCurveOccurrence* AnnotatedCurve() const; void setAnnotatedCurve(IfcAnnotationCurveOccurrence* v); @@ -17684,7 +17684,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcTextLiteral has been changed by removing Font and Alignment. -class IfcParse_EXPORT IfcTextLiteral : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcTextLiteral : public IfcGeometricRepresentationItem { public: /// The text literal to be presented. std::string Literal() const; @@ -17717,7 +17717,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcTextLiteralWithExtent has been changed by adding BoxAlignment. -class IfcParse_EXPORT IfcTextLiteralWithExtent : public IfcTextLiteral { +class IFC_PARSE_API IfcTextLiteralWithExtent : public IfcTextLiteral { public: /// The extent in the x and y direction of the text literal. IfcPlanarExtent* Extent() const; @@ -17775,7 +17775,7 @@ public: /// the positive x-axis. /// /// Figure 325 — Trapezium profile -class IfcParse_EXPORT IfcTrapeziumProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcTrapeziumProfileDef : public IfcParameterizedProfileDef { public: /// The extent of the bottom line measured along the implicit x-axis. double BottomXDim() const; @@ -17809,7 +17809,7 @@ public: /// NOTE Corresponding ISO 10303 name: two_direction_repeat_factor. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IfcParse_EXPORT IfcTwoDirectionRepeatFactor : public IfcOneDirectionRepeatFactor { +class IFC_PARSE_API IfcTwoDirectionRepeatFactor : public IfcOneDirectionRepeatFactor { public: /// A vector which specifies the relative positioning of tiles in the second direction. IfcVector* SecondRepeatFactor() const; @@ -17857,7 +17857,7 @@ public: /// IFC2x3 CHANGE The IfcTypeObject is now subtyped from the new supertype IfcObjectDefinition, and the attribute HasPropertySets has been changed from a LIST into a SET. /// /// IFC2x4 CHANGE (1) The entity IfcTypeObject shall not be instantiated from IFC2x4 onwards. It will be changed into an ABSTRACT supertype in future releases of IFC. (2) The inverse attribute Types has been renamed from ObjectTypeOf. -class IfcParse_EXPORT IfcTypeObject : public IfcObjectDefinition { +class IFC_PARSE_API IfcTypeObject : public IfcObjectDefinition { public: /// Whether the optional attribute ApplicableOccurrence is defined for this IfcTypeObject bool hasApplicableOccurrence() const; @@ -17956,7 +17956,7 @@ public: /// multiple placement. /// /// Figure 11 — Product type geometry with multiple placement -class IfcParse_EXPORT IfcTypeProduct : public IfcTypeObject { +class IFC_PARSE_API IfcTypeProduct : public IfcTypeObject { public: /// Whether the optional attribute RepresentationMaps is defined for this IfcTypeProduct bool hasRepresentationMaps() const; @@ -18008,7 +18008,7 @@ public: /// relative to the profile. /// /// Figure 327 — U-shape profile -class IfcParse_EXPORT IfcUShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcUShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web lengths, see illustration above (= h). double Depth() const; @@ -18060,7 +18060,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: vector. Please refer to ISO/IS 10303-42:1994, p.27 for the final definition of the formal standard. The derived attribute Dim has been added (see also note at IfcGeometricRepresentationItem). /// /// HISTORY: New entity in IFC Release 1.0 -class IfcParse_EXPORT IfcVector : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcVector : public IfcGeometricRepresentationItem { public: /// The direction of the vector. IfcDirection* Orientation() const; @@ -18092,7 +18092,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: vertex_loop. Please refer to ISO/IS 10303-42:1994, p. 121 for the final definition of the formal standard. /// /// HISTORY  New Entity in IFC2x2. -class IfcParse_EXPORT IfcVertexLoop : public IfcLoop { +class IFC_PARSE_API IfcVertexLoop : public IfcLoop { public: /// The vertex which defines the entire loop. IfcVertex* LoopVertex() const; @@ -18207,7 +18207,7 @@ public: /// NOTE /// /// All offsets are given as a normalized ratio measure. -class IfcParse_EXPORT IfcWindowLiningProperties : public IfcPropertySetDefinition { +class IFC_PARSE_API IfcWindowLiningProperties : public IfcPropertySetDefinition { public: /// Whether the optional attribute LiningDepth is defined for this IfcWindowLiningProperties bool hasLiningDepth() const; @@ -18313,7 +18313,7 @@ public: /// As shown in Figure 176, the panel is applied to the position within the lining as defined by the panel position attribute. The following parameter apply to that panel: FrameDepth, FrameThickness. /// /// Figure 176 — Window panel properties -class IfcParse_EXPORT IfcWindowPanelProperties : public IfcPropertySetDefinition { +class IFC_PARSE_API IfcWindowPanelProperties : public IfcPropertySetDefinition { public: /// Types of window panel operations. Also used to assign standard symbolic presentations according to national building standards. IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum OperationType() const; @@ -18368,7 +18368,7 @@ public: /// The IfcWindowStyleOperationTypeEnum defines the general layout of the window style. Depending on the enumerator, the /// appropriate instances of IfcWindowLiningProperties and IfcWindowPanelProperties are attached in the list of /// HasPropertySets. See geometry use definitions there. -class IfcParse_EXPORT IfcWindowStyle : public IfcTypeProduct { +class IFC_PARSE_API IfcWindowStyle : public IfcTypeProduct { public: /// Type defining the basic construction and material type of the window. IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum ConstructionType() const; @@ -18419,7 +18419,7 @@ public: /// relative to the profile. /// /// Figure 328 — Z-shape profile -class IfcParse_EXPORT IfcZShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcZShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web length, see illustration above (= h). double Depth() const; @@ -18456,7 +18456,7 @@ public: typedef IfcTemplatedEntityList< IfcZShapeProfileDef > list; }; -class IfcParse_EXPORT IfcAnnotationCurveOccurrence : public IfcAnnotationOccurrence { +class IFC_PARSE_API IfcAnnotationCurveOccurrence : public IfcAnnotationOccurrence { public: virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcAnnotationOccurrence::getArgumentType(i); } @@ -18490,7 +18490,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The two attributes OuterBoundary and InnerBoundaries are added and replace the previous single boundary. -class IfcParse_EXPORT IfcAnnotationFillArea : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcAnnotationFillArea : public IfcGeometricRepresentationItem { public: /// A closed curve that defines the outer boundary of the fill area. The areas defined by the outer boundary (minus potentially defined inner boundaries) is filled by the fill area style. /// @@ -18517,7 +18517,7 @@ public: typedef IfcTemplatedEntityList< IfcAnnotationFillArea > list; }; -class IfcParse_EXPORT IfcAnnotationFillAreaOccurrence : public IfcAnnotationOccurrence { +class IFC_PARSE_API IfcAnnotationFillAreaOccurrence : public IfcAnnotationOccurrence { public: /// Whether the optional attribute FillStyleTarget is defined for this IfcAnnotationFillAreaOccurrence bool hasFillStyleTarget() const; @@ -18540,7 +18540,7 @@ public: typedef IfcTemplatedEntityList< IfcAnnotationFillAreaOccurrence > list; }; -class IfcParse_EXPORT IfcAnnotationSurface : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcAnnotationSurface : public IfcGeometricRepresentationItem { public: IfcGeometricRepresentationItem* Item() const; void setItem(IfcGeometricRepresentationItem* v); @@ -18569,7 +18569,7 @@ public: /// Figure 274 illustrates the definition of the IfcAxis1Placement within the three-dimensional coordinate system. /// /// Figure 274 — Axis1 placement -class IfcParse_EXPORT IfcAxis1Placement : public IfcPlacement { +class IFC_PARSE_API IfcAxis1Placement : public IfcPlacement { public: /// Whether the optional attribute Axis is defined for this IfcAxis1Placement bool hasAxis() const; @@ -18599,7 +18599,7 @@ public: /// Figure 275 illustrates the definition of the IfcAxis2Placement2D within the two-dimensional coordinate system. /// /// Figure 275 — Axis2 placement 2D -class IfcParse_EXPORT IfcAxis2Placement2D : public IfcPlacement { +class IFC_PARSE_API IfcAxis2Placement2D : public IfcPlacement { public: /// Whether the optional attribute RefDirection is defined for this IfcAxis2Placement2D bool hasRefDirection() const; @@ -18631,7 +18631,7 @@ public: /// Figure 276 illustrates the definition of the IfcAxis2Placement3D within the three-dimensional coordinate system. /// /// Figure 276 — Axis2 placement 3D -class IfcParse_EXPORT IfcAxis2Placement3D : public IfcPlacement { +class IFC_PARSE_API IfcAxis2Placement3D : public IfcPlacement { public: /// Whether the optional attribute Axis is defined for this IfcAxis2Placement3D bool hasAxis() const; @@ -18681,7 +18681,7 @@ public: /// NOTE Corresponding ISO 10303-42 entity: boolean_result. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p.175 for the final definition of the formal standard. /// /// HISTORY: New class in IFC Release 1.5.1. -class IfcParse_EXPORT IfcBooleanResult : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcBooleanResult : public IfcGeometricRepresentationItem { public: /// The Boolean operator used in the operation to create the result. IfcBooleanOperator::IfcBooleanOperator Operator() const; @@ -18716,7 +18716,7 @@ public: /// /// A bounded surface has finite non-zero surface area. /// A bounded surface has boundary curves. -class IfcParse_EXPORT IfcBoundedSurface : public IfcSurface { +class IFC_PARSE_API IfcBoundedSurface : public IfcSurface { public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcSurface::getArgumentType(i); } @@ -18752,7 +18752,7 @@ public: /// As shown in Figure 252, the IfcBoundingBox is defined with its own location which can be used to place the IfcBoundingBox relative to the geometric coordinate system. The IfcBoundingBox is defined by the lower left corner (Corner) and the upper right corner (XDim, YDim, ZDim measured within the parent co-ordinate system). /// /// Figure 252 — Bounding box -class IfcParse_EXPORT IfcBoundingBox : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcBoundingBox : public IfcGeometricRepresentationItem { public: /// Location of the bottom left corner (having the minimum values). IfcCartesianPoint* Corner() const; @@ -18808,7 +18808,7 @@ public: /// The Enclosure therefore helps to prevent dealing with infinite-size related issues. The enclosure box is positioned within the object coordinate system, established by the ObjectPlacement of the element represented (for example, by IfcLocalPlacement). Figure 254 shows the Enclosure box being sufficiently large to fully enclose the Boolean result. /// /// Figure 254 — Boxed half space geometry -class IfcParse_EXPORT IfcBoxedHalfSpace : public IfcHalfSpaceSolid { +class IFC_PARSE_API IfcBoxedHalfSpace : public IfcHalfSpaceSolid { public: /// The box which bounds the resulting solid of the Boolean operation involving the half space solid for computational purposes only. IfcBoundingBox* Enclosure() const; @@ -18847,7 +18847,7 @@ public: /// By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. The parameterized profile is defined by a set of parameter attributes. In the illustrated example, the 'CentreOfGravityInX' property in IfcExtendedProfileProperties, if provided, is negative. /// /// Figure 315 — C-shape profile -class IfcParse_EXPORT IfcCShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcCShapeProfileDef : public IfcParameterizedProfileDef { public: /// Profile depth, see illustration above (= h). double Depth() const; @@ -18889,7 +18889,7 @@ public: /// NOTE: Corresponding STEP entity: cartesian_point, please refer to ISO/IS 10303-42:1994, p. 23 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.0 -class IfcParse_EXPORT IfcCartesianPoint : public IfcPoint { +class IFC_PARSE_API IfcCartesianPoint : public IfcPoint { public: /// The first, second, and third coordinate of the point location. If placed in a two or three dimensional rectangular Cartesian coordinate system, Coordinates[1] is the X coordinate, Coordinates[2] is the Y coordinate, and Coordinates[3] is the Z coordinate. std::vector< double > /*[1:3]*/ Coordinates() const; @@ -18936,7 +18936,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: cartesian_transformation_operator, please refer to ISO/IS 10303-42:1994, p. 32 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IfcParse_EXPORT IfcCartesianTransformationOperator : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcCartesianTransformationOperator : public IfcGeometricRepresentationItem { public: /// Whether the optional attribute Axis1 is defined for this IfcCartesianTransformationOperator bool hasAxis1() const; @@ -18973,7 +18973,7 @@ public: /// NOTE: Corresponding ISO 10303 entity : cartesian_transformation_operator_2d, please refer to ISO/IS 10303-42:1994, p. 36 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IfcParse_EXPORT IfcCartesianTransformationOperator2D : public IfcCartesianTransformationOperator { +class IFC_PARSE_API IfcCartesianTransformationOperator2D : public IfcCartesianTransformationOperator { public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcCartesianTransformationOperator::getArgumentType(i); } @@ -18997,7 +18997,7 @@ public: /// NOTE: The scale factor (Scl) defined at the supertype IfcCartesianTransformationOperator is used to express the calculated Scale factor (normally x axis scale factor). /// /// HISTORY: New entity in IFC Release 2x. -class IfcParse_EXPORT IfcCartesianTransformationOperator2DnonUniform : public IfcCartesianTransformationOperator2D { +class IFC_PARSE_API IfcCartesianTransformationOperator2DnonUniform : public IfcCartesianTransformationOperator2D { public: /// Whether the optional attribute Scale2 is defined for this IfcCartesianTransformationOperator2DnonUniform bool hasScale2() const; @@ -19021,7 +19021,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: cartesian_transformation_operator_3d, please refer to ISO/IS 10303-42:1994, p. 33 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IfcParse_EXPORT IfcCartesianTransformationOperator3D : public IfcCartesianTransformationOperator { +class IFC_PARSE_API IfcCartesianTransformationOperator3D : public IfcCartesianTransformationOperator { public: /// Whether the optional attribute Axis3 is defined for this IfcCartesianTransformationOperator3D bool hasAxis3() const; @@ -19051,7 +19051,7 @@ public: /// NOTE: The scale factor (Scl) defined at the supertype IfcCartesianTransformationOperator is used to express the calculated Scale factor (normally x axis scale factor). /// /// HISTORY: New entity in IFC Release 2x. -class IfcParse_EXPORT IfcCartesianTransformationOperator3DnonUniform : public IfcCartesianTransformationOperator3D { +class IFC_PARSE_API IfcCartesianTransformationOperator3DnonUniform : public IfcCartesianTransformationOperator3D { public: /// Whether the optional attribute Scale2 is defined for this IfcCartesianTransformationOperator3DnonUniform bool hasScale2() const; @@ -19087,7 +19087,7 @@ public: /// Or in case of sectioned spines, it is the xy plane of each list member of IfcSectionedSpine.CrossSectionPositions. By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. Explicit coordinate offsets are used to define cardinal points (e.g. upper-left bound). The Position attribute defines the 2D position coordinate system of the circle. The Radius attribute defines the radius of the circle. /// /// Figure 313 — Circle profile -class IfcParse_EXPORT IfcCircleProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcCircleProfileDef : public IfcParameterizedProfileDef { public: /// The radius of the circle. double Radius() const; @@ -19153,7 +19153,7 @@ public: /// The closed shell shall be an oriented arcwise connected 2-manifold. /// The Euler equation shall be satisfied. Note: Please refer to ISO/IS /// 10303-42:1994, p.149 for the equation. -class IfcParse_EXPORT IfcClosedShell : public IfcConnectedFaceSet { +class IFC_PARSE_API IfcClosedShell : public IfcConnectedFaceSet { public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcConnectedFaceSet::getArgumentType(i); } @@ -19174,7 +19174,7 @@ public: /// NOTE Corresponding ISO 10303 entity: composite_curve_segment. Please refer to ISO/IS 10303-42:1994, p.57 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.0 -class IfcParse_EXPORT IfcCompositeCurveSegment : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcCompositeCurveSegment : public IfcGeometricRepresentationItem { public: /// The state of transition (i.e., geometric continuity from the last point of this segment to the first point of the next segment) in a composite curve. IfcTransitionCode::IfcTransitionCode Transition() const; @@ -19201,7 +19201,7 @@ public: typedef IfcTemplatedEntityList< IfcCompositeCurveSegment > list; }; -class IfcParse_EXPORT IfcCraneRailAShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcCraneRailAShapeProfileDef : public IfcParameterizedProfileDef { public: double OverallHeight() const; void setOverallHeight(double v); @@ -19244,7 +19244,7 @@ public: typedef IfcTemplatedEntityList< IfcCraneRailAShapeProfileDef > list; }; -class IfcParse_EXPORT IfcCraneRailFShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcCraneRailFShapeProfileDef : public IfcParameterizedProfileDef { public: double OverallHeight() const; void setOverallHeight(double v); @@ -19285,7 +19285,7 @@ public: /// NOTEÿ No directly corresponding ISO 10303-42 entity, the select type primitive_3d covers the same individual 3D CSG primitives, the position attribute has been added to apply equally to all subtypes. Please refer to ISO/IS 10303-42:1994, p. 234 for the final definition of the formal standard. /// /// HISTORYÿ New entity in IFC2x3. -class IfcParse_EXPORT IfcCsgPrimitive3D : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcCsgPrimitive3D : public IfcGeometricRepresentationItem { public: /// The placement coordinate system to which the parameters of each individual CSG primitive apply. IfcAxis2Placement3D* Position() const; @@ -19343,7 +19343,7 @@ public: /// NOTE Corresponding ISO 10303-42 entity: csg_solid, please refer to ISO/IS 10303-42:1994, p.174 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.5.1 -class IfcParse_EXPORT IfcCsgSolid : public IfcSolidModel { +class IFC_PARSE_API IfcCsgSolid : public IfcSolidModel { public: /// Boolean expression of primitives and regularized operators describing the solid. The root of the tree of Boolean expressions is given explicitly as an IfcBooleanResult entitiy or as a primitive (subtypes of IfcCsgPrimitive3D). IfcCsgSelect* TreeRootExpression() const; @@ -19370,7 +19370,7 @@ public: /// /// A curve shall be arcwise connected /// A curve shall have an arc length greater than zero. -class IfcParse_EXPORT IfcCurve : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcCurve : public IfcGeometricRepresentationItem { public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcGeometricRepresentationItem::getArgumentType(i); } @@ -19397,7 +19397,7 @@ public: /// HISTORY  New entity in IFC Release 1.5 /// /// IFC2x PLATFORM CHANGE: The data type of the attribute OuterBoundary and InnerBoundaries has been changed from Ifc2DCompositeCurve to its supertype IfcCurve with upward compatibility for file based exchange. -class IfcParse_EXPORT IfcCurveBoundedPlane : public IfcBoundedSurface { +class IFC_PARSE_API IfcCurveBoundedPlane : public IfcBoundedSurface { public: /// The surface to be bound. IfcPlane* BasisSurface() const; @@ -19427,7 +19427,7 @@ public: /// NOTE Corresponding ISO 10303 name: defined_symbol. The target attribute used the 2d Cartesian transformation operator, including the non-uniform subtype, which is available in IFC (instead of the symbol_target). Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IfcParse_EXPORT IfcDefinedSymbol : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcDefinedSymbol : public IfcGeometricRepresentationItem { public: /// An implicit description of the symbol, either predefined or externally defined. IfcDefinedSymbolSelect* Definition() const; @@ -19448,7 +19448,7 @@ public: typedef IfcTemplatedEntityList< IfcDefinedSymbol > list; }; -class IfcParse_EXPORT IfcDimensionCurve : public IfcAnnotationCurveOccurrence { +class IFC_PARSE_API IfcDimensionCurve : public IfcAnnotationCurveOccurrence { public: virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcAnnotationCurveOccurrence::getArgumentType(i); } @@ -19464,7 +19464,7 @@ public: typedef IfcTemplatedEntityList< IfcDimensionCurve > list; }; -class IfcParse_EXPORT IfcDimensionCurveTerminator : public IfcTerminatorSymbol { +class IFC_PARSE_API IfcDimensionCurveTerminator : public IfcTerminatorSymbol { public: IfcDimensionExtentUsage::IfcDimensionExtentUsage Role() const; void setRole(IfcDimensionExtentUsage::IfcDimensionExtentUsage v); @@ -19487,7 +19487,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: direction. Please refer to ISO/IS 10303-42:1994, p.26 for the final definition of the formal standard. The derived attribute Dim has been added (see also note at IfcGeometricRepresentationItem). /// /// HISTORY: New entity in IFC Release 1.0 -class IfcParse_EXPORT IfcDirection : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcDirection : public IfcGeometricRepresentationItem { public: /// The components in the direction of X axis (DirectionRatios[1]), of Y axis (DirectionRatios[2]), and of Z axis (DirectionRatios[3]) std::vector< double > /*[2:3]*/ DirectionRatios() const; @@ -19599,7 +19599,7 @@ public: /// Figure 172 — Door lining properties /// /// NOTE LiningDepth describes the length of the lining along the reveal of the door opening. It can be given by an absolute value if the door lining has a specific depth depending on the door style. However often it is equal to the wall thickness. If the same door style is used (like the same type of single swing door), but inserted into different walls with different thicknesses, it would be necessary to create a special door style for each wall thickness. Therefore several CAD systems allow to set the value to "automatically aligned" to wall thickness. This should be exchanged by leaving the optional attribute LiningDepth unassigned. The same agreement applies to ThresholdDepth. -class IfcParse_EXPORT IfcDoorLiningProperties : public IfcPropertySetDefinition { +class IFC_PARSE_API IfcDoorLiningProperties : public IfcPropertySetDefinition { public: /// Whether the optional attribute LiningDepth is defined for this IfcDoorLiningProperties bool hasLiningDepth() const; @@ -19715,7 +19715,7 @@ public: /// PanelWidth /// /// Figure 173 — Door panel properties -class IfcParse_EXPORT IfcDoorPanelProperties : public IfcPropertySetDefinition { +class IFC_PARSE_API IfcDoorPanelProperties : public IfcPropertySetDefinition { public: /// Whether the optional attribute PanelDepth is defined for this IfcDoorPanelProperties bool hasPanelDepth() const; @@ -19778,7 +19778,7 @@ public: /// operation (swinging, sliding, folding, etc.)ÿand the number of panels. /// /// See geometry use definitions at IfcDoorStyleOperationTypeEnum for the correct usage of opening symbols for different operation types. -class IfcParse_EXPORT IfcDoorStyle : public IfcTypeProduct { +class IFC_PARSE_API IfcDoorStyle : public IfcTypeProduct { public: /// Type defining the general layout and operation of the door style. IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum OperationType() const; @@ -19805,7 +19805,7 @@ public: typedef IfcTemplatedEntityList< IfcDoorStyle > list; }; -class IfcParse_EXPORT IfcDraughtingCallout : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcDraughtingCallout : public IfcGeometricRepresentationItem { public: IfcEntityList::ptr Contents() const; void setContents(IfcEntityList::ptr v); @@ -19895,7 +19895,7 @@ public: /// Informal proposition /// /// The value 'by layer' shall only be inserted, if the geometric representation item using the colour definition has an association to IfcPresentationLayerWithStyle, and if that instance of IfcPresentationLayerWithStyle has a valid colour definition for IfcCurveStyle, IfcSymbolStyle, or IfcSurfaceStyle (depending on what is applicable). -class IfcParse_EXPORT IfcDraughtingPreDefinedColour : public IfcPreDefinedColour { +class IFC_PARSE_API IfcDraughtingPreDefinedColour : public IfcPreDefinedColour { public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcPreDefinedColour::getArgumentType(i); } @@ -19922,7 +19922,7 @@ public: /// NOTE  Corresponding ISO 10303 name: pre_defined_curve_font. Please refer to ISO/IS 10303-46:1994 TC2, page 12 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IfcParse_EXPORT IfcDraughtingPreDefinedCurveFont : public IfcPreDefinedCurveFont { +class IFC_PARSE_API IfcDraughtingPreDefinedCurveFont : public IfcPreDefinedCurveFont { public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcPreDefinedCurveFont::getArgumentType(i); } @@ -19947,7 +19947,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: edge_loop. Please refer to ISO/IS 10303-42:1994, p. 122 for the final definition of the formal standard. /// /// HISTORY  New Entity in IFC2x2. -class IfcParse_EXPORT IfcEdgeLoop : public IfcLoop { +class IFC_PARSE_API IfcEdgeLoop : public IfcLoop { public: /// A list of oriented edge entities which are concatenated together to form this path. IfcTemplatedEntityList< IfcOrientedEdge >::ptr EdgeList() const; @@ -20041,7 +20041,7 @@ public: /// IfcElementQuantity.Quantities = SET of subtypes of /// IfcPhysicalSimpleQuantity with values for the Name /// attribute as published as part of the IFC specifciation. -class IfcParse_EXPORT IfcElementQuantity : public IfcPropertySetDefinition { +class IFC_PARSE_API IfcElementQuantity : public IfcPropertySetDefinition { public: /// Whether the optional attribute MethodOfMeasurement is defined for this IfcElementQuantity bool hasMethodOfMeasurement() const; @@ -20087,7 +20087,7 @@ public: /// /// HISTORY New entity in /// Release IFC2x Edition 2 -class IfcParse_EXPORT IfcElementType : public IfcTypeProduct { +class IFC_PARSE_API IfcElementType : public IfcTypeProduct { public: /// Whether the optional attribute ElementType is defined for this IfcElementType bool hasElementType() const; @@ -20111,7 +20111,7 @@ public: /// NOTE Corresponding ISO 10303 entity: elementary_surface. Only the subtype plane is incorporated as IfcPlane. The derived attribute Dim has been added (see also note at IfcGeometricRepresentationItem). Please refer to ISO/IS 10303-42:1994, p. 69 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.5 -class IfcParse_EXPORT IfcElementarySurface : public IfcSurface { +class IFC_PARSE_API IfcElementarySurface : public IfcSurface { public: /// The position and orientation of the surface. This attribute is used in the definition of the parameterization of the surface. IfcAxis2Placement3D* Position() const; @@ -20144,7 +20144,7 @@ public: /// NOTE  The semi axes of the ellipse are rectangular to each other by definition. /// /// Figure 317 — Ellipse profile -class IfcParse_EXPORT IfcEllipseProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcEllipseProfileDef : public IfcParameterizedProfileDef { public: /// The first radius of the ellipse. It is measured along the direction of Position.P[1]. double SemiAxis1() const; @@ -20165,7 +20165,7 @@ public: typedef IfcTemplatedEntityList< IfcEllipseProfileDef > list; }; -class IfcParse_EXPORT IfcEnergyProperties : public IfcPropertySetDefinition { +class IFC_PARSE_API IfcEnergyProperties : public IfcPropertySetDefinition { public: /// Whether the optional attribute EnergySequence is defined for this IfcEnergyProperties bool hasEnergySequence() const; @@ -20255,7 +20255,7 @@ public: /// -0.5*IfcIShapeProfileDef.OverallDepth). /// /// Figure 256 — Extruded area solid textures -class IfcParse_EXPORT IfcExtrudedAreaSolid : public IfcSweptAreaSolid { +class IFC_PARSE_API IfcExtrudedAreaSolid : public IfcSweptAreaSolid { public: /// The direction in which the surface, provided by SweptArea is to be swept. IfcDirection* ExtrudedDirection() const; @@ -20288,7 +20288,7 @@ public: /// /// The connected face sets shall not overlap or intersect except at common faces, edges or vertices. /// The fbsm faces have dimensionality 2. -class IfcParse_EXPORT IfcFaceBasedSurfaceModel : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcFaceBasedSurfaceModel : public IfcGeometricRepresentationItem { public: /// The set of connected face sets comprising the face based surface model. IfcTemplatedEntityList< IfcConnectedFaceSet >::ptr FbsmFaces() const; @@ -20352,7 +20352,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcFillAreaStyleHatching has been changed by making the attributes PatternStart and PointOfReferenceHatchLine OPTIONAL. The attribute StartOfNextHatchLine has changed to a SELECT with the additional choice of IfcPositiveLengthMeasure. Upward compatibility for file based exchange is guaranteed. -class IfcParse_EXPORT IfcFillAreaStyleHatching : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcFillAreaStyleHatching : public IfcGeometricRepresentationItem { public: /// The curve style of the hatching lines. Any curve style pattern shall start at the origin of each hatch line. IfcCurveStyle* HatchLineAppearance() const; @@ -20400,7 +20400,7 @@ public: /// NOTE: Corresponding ISO 10303 name: fill_area_style_tile_symbol_with_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x2. -class IfcParse_EXPORT IfcFillAreaStyleTileSymbolWithStyle : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcFillAreaStyleTileSymbolWithStyle : public IfcGeometricRepresentationItem { public: /// A styled item that is used as the annotation symbol for tiling the filled area. /// @@ -20426,7 +20426,7 @@ public: /// NOTE Corresponding ISO 10303 name: fill_area_style_tiles. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IfcParse_EXPORT IfcFillAreaStyleTiles : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcFillAreaStyleTiles : public IfcGeometricRepresentationItem { public: /// A two direction repeat factor defining the shape and relative positioning of the tiles. IfcOneDirectionRepeatFactor* TilingPattern() const; @@ -20450,7 +20450,7 @@ public: typedef IfcTemplatedEntityList< IfcFillAreaStyleTiles > list; }; -class IfcParse_EXPORT IfcFluidFlowProperties : public IfcPropertySetDefinition { +class IFC_PARSE_API IfcFluidFlowProperties : public IfcPropertySetDefinition { public: IfcPropertySourceEnum::IfcPropertySourceEnum PropertySource() const; void setPropertySource(IfcPropertySourceEnum::IfcPropertySourceEnum v); @@ -20548,7 +20548,7 @@ public: /// IFC2x4 CHANGE The entity is marked /// as deprecated for instantiation - will be made ABSTRACT after /// IFC2x4. -class IfcParse_EXPORT IfcFurnishingElementType : public IfcElementType { +class IFC_PARSE_API IfcFurnishingElementType : public IfcElementType { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElementType::getArgumentType(i); } @@ -20599,7 +20599,7 @@ public: /// The IfcFurnitureType may be decomposed into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcFurnitureType and RelatedObjects contains one or more components. Components are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Composition use is defined for the following predefined types: /// /// (All Types): May contain IfcSystemFurnitureElement components. Modular furniture may be aggregated into components. -class IfcParse_EXPORT IfcFurnitureType : public IfcFurnishingElementType { +class IFC_PARSE_API IfcFurnitureType : public IfcFurnishingElementType { public: /// A designation of where the assembly is intended to take place. A selection of alternatives s provided in an enumerated list. IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum AssemblyPlace() const; @@ -20623,7 +20623,7 @@ public: /// NOTE: Corresponding ISO 10303-42 entity: geometric_set. Please refer to ISO/IS 10303-42:1994, p. 190 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x2. -class IfcParse_EXPORT IfcGeometricCurveSet : public IfcGeometricSet { +class IFC_PARSE_API IfcGeometricCurveSet : public IfcGeometricSet { public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcGeometricSet::getArgumentType(i); } @@ -20700,7 +20700,7 @@ public: /// and flanges. /// /// Figure 318 — I-shape profile -class IfcParse_EXPORT IfcIShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcIShapeProfileDef : public IfcParameterizedProfileDef { public: /// Total extent of the width, defined parallel to the x axis of the position coordinate system. double OverallWidth() const; @@ -20782,7 +20782,7 @@ public: /// In the illustrated example, the x and y value of Position.Location, i.e. the measures |CentreOfGravityInX| and |CentreOfGravityInY| are both positive. On the other hand, the properties named 'CentreOfGravityInX' and 'CentreOfGravityInY' in IfcExtendedProfileProperties, if provided, must both be set to 0 now because the centre of gravity of the resulting profile definition is located in the coordinate origin. /// /// Figure 319 — L-shape profile -class IfcParse_EXPORT IfcLShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcLShapeProfileDef : public IfcParameterizedProfileDef { public: /// Leg length, see illustration above (= h). Same as the overall depth. double Depth() const; @@ -20843,7 +20843,7 @@ public: /// NOTE Corresponding ISO 10303 entity: line. Please refer to ISO/IS 10303-42:1994, p.37 for the final definition of the formal standard. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. /// /// HISTORY New class in IFC Release 1.0 -class IfcParse_EXPORT IfcLine : public IfcCurve { +class IFC_PARSE_API IfcLine : public IfcCurve { public: /// The location of the line. IfcCartesianPoint* Pnt() const; @@ -20926,7 +20926,7 @@ public: /// The Euler equation shall be satisfied for the boundary /// representation, where the genus term "shell term" us the sum of /// the genus values for the shells of the brep. -class IfcParse_EXPORT IfcManifoldSolidBrep : public IfcSolidModel { +class IFC_PARSE_API IfcManifoldSolidBrep : public IfcSolidModel { public: /// A closed shell defining the exterior boundary of the solid. The shell normal shall point away from the interior of the solid. IfcClosedShell* Outer() const; @@ -21025,7 +21025,7 @@ public: /// IsDeclaredBy, or Declares shall only be used, if /// the object is part of a decomposition, i.e. if either /// IsDecomposedBy, or Decomposes is exerted. -class IfcParse_EXPORT IfcObject : public IfcObjectDefinition { +class IFC_PARSE_API IfcObject : public IfcObjectDefinition { public: /// Whether the optional attribute ObjectType is defined for this IfcObject bool hasObjectType() const; @@ -21056,7 +21056,7 @@ public: /// NOTE Corresponding ISO 10303 entity: offset_curve_2d, Please refer to ISO/IS 10303-42:1994, p.65 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 2.x -class IfcParse_EXPORT IfcOffsetCurve2D : public IfcCurve { +class IFC_PARSE_API IfcOffsetCurve2D : public IfcCurve { public: /// The curve that is being offset. IfcCurve* BasisCurve() const; @@ -21094,7 +21094,7 @@ public: /// Informal propositions: /// /// At no point on the curve shall ref direction be parallel, or opposite to, the direction of the tangent vector. -class IfcParse_EXPORT IfcOffsetCurve3D : public IfcCurve { +class IFC_PARSE_API IfcOffsetCurve3D : public IfcCurve { public: /// The curve that is being offset. IfcCurve* BasisCurve() const; @@ -21151,7 +21151,7 @@ public: /// As shown in Figure 174, the panel is applied to the position within the lining, as defined by the panel position attribute. The following parameters apply to that panel: FrameDepth, FrameThickness. /// /// Figure 174 — Permeable covering properties -class IfcParse_EXPORT IfcPermeableCoveringProperties : public IfcPropertySetDefinition { +class IFC_PARSE_API IfcPermeableCoveringProperties : public IfcPropertySetDefinition { public: /// Types of permeable covering operations. Also used to assign standard symbolic presentations according to national building standards. IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum OperationType() const; @@ -21192,7 +21192,7 @@ public: /// ISO/IS 10303-46:1994, p. 141 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IfcParse_EXPORT IfcPlanarBox : public IfcPlanarExtent { +class IFC_PARSE_API IfcPlanarBox : public IfcPlanarExtent { public: /// The IfcAxis2Placement positions a local coordinate system for the definition of the rectangle. The origin of this local coordinate system serves as the lower left corner of the rectangular box. /// NOTE  In case of a 3D placement by IfcAxisPlacement3D the IfcPlanarBox is defined within the xy plane of the definition coordinate system. @@ -21246,7 +21246,7 @@ public: /// NOTE Corresponding ISO 10303 entity: plane. Please refer to ISO/IS 10303-42:1994, p.69 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.5 -class IfcParse_EXPORT IfcPlane : public IfcElementarySurface { +class IFC_PARSE_API IfcPlane : public IfcElementarySurface { public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElementarySurface::getArgumentType(i); } @@ -21300,7 +21300,7 @@ public: /// control onto the process can be assigned to a process, such as for cost management (a cost item assigned to a work task). /// Having a resource assigned to the process as consumed by the process : IfcRelAssignsToProcess - Items that act /// as a mechanism to a process, such as labor, material and equipment in cost calculations. -class IfcParse_EXPORT IfcProcess : public IfcObject { +class IFC_PARSE_API IfcProcess : public IfcObject { public: virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcObject::getArgumentType(i); } @@ -21408,7 +21408,7 @@ public: /// IfcProductDefinitionShape being either a geometric shape /// representation, or a topology representation (with or without /// underlying geometry of the topological items). -class IfcParse_EXPORT IfcProduct : public IfcObject { +class IFC_PARSE_API IfcProduct : public IfcObject { public: /// Whether the optional attribute ObjectPlacement is defined for this IfcProduct bool hasObjectPlacement() const; @@ -21477,7 +21477,7 @@ public: /// Informal propositions: /// /// There shall only be one project within the exchange context. This is enforced by the global rule IfcSingleProjectInstance. -class IfcParse_EXPORT IfcProject : public IfcObject { +class IFC_PARSE_API IfcProject : public IfcObject { public: /// Whether the optional attribute LongName is defined for this IfcProject bool hasLongName() const; @@ -21504,7 +21504,7 @@ public: typedef IfcTemplatedEntityList< IfcProject > list; }; -class IfcParse_EXPORT IfcProjectionCurve : public IfcAnnotationCurveOccurrence { +class IFC_PARSE_API IfcProjectionCurve : public IfcAnnotationCurveOccurrence { public: virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcAnnotationCurveOccurrence::getArgumentType(i); } @@ -21571,7 +21571,7 @@ public: /// Property sets that are not declared as part of the IFC /// specification shall have a Name value not including the /// "Pset_" prefix. -class IfcParse_EXPORT IfcPropertySet : public IfcPropertySetDefinition { +class IFC_PARSE_API IfcPropertySet : public IfcPropertySetDefinition { public: /// Contained set of properties. For property sets defined as part of the IFC Object model, the property objects within a property set are defined as part of the standard. If a property is not contained within the set of predefined properties, its value has not been set at this time. IfcTemplatedEntityList< IfcProperty >::ptr HasProperties() const; @@ -21604,7 +21604,7 @@ public: /// representations assigned. /// /// HISTORY  New entity in IFC Release 1.5. -class IfcParse_EXPORT IfcProxy : public IfcProduct { +class IFC_PARSE_API IfcProxy : public IfcProduct { public: /// High level (and only) semantic meaning attached to the IfcProxy, defining the basic construct type behind the Proxy, e.g. Product or Process. IfcObjectTypeEnum::IfcObjectTypeEnum ProxyType() const; @@ -21646,7 +21646,7 @@ public: /// relative to the profile. /// /// Figure 322 — Rectangle hollow profile -class IfcParse_EXPORT IfcRectangleHollowProfileDef : public IfcRectangleProfileDef { +class IFC_PARSE_API IfcRectangleHollowProfileDef : public IfcRectangleProfileDef { public: /// Thickness of the material. double WallThickness() const; @@ -21761,7 +21761,7 @@ public: /// +Y /// /// Figure 261 — Right circular cone textures -class IfcParse_EXPORT IfcRectangularPyramid : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcRectangularPyramid : public IfcCsgPrimitive3D { public: /// The length of the base measured along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. double XLength() const; @@ -21799,7 +21799,7 @@ public: /// Informal propositions: /// /// The domain of the trimmed surface shall be within the domain of the surface being trimmed. -class IfcParse_EXPORT IfcRectangularTrimmedSurface : public IfcBoundedSurface { +class IFC_PARSE_API IfcRectangularTrimmedSurface : public IfcBoundedSurface { public: /// Surface being trimmed. IfcSurface* BasisSurface() const; @@ -21845,7 +21845,7 @@ public: /// The assignment relationship establishs a bi-directional relationship among the participating objects and does not imply any dependency. The subtypes of IfcRelAssigns establishes the particular semantic meaning of the assignment relationship. /// /// HISTORY: New entity in IFC Release 2x. -class IfcParse_EXPORT IfcRelAssigns : public IfcRelationship { +class IFC_PARSE_API IfcRelAssigns : public IfcRelationship { public: /// Related objects, which are assigned to a single object. The type of the single (or relating) object is defined in the subtypes of IfcRelAssigns. IfcTemplatedEntityList< IfcObjectDefinition >::ptr RelatedObjects() const; @@ -21877,7 +21877,7 @@ public: /// Reference to the objects (or single object) on which the actor acts upon in a certain role (if given) is specified in the inherited RelatedObjects attribute. /// /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelActsUpon in IFC Release 2x. -class IfcParse_EXPORT IfcRelAssignsToActor : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToActor : public IfcRelAssigns { public: /// Reference to the information about the actor. It comprises the information about the person or organization and its addresses. IfcActor* RelatingActor() const; @@ -21904,7 +21904,7 @@ public: /// EXAMPLEÿ The assignment of a performance history (as subtype of IfcControl) for a building service element (as subtype of IfcObject) is an application of this generic relationship. /// /// HISTORYÿ New Entity in IFC Release 2.0. Has been renamed from IfcRelControls in IFC Release 2x. -class IfcParse_EXPORT IfcRelAssignsToControl : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToControl : public IfcRelAssigns { public: /// Reference to the IfcControl that applies a control upon objects. IfcControl* RelatingControl() const; @@ -21934,7 +21934,7 @@ public: /// The group assignment relationship shall be acyclic, that is, a group shall not participate in its own grouping relationship. /// /// HISTORY New entity in IFC Release 1.0. It has been renamed from IfcRelGroups in IFC Release 2x. -class IfcParse_EXPORT IfcRelAssignsToGroup : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToGroup : public IfcRelAssigns { public: /// Reference to group that contains all assigned group members. IfcGroup* RelatingGroup() const; @@ -21973,7 +21973,7 @@ public: /// HISTORY New entity in IFC Release 1.5. Has been renamed from IfcRelProcessOperatesOn in IFC Release 2x. /// /// IFC2x4 CHANGE The data type RelatingProcess has been extended to cover also IfcTypeProcess -class IfcParse_EXPORT IfcRelAssignsToProcess : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToProcess : public IfcRelAssigns { public: /// Reference to the process to which the objects are assigned to. /// @@ -22005,7 +22005,7 @@ public: /// HISTORY New Entity in IFC Release 2x /// /// IFC2x3 CHANGE ÿThe reference of a product within a spatial structure is now handled by a new relationship object IfcRelReferencedInSpatialStructure. The IfcRelAssignsToProduct shall not be used to represent this relation from IFC2x3 onwards. -class IfcParse_EXPORT IfcRelAssignsToProduct : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToProduct : public IfcRelAssigns { public: /// Reference to the product or product type to which the objects are assigned to. /// @@ -22025,7 +22025,7 @@ public: typedef IfcTemplatedEntityList< IfcRelAssignsToProduct > list; }; -class IfcParse_EXPORT IfcRelAssignsToProjectOrder : public IfcRelAssignsToControl { +class IFC_PARSE_API IfcRelAssignsToProjectOrder : public IfcRelAssignsToControl { public: virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcRelAssignsToControl::getArgumentType(i); } @@ -22045,7 +22045,7 @@ public: /// EXAMPLE The assignment of a resource usage to a construction resource is an application of this generic relationship. It could be an actor, as person or organization assigned to a labor resource, or a raw product assigned to a construction product or material resource). /// /// HISTORY New Entity in IFC Release 2x. -class IfcParse_EXPORT IfcRelAssignsToResource : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToResource : public IfcRelAssigns { public: /// Reference to the resource to which the objects are assigned to. /// @@ -22105,7 +22105,7 @@ public: /// HISTORY New entity in IFC Release 2x. /// /// IFC2x4 CHANGE Entity has been changed into an ABSTRACT supertype -class IfcParse_EXPORT IfcRelAssociates : public IfcRelationship { +class IFC_PARSE_API IfcRelAssociates : public IfcRelationship { public: /// Set of object or property definitions to which the external references or information is associated. It includes object and type objects, property set templates, property templates and property sets and contexts. /// @@ -22125,7 +22125,7 @@ public: typedef IfcTemplatedEntityList< IfcRelAssociates > list; }; -class IfcParse_EXPORT IfcRelAssociatesAppliedValue : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesAppliedValue : public IfcRelAssociates { public: IfcAppliedValue* RelatingAppliedValue() const; void setRelatingAppliedValue(IfcAppliedValue* v); @@ -22144,7 +22144,7 @@ public: /// The entity IfcRelAssociatesApproval is used to apply approval information defined by IfcApproval, in IfcApprovalResource schema, to subtypes of IfcRoot. /// /// HISTORY: New entity in IFC2x2. -class IfcParse_EXPORT IfcRelAssociatesApproval : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesApproval : public IfcRelAssociates { public: /// Reference to approval that is being applied using this relationship. IfcApproval* RelatingApproval() const; @@ -22191,7 +22191,7 @@ public: /// multiple objects. /// /// HISTORY New entity in IFC Release 2x. -class IfcParse_EXPORT IfcRelAssociatesClassification : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesClassification : public IfcRelAssociates { public: /// Classification applied to the objects. IfcClassificationNotationSelect* RelatingClassification() const; @@ -22211,7 +22211,7 @@ public: /// The entity IfcRelAssociatesConstraint is used to apply constraint information defined by IfcConstraint, in the IfcConstraintResource schema, to subtypes of IfcRoot. /// /// HISTORY: New entity in IFC2x2. -class IfcParse_EXPORT IfcRelAssociatesConstraint : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesConstraint : public IfcRelAssociates { public: /// The intent of the constraint usage with regard to its related IfcConstraint and IfcObjects, IfcPropertyDefinitions or IfcRelationships. Typical values can be e.g. RATIONALE or EXPECTED PERFORMANCE. std::string Intent() const; @@ -22238,7 +22238,7 @@ public: /// The inherited attribute RelatedObjects define the objects to which the document association is applied. The attribute RelatingDocument is the reference to a document reference, applied to the object(s). /// /// HISTORY: New entity in IFC Release 2x. -class IfcParse_EXPORT IfcRelAssociatesDocument : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesDocument : public IfcRelAssociates { public: /// Document information or reference which is applied to the objects. IfcDocumentSelect* RelatingDocument() const; @@ -22262,7 +22262,7 @@ public: /// The inherited attribute RelatedObjects define the items to which the library association is applied. The attribute RelatingLibrary is the reference to a library reference, applied to the item(s). /// /// HISTORY: New entity in IFC Release 2x. -class IfcParse_EXPORT IfcRelAssociatesLibrary : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesLibrary : public IfcRelAssociates { public: /// Reference to a library, from which the definition of the property set is taken. IfcLibrarySelect* RelatingLibrary() const; @@ -22373,7 +22373,7 @@ public: /// An IfcMaterialProfileSetUsage shall not be associated /// with a subtype of IfcElementType, it should only be /// associated with individual occurrences -class IfcParse_EXPORT IfcRelAssociatesMaterial : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesMaterial : public IfcRelAssociates { public: /// Material definition assigned to the elements or element types. IfcMaterialSelect* RelatingMaterial() const; @@ -22391,7 +22391,7 @@ public: typedef IfcTemplatedEntityList< IfcRelAssociatesMaterial > list; }; -class IfcParse_EXPORT IfcRelAssociatesProfileProperties : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesProfileProperties : public IfcRelAssociates { public: IfcProfileProperties* RelatingProfileProperties() const; void setRelatingProfileProperties(IfcProfileProperties* v); @@ -22418,7 +22418,7 @@ public: /// IfcRelConnects is a connectivity relationship that connects objects under some criteria. As a general connectivity it does not imply constraints, however subtypes of the relationship define the applicable object types for the connectivity relationship and the semantics of the particular connectivity. /// /// HISTORY: New entity in IFC Release 2x. -class IfcParse_EXPORT IfcRelConnects : public IfcRelationship { +class IFC_PARSE_API IfcRelConnects : public IfcRelationship { public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcRelationship::getArgumentType(i); } @@ -22454,7 +22454,7 @@ public: /// /// HISTORY New entity in IFC /// Release 1.0. -class IfcParse_EXPORT IfcRelConnectsElements : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsElements : public IfcRelConnects { public: /// Whether the optional attribute ConnectionGeometry is defined for this IfcRelConnectsElements bool hasConnectionGeometry() const; @@ -22511,7 +22511,7 @@ public: /// /// Figure 116 — Path connection T-Type /// Figure 117 — Path connection L-Type -class IfcParse_EXPORT IfcRelConnectsPathElements : public IfcRelConnectsElements { +class IFC_PARSE_API IfcRelConnectsPathElements : public IfcRelConnectsElements { public: /// Priorities for connection. It refers to the layers of the RelatingObject. std::vector< int > /*[0:?]*/ RelatingPriorities() const; @@ -22562,7 +22562,7 @@ public: /// entity in Release IFC2x Edition 2. /// IFC2x4 CHANGE  The /// definition has been extended to include element types. -class IfcParse_EXPORT IfcRelConnectsPortToElement : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsPortToElement : public IfcRelConnects { public: /// Reference to an Port that is connected by the objectified relationship. IfcPort* RelatingPort() const; @@ -22597,7 +22597,7 @@ public: /// /// HISTORY New entity in IFC /// 2.0, modified in IFC2x. -class IfcParse_EXPORT IfcRelConnectsPorts : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsPorts : public IfcRelConnects { public: /// Reference to the first port that is connected by the objectified relationship. IfcPort* RelatingPort() const; @@ -22625,7 +22625,7 @@ public: /// Definition from IAI: The IfcRelConnectsStructuralActivity relationship connects a structural activity (either an action or reaction) to a structural member, structural connection, or element. /// /// HISTORY: New entity in IFC 2x2. -class IfcParse_EXPORT IfcRelConnectsStructuralActivity : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsStructuralActivity : public IfcRelConnects { public: /// Reference to a structural item or element to which the specified activity is applied. IfcStructuralActivityAssignmentSelect* RelatingElement() const; @@ -22646,7 +22646,7 @@ public: typedef IfcTemplatedEntityList< IfcRelConnectsStructuralActivity > list; }; -class IfcParse_EXPORT IfcRelConnectsStructuralElement : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsStructuralElement : public IfcRelConnects { public: IfcElement* RelatingElement() const; void setRelatingElement(IfcElement* v); @@ -22688,7 +22688,7 @@ public: /// Figure 235 illustrates the appropriate definition of support lengths. /// /// Figure 235 — Structural member support lengths -class IfcParse_EXPORT IfcRelConnectsStructuralMember : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsStructuralMember : public IfcRelConnects { public: /// Reference to an instance of IfcStructuralMember (or its subclasses) which is connected to the specified structural connection. IfcStructuralMember* RelatingStructuralMember() const; @@ -22745,7 +22745,7 @@ public: /// /// Surface Connection /// ConnectionConstraint shall be of type IfcConnectionSurfaceGeometry and shall refer to two instances of IfcFaceSurface. -class IfcParse_EXPORT IfcRelConnectsWithEccentricity : public IfcRelConnectsStructuralMember { +class IFC_PARSE_API IfcRelConnectsWithEccentricity : public IfcRelConnectsStructuralMember { public: /// The connection constraint explicitly states the eccentricity between a structural member and a structural connection by means of two topological objects (vertex and vertex, or edge and edge, or face and face). IfcConnectionGeometry* ConnectionConstraint() const; @@ -22785,7 +22785,7 @@ public: /// /// HISTORY: New entity in /// Release IFC2x Edition 2. -class IfcParse_EXPORT IfcRelConnectsWithRealizingElements : public IfcRelConnectsElements { +class IFC_PARSE_API IfcRelConnectsWithRealizingElements : public IfcRelConnectsElements { public: /// Defines the elements that realize a connection relationship. IfcTemplatedEntityList< IfcElement >::ptr RealizingElements() const; @@ -22869,7 +22869,7 @@ public: /// ÿ /// /// Figure 39 — Relationship for spatial structure containment -class IfcParse_EXPORT IfcRelContainedInSpatialStructure : public IfcRelConnects { +class IFC_PARSE_API IfcRelContainedInSpatialStructure : public IfcRelConnects { public: /// Set of elements products, which are contained within this level of the spatial structure hierarchy. /// @@ -22907,7 +22907,7 @@ public: /// type of the attribute RelatingElement has been changed /// from IfcElement to its subtype /// IfcBuildingElement. -class IfcParse_EXPORT IfcRelCoversBldgElements : public IfcRelConnects { +class IFC_PARSE_API IfcRelCoversBldgElements : public IfcRelConnects { public: /// Relationship to the building element that is covered. /// @@ -22955,7 +22955,7 @@ public: /// /// HISTORYÿ New Entity in Release /// IFC 2x Edition 3. -class IfcParse_EXPORT IfcRelCoversSpaces : public IfcRelConnects { +class IFC_PARSE_API IfcRelCoversSpaces : public IfcRelConnects { public: IfcSpace* RelatedSpace() const; void setRelatedSpace(IfcSpace* v); @@ -23004,7 +23004,7 @@ public: /// HISTORY New entity in IFC Release 1.5, it is a generalisation of the IFC2.0 entity IfcRelNests. /// /// IFC2x4 CHANGE The differentiation between the aggregation and nesting is determined to be a non-ordered or an ordered collection of parts. The attributes RelatingObject and RelatedObjects have been demoted to the subtypes. -class IfcParse_EXPORT IfcRelDecomposes : public IfcRelationship { +class IFC_PARSE_API IfcRelDecomposes : public IfcRelationship { public: IfcObjectDefinition* RelatingObject() const; void setRelatingObject(IfcObjectDefinition* v); @@ -23049,7 +23049,7 @@ public: /// /// IFC2x4 CHANGE The attribute RelatedObjects had been demoted to the subtypes IfcRelDefinesByProperties and /// IfcRelDefinesByType. -class IfcParse_EXPORT IfcRelDefines : public IfcRelationship { +class IFC_PARSE_API IfcRelDefines : public IfcRelationship { public: IfcTemplatedEntityList< IfcObject >::ptr RelatedObjects() const; void setRelatedObjects(IfcTemplatedEntityList< IfcObject >::ptr v); @@ -23080,7 +23080,7 @@ public: /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelAssignsProperties in IFC Release 2x. /// /// IFC2x4 CHANGE The attribute RelatedObjects had been demoted from the supertype IfcRelDefines to IfcRelDefinesByProperties. -class IfcParse_EXPORT IfcRelDefinesByProperties : public IfcRelDefines { +class IFC_PARSE_API IfcRelDefinesByProperties : public IfcRelDefines { public: /// Reference to the property set definition for that object or set of objects. IfcPropertySetDefinition* RelatingPropertyDefinition() const; @@ -23168,7 +23168,7 @@ public: /// ÿ-ÿExtendToStructure = FALSE /// ÿ-ÿExtendToStructure = TRUE /// FALSE -class IfcParse_EXPORT IfcRelDefinesByType : public IfcRelDefines { +class IFC_PARSE_API IfcRelDefinesByType : public IfcRelDefines { public: /// Reference to the type (or style) information for that object or set of objects. IfcTypeObject* RelatingType() const; @@ -23194,7 +23194,7 @@ public: /// As shown in Figure 40, the insertion of a door into a wall is represented by two separate relationships. First the door opening is created within the wall by IfcWall(StandardCase) o-- IfcRelVoidsElement --o IfcOpeningElement, then the door is inserted within the opening by IfcOpeningElement o-- IfcRelFillsElement --o IfcDoor. /// /// Figure 40 — Relationships for element filling -class IfcParse_EXPORT IfcRelFillsElement : public IfcRelConnects { +class IFC_PARSE_API IfcRelFillsElement : public IfcRelConnects { public: /// Opening Element being filled by virtue of this relationship. IfcOpeningElement* RelatingOpeningElement() const; @@ -23223,7 +23223,7 @@ public: /// This relationship implies a sensing or controlling relationship; if elements are merely connected without any control relationship, then IfcRelConnectsElements should be used. /// /// HISTORY: New entity in IFC R2x. -class IfcParse_EXPORT IfcRelFlowControlElements : public IfcRelConnects { +class IFC_PARSE_API IfcRelFlowControlElements : public IfcRelConnects { public: /// References control elements which may be used to impart control on the Distribution Element. IfcTemplatedEntityList< IfcDistributionControlElement >::ptr RelatedControlElements() const; @@ -23244,7 +23244,7 @@ public: typedef IfcTemplatedEntityList< IfcRelFlowControlElements > list; }; -class IfcParse_EXPORT IfcRelInteractionRequirements : public IfcRelConnects { +class IFC_PARSE_API IfcRelInteractionRequirements : public IfcRelConnects { public: /// Whether the optional attribute DailyInteraction is defined for this IfcRelInteractionRequirements bool hasDailyInteraction() const; @@ -23299,7 +23299,7 @@ public: /// HISTORY New entity in IFC Release 2.0 /// /// IFC2x4 CHANGE The attributes RelatingObject and RelatedObjects are demoted from the supertype IfcRelDecomposes, and RelatedObjects is refined to be a list. The use of IfcRelNests is repurposed to be a nesting of an ordered collections of parts. -class IfcParse_EXPORT IfcRelNests : public IfcRelDecomposes { +class IFC_PARSE_API IfcRelNests : public IfcRelDecomposes { public: virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcRelDecomposes::getArgumentType(i); } @@ -23314,7 +23314,7 @@ public: typedef IfcTemplatedEntityList< IfcRelNests > list; }; -class IfcParse_EXPORT IfcRelOccupiesSpaces : public IfcRelAssignsToActor { +class IFC_PARSE_API IfcRelOccupiesSpaces : public IfcRelAssignsToActor { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcRelAssignsToActor::getArgumentType(i); } @@ -23329,7 +23329,7 @@ public: typedef IfcTemplatedEntityList< IfcRelOccupiesSpaces > list; }; -class IfcParse_EXPORT IfcRelOverridesProperties : public IfcRelDefinesByProperties { +class IFC_PARSE_API IfcRelOverridesProperties : public IfcRelDefinesByProperties { public: IfcTemplatedEntityList< IfcProperty >::ptr OverridingProperties() const; void setOverridingProperties(IfcTemplatedEntityList< IfcProperty >::ptr v); @@ -23377,7 +23377,7 @@ public: /// Release IFC2x Edition 2. /// IFC2x4 CHANGE  /// Supertype changed to IfcRelDecomposes. -class IfcParse_EXPORT IfcRelProjectsElement : public IfcRelConnects { +class IFC_PARSE_API IfcRelProjectsElement : public IfcRelConnects { public: /// Element at which a projection is created by the associated IfcProjectionElement. IfcElement* RelatingElement() const; @@ -23446,7 +23446,7 @@ public: /// Figure 41 shows the use of IfcRelContainedInSpatialStructure and IfcRelReferencedInSpatialStructure to assign an IfcCurtainWallÿto two different levels within the spatial structure. It is primarily contained within the ground floor, and additionally referenced within the first and second floor. /// /// Figure 41 — Relationship for spatial structure referencing -class IfcParse_EXPORT IfcRelReferencedInSpatialStructure : public IfcRelConnects { +class IFC_PARSE_API IfcRelReferencedInSpatialStructure : public IfcRelConnects { public: /// Set of products, which are referenced within this level of the spatial structure hierarchy. /// NOTE  Referenced elements are contained elsewhere within the spatial structure, they are referenced additionally by this spatial structure element, e.g., because they span several stories. @@ -23470,7 +23470,7 @@ public: typedef IfcTemplatedEntityList< IfcRelReferencedInSpatialStructure > list; }; -class IfcParse_EXPORT IfcRelSchedulesCostItems : public IfcRelAssignsToControl { +class IFC_PARSE_API IfcRelSchedulesCostItems : public IfcRelAssignsToControl { public: virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcRelAssignsToControl::getArgumentType(i); } @@ -23538,7 +23538,7 @@ public: /// depending on the setting of the sequence type since there /// is no checking that the time lag value is in keeping with /// the sequence type set. -class IfcParse_EXPORT IfcRelSequence : public IfcRelConnects { +class IFC_PARSE_API IfcRelSequence : public IfcRelConnects { public: /// Reference to the process, that is the predecessor. IfcProcess* RelatingProcess() const; @@ -23587,7 +23587,7 @@ public: /// for file based exchange. The name /// IfcRelServicesBuildings is a knownÿanomaly, as the /// relationship is not restricted to buildings anymore. -class IfcParse_EXPORT IfcRelServicesBuildings : public IfcRelConnects { +class IFC_PARSE_API IfcRelServicesBuildings : public IfcRelConnects { public: /// System that services the Buildings. IfcSystem* RelatingSystem() const; @@ -23773,7 +23773,7 @@ public: /// /// Curve: IfcPolyline, IfcTrimmedCurve or /// IfcCompositeCurve -class IfcParse_EXPORT IfcRelSpaceBoundary : public IfcRelConnects { +class IFC_PARSE_API IfcRelSpaceBoundary : public IfcRelConnects { public: /// Reference to one spaces that is delimited by this boundary. IfcSpace* RelatingSpace() const; @@ -23819,7 +23819,7 @@ public: /// Figure 50 — Relationship for element voiding /// /// HISTORY New entity in IFC Release 1.0 -class IfcParse_EXPORT IfcRelVoidsElement : public IfcRelConnects { +class IFC_PARSE_API IfcRelVoidsElement : public IfcRelConnects { public: IfcElement* RelatingBuildingElement() const; void setRelatingBuildingElement(IfcElement* v); @@ -23850,7 +23850,7 @@ public: /// HISTORY New entity in IFC Release 1.0 /// /// IFC2x PLATFORM CHANGE: The attributes BaseUnit and ResourceConsumption have been removed from the abstract entity; they are reintroduced at a lower level in the hierarchy. -class IfcParse_EXPORT IfcResource : public IfcObject { +class IFC_PARSE_API IfcResource : public IfcObject { public: virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcObject::getArgumentType(i); } @@ -23941,7 +23941,7 @@ public: /// Figure 263 illustrates default texture mapping with a repeated texture (RepeatS=True and RepeatT=True). The image on the left shows the texture where the S axis points to the right and the T axis points up. The image on the right shows the texture applied to the geometry where the X axis points back to the right, the Y axis points back to the left, and the Z axis points up. For an IfcRevolvedAreaSolid having a profile of IfcTShapeProfileDef and revolved at 22.5 degrees, the side texture coordinate origin is the first corner counter-clockwise from the +Y axis, which equals (-0.5*IfcTShapeProfileDef.OverallWidth, +0.5*IfcTShapeProfileDef.OverallDepth), while the top (end cap) texture coordinates start at (-0.5*IfcTShapeProfileDef.OverallWidth, -0.5*IfcTShapeProfileDef.OverallDepth). /// /// Figure 263 — Revolved area solid textures -class IfcParse_EXPORT IfcRevolvedAreaSolid : public IfcSweptAreaSolid { +class IFC_PARSE_API IfcRevolvedAreaSolid : public IfcSweptAreaSolid { public: /// Axis about which revolution will take place. IfcAxis1Placement* Axis() const; @@ -24026,7 +24026,7 @@ public: /// +Y /// /// Figure 265 — Right circular cone textures -class IfcParse_EXPORT IfcRightCircularCone : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcRightCircularCone : public IfcCsgPrimitive3D { public: /// The distance between the base of the cone and the apex. double Height() const; @@ -24127,7 +24127,7 @@ public: /// +Y /// /// Figure 267 — Right circular cylinder textures -class IfcParse_EXPORT IfcRightCircularCylinder : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcRightCircularCylinder : public IfcCsgPrimitive3D { public: /// The distance between the planar circular faces of the cylinder. double Height() const; @@ -24221,7 +24221,7 @@ public: /// Figure 62 shows the use of IfcRelAggregates to establish a spatial structure including site, building, building section and storey. More information is provided at the level of the subtypes. /// /// Figure 62 — Spatial structure element composition -class IfcParse_EXPORT IfcSpatialStructureElement : public IfcProduct { +class IFC_PARSE_API IfcSpatialStructureElement : public IfcProduct { public: /// Whether the optional attribute LongName is defined for this IfcSpatialStructureElement bool hasLongName() const; @@ -24282,7 +24282,7 @@ public: /// /// HISTORY ÿNew entity in /// Release IFC2x Edition 3. -class IfcParse_EXPORT IfcSpatialStructureElementType : public IfcElementType { +class IFC_PARSE_API IfcSpatialStructureElementType : public IfcElementType { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElementType::getArgumentType(i); } @@ -24346,7 +24346,7 @@ public: /// (+Y, then curving towards top) /// /// Figure 271 — Sphere textures -class IfcParse_EXPORT IfcSphere : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcSphere : public IfcCsgPrimitive3D { public: /// The radius of the sphere. double Radius() const; @@ -24456,7 +24456,7 @@ public: /// /// RepresentationIdentifier: 'Level set' /// RepresentationType: 'GeometricCurveSet' -class IfcParse_EXPORT IfcStructuralActivity : public IfcProduct { +class IFC_PARSE_API IfcStructuralActivity : public IfcProduct { public: /// Load or result resource object which defines the load type, direction, and load values. /// @@ -24582,7 +24582,7 @@ public: /// NOTE  This rule is necessary to achieve consistent topology representations. The topology representations of structural items in an analysis model are meant to share vertices and edges und must therefore have the same object placement. /// /// NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. -class IfcParse_EXPORT IfcStructuralItem : public IfcProduct { +class IFC_PARSE_API IfcStructuralItem : public IfcProduct { public: virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcProduct::getArgumentType(i); } @@ -24601,7 +24601,7 @@ public: /// /// HISTORY: New entity in IFC 2x2. /// IFC 2x4 change: Use definitions moved to supertype and subtypes. -class IfcParse_EXPORT IfcStructuralMember : public IfcStructuralItem { +class IFC_PARSE_API IfcStructuralMember : public IfcStructuralItem { public: virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcStructuralItem::getArgumentType(i); } @@ -24637,7 +24637,7 @@ public: /// IfcRelAssignsToProduct relationship object. IfcRelAssignsToProduct.Name is set to /// 'Causes' and IfcRelAssignsToProduct.RelatingProduct refers to an instance of a subtype of /// IfcStructuralAction. -class IfcParse_EXPORT IfcStructuralReaction : public IfcStructuralActivity { +class IFC_PARSE_API IfcStructuralReaction : public IfcStructuralActivity { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcStructuralActivity::getArgumentType(i); } @@ -24672,7 +24672,7 @@ public: /// Topology Use Definitions: /// /// Direct instances of IfcStructuralSurfaceMember shall have a topology representation which consists of one IfcFaceSurface, representing the reference surface of the surface member. See definitions at IfcStructuralItem for further specifications. -class IfcParse_EXPORT IfcStructuralSurfaceMember : public IfcStructuralMember { +class IFC_PARSE_API IfcStructuralSurfaceMember : public IfcStructuralMember { public: /// Type of member with respect to its load carrying behavior in this analysis idealization. IfcStructuralSurfaceTypeEnum::IfcStructuralSurfaceTypeEnum PredefinedType() const; @@ -24712,7 +24712,7 @@ public: /// Topology Use Definitions: /// /// In case of aggregation, instances of IfcStructuralSurfaceMemberVarying may have a topology representation which contains a single IfcConnectedFaceSet, based upon the faces of the parts. Otherwise, definitions at IfcStructuralSurfaceMember apply. -class IfcParse_EXPORT IfcStructuralSurfaceMemberVarying : public IfcStructuralSurfaceMember { +class IFC_PARSE_API IfcStructuralSurfaceMemberVarying : public IfcStructuralSurfaceMember { public: std::vector< double > /*[2:?]*/ SubsequentThickness() const; void setSubsequentThickness(std::vector< double > /*[2:?]*/ v); @@ -24731,7 +24731,7 @@ public: typedef IfcTemplatedEntityList< IfcStructuralSurfaceMemberVarying > list; }; -class IfcParse_EXPORT IfcStructuredDimensionCallout : public IfcDraughtingCallout { +class IFC_PARSE_API IfcStructuredDimensionCallout : public IfcDraughtingCallout { public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDraughtingCallout::getArgumentType(i); } @@ -24807,7 +24807,7 @@ public: /// The SweptArea shall lie in the plane z = 0. /// The Directrix shall lie on the /// ReferenceSurface. -class IfcParse_EXPORT IfcSurfaceCurveSweptAreaSolid : public IfcSweptAreaSolid { +class IFC_PARSE_API IfcSurfaceCurveSweptAreaSolid : public IfcSweptAreaSolid { public: /// The curve used to define the sweeping operation. The solid is generated by sweeping the SELF\IfcSweptAreaSolid.SweptArea along the Directrix. IfcCurve* Directrix() const; @@ -24850,7 +24850,7 @@ public: /// Informal propositions: /// /// The surface shall not self-intersect -class IfcParse_EXPORT IfcSurfaceOfLinearExtrusion : public IfcSweptSurface { +class IFC_PARSE_API IfcSurfaceOfLinearExtrusion : public IfcSweptSurface { public: /// The direction of the extrusion. IfcDirection* ExtrudedDirection() const; @@ -24887,7 +24887,7 @@ public: /// /// The surface shall not self-intersect /// The swept curve shall not be coincident with the axis line for any finite part of its legth. -class IfcParse_EXPORT IfcSurfaceOfRevolution : public IfcSweptSurface { +class IFC_PARSE_API IfcSurfaceOfRevolution : public IfcSweptSurface { public: /// A point on the axis of revolution and the direction of the axis of revolution. IfcAxis1Placement* AxisPosition() const; @@ -24934,7 +24934,7 @@ public: /// 'Hardware': Finish hardware such as knobs or handles. /// 'Padding': Padding such as cushions. /// 'Panel': Panels such as glass. -class IfcParse_EXPORT IfcSystemFurnitureElementType : public IfcFurnishingElementType { +class IFC_PARSE_API IfcSystemFurnitureElementType : public IfcFurnishingElementType { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcFurnishingElementType::getArgumentType(i); } @@ -25193,7 +25193,7 @@ public: /// require attention. /// Use LongDescription or else identify sub-tasks to /// track punch list items individually via IfcRelNests. -class IfcParse_EXPORT IfcTask : public IfcProcess { +class IFC_PARSE_API IfcTask : public IfcProcess { public: std::string TaskId() const; void setTaskId(std::string v); @@ -25306,7 +25306,7 @@ public: /// RepresentationIdentifier and RepresentationType of /// IfcShapeRepresentation are restricted in the same way as /// those for IfcTransportElementType. -class IfcParse_EXPORT IfcTransportElementType : public IfcElementType { +class IFC_PARSE_API IfcTransportElementType : public IfcElementType { public: /// Predefined types to define the particular type of the transport element. There may be property set definitions available for each predefined type. IfcTransportElementTypeEnum::IfcTransportElementTypeEnum PredefinedType() const; @@ -25338,7 +25338,7 @@ public: /// IfcRelDefinesByProperties relationship. They are accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to IfcActor are part of this IFC release: /// /// Pset_ActorCommon: common property set for all actor occurrences -class IfcParse_EXPORT IfcActor : public IfcObject { +class IFC_PARSE_API IfcActor : public IfcObject { public: /// Information about the actor. IfcActorSelect* TheActor() const; @@ -25529,7 +25529,7 @@ public: /// RepresentationIdentifier : 'Annotation' /// /// RepresentationType : 'GeometricSet' -class IfcParse_EXPORT IfcAnnotation : public IfcProduct { +class IFC_PARSE_API IfcAnnotation : public IfcProduct { public: virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcProduct::getArgumentType(i); } @@ -25581,7 +25581,7 @@ public: /// relative to the profile. The parameterized profile is defined by a set of parameter attributes. In the illustrated example, the 'CentreOfGravityInY' property in IfcExtendedProfileProperties, if provided, is negative. /// /// Figure 310 — Assymetric I-shape profile -class IfcParse_EXPORT IfcAsymmetricIShapeProfileDef : public IfcIShapeProfileDef { +class IFC_PARSE_API IfcAsymmetricIShapeProfileDef : public IfcIShapeProfileDef { public: /// Extent of the top flange, defined parallel to the x axis of the position coordinate system. double TopFlangeWidth() const; @@ -25709,7 +25709,7 @@ public: /// +Y /// /// Figure 251 — Block textures -class IfcParse_EXPORT IfcBlock : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcBlock : public IfcCsgPrimitive3D { public: /// The size of the block along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. double XLength() const; @@ -25739,7 +25739,7 @@ public: /// NOTE The IfcBooleanClippingResult is defined as a special case of the boolean_result, as defined in ISO 10303-42:1994, p. 175. It has been added to apply further constraints to the CSG representation type. /// /// HISTORY New entity in IFC Release 2.x. -class IfcParse_EXPORT IfcBooleanClippingResult : public IfcBooleanResult { +class IFC_PARSE_API IfcBooleanClippingResult : public IfcBooleanResult { public: virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcBooleanResult::getArgumentType(i); } @@ -25763,7 +25763,7 @@ public: /// /// A bounded curve has finite arc length. /// A bounded curve has a start point and an end point. -class IfcParse_EXPORT IfcBoundedCurve : public IfcCurve { +class IFC_PARSE_API IfcBoundedCurve : public IfcCurve { public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcCurve::getArgumentType(i); } @@ -25952,7 +25952,7 @@ public: /// building elements, an independent shape representation shall only /// be given, if the building is exposed independently from its /// constituting elements. -class IfcParse_EXPORT IfcBuilding : public IfcSpatialStructureElement { +class IFC_PARSE_API IfcBuilding : public IfcSpatialStructureElement { public: /// Whether the optional attribute ElevationOfRefHeight is defined for this IfcBuilding bool hasElevationOfRefHeight() const; @@ -26010,7 +26010,7 @@ public: /// /// HISTORY New entity in /// Release IFC2x Edition 2. -class IfcParse_EXPORT IfcBuildingElementType : public IfcElementType { +class IFC_PARSE_API IfcBuildingElementType : public IfcElementType { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElementType::getArgumentType(i); } @@ -26201,7 +26201,7 @@ public: /// exterior building elements, an independent shape representation /// shall only be given, if the building storey is exposed /// independently from its constituting elements. -class IfcParse_EXPORT IfcBuildingStorey : public IfcSpatialStructureElement { +class IFC_PARSE_API IfcBuildingStorey : public IfcSpatialStructureElement { public: /// Whether the optional attribute Elevation is defined for this IfcBuildingStorey bool hasElevation() const; @@ -26238,7 +26238,7 @@ public: /// By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. Explicit coordinate offsets are used to define cardinal points (for example, upper-left bound). The parameterized profile is defined by a set of parameter attributes. /// /// Figure 312 — Circle hollow profile -class IfcParse_EXPORT IfcCircleHollowProfileDef : public IfcCircleProfileDef { +class IFC_PARSE_API IfcCircleHollowProfileDef : public IfcCircleProfileDef { public: /// Thickness of the material, it is the difference between the outer and inner radius. double WallThickness() const; @@ -26353,7 +26353,7 @@ public: /// IfcShapeRepresentation are restricted in the same way as /// those for IfcColumn and /// IfcColumnStandardCase -class IfcParse_EXPORT IfcColumnType : public IfcBuildingElementType { +class IFC_PARSE_API IfcColumnType : public IfcBuildingElementType { public: /// Identifies the predefined types of a column element from which the type required may be set. IfcColumnTypeEnum::IfcColumnTypeEnum PredefinedType() const; @@ -26436,7 +26436,7 @@ public: /// correctly specifies the senses of the component curves. /// When traversed in the direction indicated by /// SameSense, the segments shall join end-to-end. -class IfcParse_EXPORT IfcCompositeCurve : public IfcBoundedCurve { +class IFC_PARSE_API IfcCompositeCurve : public IfcBoundedCurve { public: /// The component bounded curves, their transitions and senses. The transition attribute for the last segment defines the transition between the end of the last segment and the start of the first; this transition attribute may take the value discontinuous, which indicates an open curve. IfcTemplatedEntityList< IfcCompositeCurveSegment >::ptr Segments() const; @@ -26461,7 +26461,7 @@ public: /// NOTE Corresponding ISO 10303 entity: conic, only the following subtypes have been incorporated into IFC 1.0, 1.5 & 2.0: circle as IfcCircle, ellipse as IfcEllipse. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p. 38 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.0 -class IfcParse_EXPORT IfcConic : public IfcCurve { +class IFC_PARSE_API IfcConic : public IfcCurve { public: /// The location and orientation of the conic. Further details of the interpretation of this attribute are given for the individual subtypes." IfcAxis2Placement* Position() const; @@ -26550,7 +26550,7 @@ public: /// IfcWorkSchedule.Name indicating the name of the baseline. /// /// Figure 192 — Construction resource baseline use -class IfcParse_EXPORT IfcConstructionResource : public IfcResource { +class IFC_PARSE_API IfcConstructionResource : public IfcResource { public: /// Whether the optional attribute ResourceIdentifier is defined for this IfcConstructionResource bool hasResourceIdentifier() const; @@ -26591,7 +26591,7 @@ public: /// /// Relationship use definition /// Controls have assignments from products, processes, or other objects by using the relationship object IfcRelAssignsToControl. -class IfcParse_EXPORT IfcControl : public IfcObject { +class IFC_PARSE_API IfcControl : public IfcObject { public: virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcObject::getArgumentType(i); } @@ -26642,7 +26642,7 @@ public: /// Figure 158 illustrates cost item assignment derived from building elements. The IfcRelAssignsToControl relationship indicates building elements for which quantities are derived. Not shown, costs may also be derived from building elements by traversing assignment relationships from the assigned IfcProduct to IfcProcess to IfcResource, where all costs ultimately originate at resources. It is also possible for cost items to have assignments from processes or resources directly. /// /// Figure 168 — Cost assignment -class IfcParse_EXPORT IfcCostItem : public IfcControl { +class IFC_PARSE_API IfcCostItem : public IfcControl { public: virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcControl::getArgumentType(i); } @@ -26679,7 +26679,7 @@ public: /// /// Approval Use Definition /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcCostSchedule. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. -class IfcParse_EXPORT IfcCostSchedule : public IfcControl { +class IFC_PARSE_API IfcCostSchedule : public IfcControl { public: /// Whether the optional attribute SubmittedBy is defined for this IfcCostSchedule bool hasSubmittedBy() const; @@ -26816,7 +26816,7 @@ public: /// RepresentationIdentifier and RepresentationType of /// IfcShapeRepresentation are restricted in the same way as /// those for IfcCoveringType. -class IfcParse_EXPORT IfcCoveringType : public IfcBuildingElementType { +class IFC_PARSE_API IfcCoveringType : public IfcBuildingElementType { public: /// Predefined types to define the particular type of the covering. There may be property set definitions available for each predefined type. IfcCoveringTypeEnum::IfcCoveringTypeEnum PredefinedType() const; @@ -26843,7 +26843,7 @@ public: /// /// Type use definition /// IfcCrewResource defines the occurrence of any crew resource; common information about crew resource types is handled by IfcCrewResourceType. The IfcCrewResourceType (if present) may establish the common type name, common properties, and common productivities for various task types using IfcRelAssignsToProcess. The IfcCrewResourceType is attached using the IfcRelDefinesByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute. -class IfcParse_EXPORT IfcCrewResource : public IfcConstructionResource { +class IFC_PARSE_API IfcCrewResource : public IfcConstructionResource { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcConstructionResource::getArgumentType(i); } @@ -26878,7 +26878,7 @@ public: /// /// HISTORY /// New entity in Release IFC2x Editon 3. -class IfcParse_EXPORT IfcCurtainWallType : public IfcBuildingElementType { +class IFC_PARSE_API IfcCurtainWallType : public IfcBuildingElementType { public: /// Identifies the predefined types of a curtain wall element from which the type required may be set. IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum PredefinedType() const; @@ -26896,7 +26896,7 @@ public: typedef IfcTemplatedEntityList< IfcCurtainWallType > list; }; -class IfcParse_EXPORT IfcDimensionCurveDirectedCallout : public IfcDraughtingCallout { +class IFC_PARSE_API IfcDimensionCurveDirectedCallout : public IfcDraughtingCallout { public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDraughtingCallout::getArgumentType(i); } @@ -26938,7 +26938,7 @@ public: /// IFC2x4 CHANGE The entity is marked /// as deprecated for instantiation - will be made ABSTRACT after /// IFC2x4. -class IfcParse_EXPORT IfcDistributionElementType : public IfcElementType { +class IFC_PARSE_API IfcDistributionElementType : public IfcElementType { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElementType::getArgumentType(i); } @@ -27017,7 +27017,7 @@ public: /// If an element type is defined parametrically (such as a flow segment type defining common material profile but no particular length or path), then no representations shall be asserted at the type. /// /// NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem. -class IfcParse_EXPORT IfcDistributionFlowElementType : public IfcDistributionElementType { +class IFC_PARSE_API IfcDistributionFlowElementType : public IfcDistributionElementType { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionElementType::getArgumentType(i); } @@ -27032,7 +27032,7 @@ public: typedef IfcTemplatedEntityList< IfcDistributionFlowElementType > list; }; -class IfcParse_EXPORT IfcElectricalBaseProperties : public IfcEnergyProperties { +class IFC_PARSE_API IfcElectricalBaseProperties : public IfcEnergyProperties { public: /// Whether the optional attribute ElectricCurrentType is defined for this IfcElectricalBaseProperties bool hasElectricCurrentType() const; @@ -27125,7 +27125,7 @@ public: /// representations. A detailed specification for the local placement /// and shape representaion is introduced at the level of subtypes of /// IfcElement. -class IfcParse_EXPORT IfcElement : public IfcProduct { +class IFC_PARSE_API IfcElement : public IfcProduct { public: /// Whether the optional attribute Tag is defined for this IfcElement bool hasTag() const; @@ -27250,7 +27250,7 @@ public: /// The IfcElementAssembly shall have an aggregation /// relationship to the contained parts, i.e. the (INV) /// IsDecomposedBy relationship shall be utilzed. -class IfcParse_EXPORT IfcElementAssembly : public IfcElement { +class IFC_PARSE_API IfcElementAssembly : public IfcElement { public: /// Whether the optional attribute AssemblyPlace is defined for this IfcElementAssembly bool hasAssemblyPlace() const; @@ -27351,7 +27351,7 @@ public: /// Representation identifier and type are the same as in single mapped representation. /// The number of mapped items in the representation corresponds with the count of /// element components in the IfcElementQuantity. -class IfcParse_EXPORT IfcElementComponent : public IfcElement { +class IFC_PARSE_API IfcElementComponent : public IfcElement { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElement::getArgumentType(i); } @@ -27374,7 +27374,7 @@ public: /// /// HISTORY New entity in IFC /// Release 2x2 -class IfcParse_EXPORT IfcElementComponentType : public IfcElementType { +class IFC_PARSE_API IfcElementComponentType : public IfcElementType { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElementType::getArgumentType(i); } @@ -27415,7 +27415,7 @@ public: /// Figure 280 illustrates the definition of the IfcEllipse within the (in this case three-dimensional) position coordinate system. /// /// Figure 280 — Ellipse geometry -class IfcParse_EXPORT IfcEllipse : public IfcConic { +class IFC_PARSE_API IfcEllipse : public IfcConic { public: /// The first radius of the ellipse which shall be positive. Placement.Axes[1] gives the direction of the SemiAxis1. double SemiAxis1() const; @@ -27460,7 +27460,7 @@ public: /// by instances of IfcEnergyConversionDevice. /// /// HISTORY: New entity in IFC Release 2x2. -class IfcParse_EXPORT IfcEnergyConversionDeviceType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcEnergyConversionDeviceType : public IfcDistributionFlowElementType { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElementType::getArgumentType(i); } @@ -27475,7 +27475,7 @@ public: typedef IfcTemplatedEntityList< IfcEnergyConversionDeviceType > list; }; -class IfcParse_EXPORT IfcEquipmentElement : public IfcElement { +class IFC_PARSE_API IfcEquipmentElement : public IfcElement { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElement::getArgumentType(i); } @@ -27490,7 +27490,7 @@ public: typedef IfcTemplatedEntityList< IfcEquipmentElement > list; }; -class IfcParse_EXPORT IfcEquipmentStandard : public IfcControl { +class IFC_PARSE_API IfcEquipmentStandard : public IfcControl { public: virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcControl::getArgumentType(i); } @@ -27530,7 +27530,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcEvaporativeCoolerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcEvaporativeCooler for standard port definitions. -class IfcParse_EXPORT IfcEvaporativeCoolerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcEvaporativeCoolerType : public IfcEnergyConversionDeviceType { public: /// Defines the type of evaporative cooler. IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum PredefinedType() const; @@ -27573,7 +27573,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcEvaporatorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcEvaporator for standard port definitions. -class IfcParse_EXPORT IfcEvaporatorType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcEvaporatorType : public IfcEnergyConversionDeviceType { public: /// Defines the type of evaporator. IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum PredefinedType() const; @@ -27614,7 +27614,7 @@ public: /// Figure 257 illustrates use of IfcFacetedBrep for boundary representation models with planar surfaces only. The diagram shows the topological and geometric representation items that are used for faceted breps. Each IfcCartesianPoint, used within the IfcFacetedBrep shall be referenced three times by an IfcPolyLoop bounding a different IfcFace. /// /// Figure 257 — Faceted B-rep -class IfcParse_EXPORT IfcFacetedBrep : public IfcManifoldSolidBrep { +class IFC_PARSE_API IfcFacetedBrep : public IfcManifoldSolidBrep { public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcManifoldSolidBrep::getArgumentType(i); } @@ -27652,7 +27652,7 @@ public: /// All the bounding loops of all the faces of all the shells in /// the IfcFacetedBrep shall be of type /// IfcPolyLoop. -class IfcParse_EXPORT IfcFacetedBrepWithVoids : public IfcManifoldSolidBrep { +class IFC_PARSE_API IfcFacetedBrepWithVoids : public IfcManifoldSolidBrep { public: /// Set of closed shells defining voids within the solid. IfcTemplatedEntityList< IfcClosedShell >::ptr Voids() const; @@ -27677,7 +27677,7 @@ public: /// /// IFC 2x4 change: /// Attribute PredefinedType added. -class IfcParse_EXPORT IfcFastener : public IfcElementComponent { +class IFC_PARSE_API IfcFastener : public IfcElementComponent { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElementComponent::getArgumentType(i); } @@ -27714,7 +27714,7 @@ public: /// The following property set definitions are applicable to this entity according to the PredefinedType attribute: /// /// Pset_FastenerWeld (WELD) -class IfcParse_EXPORT IfcFastenerType : public IfcElementComponentType { +class IFC_PARSE_API IfcFastenerType : public IfcElementComponentType { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElementComponentType::getArgumentType(i); } @@ -27822,7 +27822,7 @@ public: /// In some cases it may be useful to also expose a simple /// representation as a bounding box representation of the same /// complex shape. -class IfcParse_EXPORT IfcFeatureElement : public IfcElement { +class IFC_PARSE_API IfcFeatureElement : public IfcElement { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElement::getArgumentType(i); } @@ -27891,7 +27891,7 @@ public: /// The geometry use definitions for the shape representation /// of the IfcFeatureElementAddition is given at the /// level of its subtypes. -class IfcParse_EXPORT IfcFeatureElementAddition : public IfcFeatureElement { +class IFC_PARSE_API IfcFeatureElementAddition : public IfcFeatureElement { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcFeatureElement::getArgumentType(i); } @@ -27956,7 +27956,7 @@ public: /// The geometry use definitions for the shape representation of the /// IfcFeatureElementSubtraction is given at the level of its /// subtypes. -class IfcParse_EXPORT IfcFeatureElementSubtraction : public IfcFeatureElement { +class IFC_PARSE_API IfcFeatureElementSubtraction : public IfcFeatureElement { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcFeatureElement::getArgumentType(i); } @@ -27995,7 +27995,7 @@ public: /// by instances of IfcFlowController or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IfcParse_EXPORT IfcFlowControllerType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowControllerType : public IfcDistributionFlowElementType { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElementType::getArgumentType(i); } @@ -28034,7 +28034,7 @@ public: /// by instances of IfcFlowFitting or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IfcParse_EXPORT IfcFlowFittingType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowFittingType : public IfcDistributionFlowElementType { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElementType::getArgumentType(i); } @@ -28080,7 +28080,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFlowMeterType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFlowMeter for standard port definitions. -class IfcParse_EXPORT IfcFlowMeterType : public IfcFlowControllerType { +class IFC_PARSE_API IfcFlowMeterType : public IfcFlowControllerType { public: /// Defines the type of flow meter. IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum PredefinedType() const; @@ -28120,7 +28120,7 @@ public: /// by instances of IfcFlowMovingDevice. /// /// HISTORY: New entity in IFC Release 2x2. -class IfcParse_EXPORT IfcFlowMovingDeviceType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowMovingDeviceType : public IfcDistributionFlowElementType { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElementType::getArgumentType(i); } @@ -28166,7 +28166,7 @@ public: /// IfcMaterialConstituentSet : For elements containing multiple materials where profiles are not applicable, this indicates materials at named aspects. /// /// IfcMaterial : For elements comprised of a single material where profiles are not applicable, this indicates the material. -class IfcParse_EXPORT IfcFlowSegmentType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowSegmentType : public IfcDistributionFlowElementType { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElementType::getArgumentType(i); } @@ -28187,7 +28187,7 @@ public: /// The occurrences of the IfcFlowStorageDeviceType are represented by instances of IfcFlowStorageDevice or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IfcParse_EXPORT IfcFlowStorageDeviceType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowStorageDeviceType : public IfcDistributionFlowElementType { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElementType::getArgumentType(i); } @@ -28208,7 +28208,7 @@ public: /// The occurrences of the IfcFlowTerminalType are represented by instances of IfcFlowTerminal or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IfcParse_EXPORT IfcFlowTerminalType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowTerminalType : public IfcDistributionFlowElementType { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElementType::getArgumentType(i); } @@ -28231,7 +28231,7 @@ public: /// The occurrences of the IfcFlowTreatmentDeviceType are represented by instances of IfcFlowTreatmentDevice or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IfcParse_EXPORT IfcFlowTreatmentDeviceType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowTreatmentDeviceType : public IfcDistributionFlowElementType { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElementType::getArgumentType(i); } @@ -28349,7 +28349,7 @@ public: /// 'FootPrint', or 'Body' (depending of the representation map) /// IfcShapeRepresentation.RepresentationType = /// 'MappedRepresentation' -class IfcParse_EXPORT IfcFurnishingElement : public IfcElement { +class IFC_PARSE_API IfcFurnishingElement : public IfcElement { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElement::getArgumentType(i); } @@ -28364,7 +28364,7 @@ public: typedef IfcTemplatedEntityList< IfcFurnishingElement > list; }; -class IfcParse_EXPORT IfcFurnitureStandard : public IfcControl { +class IFC_PARSE_API IfcFurnitureStandard : public IfcControl { public: virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcControl::getArgumentType(i); } @@ -28379,7 +28379,7 @@ public: typedef IfcTemplatedEntityList< IfcFurnitureStandard > list; }; -class IfcParse_EXPORT IfcGasTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcGasTerminalType : public IfcFlowTerminalType { public: IfcGasTerminalTypeEnum::IfcGasTerminalTypeEnum PredefinedType() const; void setPredefinedType(IfcGasTerminalTypeEnum::IfcGasTerminalTypeEnum v); @@ -28491,7 +28491,7 @@ public: /// As shown in Figure 33, the attributes UAxes and VAxes define lists of IfcGridAxis within the context of the grid. Each instance of IfcGridAxis refers to the same instance of IfcCurve (here the subtype IfcPolyline) that is contained within the IfcGeometricCurveSet that represents the IfcGrid. /// /// Figure 33 — Grid representation -class IfcParse_EXPORT IfcGrid : public IfcProduct { +class IFC_PARSE_API IfcGrid : public IfcProduct { public: /// List of grid axes defining the first row of grid lines. IfcTemplatedEntityList< IfcGridAxis >::ptr UAxes() const; @@ -28547,7 +28547,7 @@ public: /// Groups can be subjected to a control. The control information is then assigned: /// /// Controls: affecting the group using IfcRelAssignsToControl -class IfcParse_EXPORT IfcGroup : public IfcObject { +class IFC_PARSE_API IfcGroup : public IfcObject { public: virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcObject::getArgumentType(i); } @@ -28591,7 +28591,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcHeatExchangerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcHeatExchanger for standard port definitions. -class IfcParse_EXPORT IfcHeatExchangerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcHeatExchangerType : public IfcEnergyConversionDeviceType { public: /// Defines the basic types of heat exchanger (e.g., plate, shell and tube, etc.). IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum PredefinedType() const; @@ -28634,7 +28634,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcHumidifierType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcHumidifier for standard port definitions. -class IfcParse_EXPORT IfcHumidifierType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcHumidifierType : public IfcEnergyConversionDeviceType { public: /// Defines the type of humidifier. IfcHumidifierTypeEnum::IfcHumidifierTypeEnum PredefinedType() const; @@ -28662,7 +28662,7 @@ public: /// IfcElement: Elements such as furniture included in the inventory. /// /// IfcSpace: Spaces included in the inventory. -class IfcParse_EXPORT IfcInventory : public IfcGroup { +class IFC_PARSE_API IfcInventory : public IfcGroup { public: IfcInventoryTypeEnum::IfcInventoryTypeEnum InventoryType() const; void setInventoryType(IfcInventoryTypeEnum::IfcInventoryTypeEnum v); @@ -28726,7 +28726,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcJunctionBoxType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcJunctionBox for standard port definitions. -class IfcParse_EXPORT IfcJunctionBoxType : public IfcFlowFittingType { +class IFC_PARSE_API IfcJunctionBoxType : public IfcFlowFittingType { public: /// Identifies the predefined types of junction boxes from which the type required may be set. IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum PredefinedType() const; @@ -28767,7 +28767,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a labor resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcLaborResource and RelatedObjects contains one or more IfcActor subtypes as shown in Figure 194. Such relationship indicates the specific people used as input for the resource. Such actors are nested according to organizational structure with the root organization assigned to the IfcProject. The IfcActor entity is used to represent the people or organizations. /// /// Figure 194 — Labor resource assignment use -class IfcParse_EXPORT IfcLaborResource : public IfcConstructionResource { +class IFC_PARSE_API IfcLaborResource : public IfcConstructionResource { public: /// Whether the optional attribute SkillSet is defined for this IfcLaborResource bool hasSkillSet() const; @@ -28814,7 +28814,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcLampType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcLamp for standard port definitions. -class IfcParse_EXPORT IfcLampType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcLampType : public IfcFlowTerminalType { public: /// Identifies the predefined types of lamp from which the type required may be set. IfcLampTypeEnum::IfcLampTypeEnum PredefinedType() const; @@ -28862,7 +28862,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcLightFixtureType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcLightFixture for standard port definitions. -class IfcParse_EXPORT IfcLightFixtureType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcLightFixtureType : public IfcFlowTerminalType { public: /// Identifies the predefined types of light fixture from which the type required may be set. IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum PredefinedType() const; @@ -28880,7 +28880,7 @@ public: typedef IfcTemplatedEntityList< IfcLightFixtureType > list; }; -class IfcParse_EXPORT IfcLinearDimension : public IfcDimensionCurveDirectedCallout { +class IFC_PARSE_API IfcLinearDimension : public IfcDimensionCurveDirectedCallout { public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDimensionCurveDirectedCallout::getArgumentType(i); } @@ -28923,7 +28923,7 @@ public: /// the IfcMechanicalFastener via IfcRelDefinesByProperties. The quantity should contain an /// IfcQuantityCount named 'Count' with the number of fasteners and an IfcQuantityLength /// named 'Spacing' which expresses the center-to-center distances of fasteners. -class IfcParse_EXPORT IfcMechanicalFastener : public IfcFastener { +class IFC_PARSE_API IfcMechanicalFastener : public IfcFastener { public: /// Whether the optional attribute NominalDiameter is defined for this IfcMechanicalFastener bool hasNominalDiameter() const; @@ -28980,7 +28980,7 @@ public: /// The following property set definitions are applicable to this entity according to the PredefinedType attribute: /// /// Pset_MechanicalFastenerBolt (BOLT) -class IfcParse_EXPORT IfcMechanicalFastenerType : public IfcFastenerType { +class IFC_PARSE_API IfcMechanicalFastenerType : public IfcFastenerType { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcFastenerType::getArgumentType(i); } @@ -29095,7 +29095,7 @@ public: /// IfcShapeRepresentation are restricted in the same way as /// those for IfcMember and /// IfcMemberStandardCase -class IfcParse_EXPORT IfcMemberType : public IfcBuildingElementType { +class IFC_PARSE_API IfcMemberType : public IfcBuildingElementType { public: /// Identifies the predefined types of a linear structural member element from which the type required may be set. IfcMemberTypeEnum::IfcMemberTypeEnum PredefinedType() const; @@ -29139,7 +29139,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcMotorConnectionType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcMotorConnection for standard port definitions. -class IfcParse_EXPORT IfcMotorConnectionType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcMotorConnectionType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of motor connection from which the type required may be set. IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum PredefinedType() const; @@ -29157,7 +29157,7 @@ public: typedef IfcTemplatedEntityList< IfcMotorConnectionType > list; }; -class IfcParse_EXPORT IfcMove : public IfcTask { +class IFC_PARSE_API IfcMove : public IfcTask { public: IfcSpatialStructureElement* MoveFrom() const; void setMoveFrom(IfcSpatialStructureElement* v); @@ -29186,7 +29186,7 @@ public: /// Assignment Use Definition /// The IfcOccupant may have assignments of its own using the IfcRelAssignsToActor relationship where RelatingActor refers to the IfcOccupant and RelatedObjects contains one or more objects of the following types: /// IfcSpatialStructureElement: Indicates the property to be occupied. Particular details of the agreement relating to the occupancy of a property are dealt within the Pset_PropertyAgreement that is defined for the instance of IfcSpatialStructureElement. This means that an occupant may be related to a site, building, building storey or space through the IfcSpatialStructureElement.ElementComposition attribute. For instance, if the property concerned is several office spaces on a building storey, it might be appropriate to reference IfcBuildingStorey.ElementComposition=PARTIAL. Occupants of a property may be considered to be the parties to an agreement. The roles that the occupant may play in respect to an agreement are defined in the IfcOccupantTypeEnum enumeration. If the role is not specified by the predefined contents of this enumeration, the value USERDEFINED may be set and the ObjectType attribute asserted. -class IfcParse_EXPORT IfcOccupant : public IfcActor { +class IFC_PARSE_API IfcOccupant : public IfcActor { public: /// Predefined occupant types from which that required may be set. /// @@ -29407,7 +29407,7 @@ public: /// NOTE The local placement directions for the IfcOpeningElement are only given as an example, other directions are valid as well. /// /// Figure 36 — Opening with multiple extrusions -class IfcParse_EXPORT IfcOpeningElement : public IfcFeatureElementSubtraction { +class IFC_PARSE_API IfcOpeningElement : public IfcFeatureElementSubtraction { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcFeatureElementSubtraction::getArgumentType(i); } @@ -29423,7 +29423,7 @@ public: typedef IfcTemplatedEntityList< IfcOpeningElement > list; }; -class IfcParse_EXPORT IfcOrderAction : public IfcTask { +class IFC_PARSE_API IfcOrderAction : public IfcTask { public: std::string ActionID() const; void setActionID(std::string v); @@ -29468,7 +29468,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcOutletType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcOutlet for standard port definitions. -class IfcParse_EXPORT IfcOutletType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcOutletType : public IfcFlowTerminalType { public: /// Identifies the predefined types of outlet from which the type required may be set. IfcOutletTypeEnum::IfcOutletTypeEnum PredefinedType() const; @@ -29490,7 +29490,7 @@ public: /// IfcPerformanceHistory is assigned to other objects (represented by subtypes of IfcObjectDefinition, excluding subtypes of IfcControl), by the objectified relationship IfcRelAssignsToControl. /// /// HISTORY: New entity in Release IFC2x Edition 2. -class IfcParse_EXPORT IfcPerformanceHistory : public IfcControl { +class IFC_PARSE_API IfcPerformanceHistory : public IfcControl { public: /// Describes the applicable building life-cycle phase. Typical values should be DESIGNDEVELOPMENT, SCHEMATICDEVELOPMENT, CONSTRUCTIONDOCUMENT, CONSTRUCTION, ASBUILT, COMMISSIONING, OPERATION, etc. std::string LifeCyclePhase() const; @@ -29544,7 +29544,7 @@ public: /// /// Approval Use Definition /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcPermit. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. -class IfcParse_EXPORT IfcPermit : public IfcControl { +class IFC_PARSE_API IfcPermit : public IfcControl { public: std::string PermitID() const; void setPermitID(std::string v); @@ -29589,7 +29589,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcPipeFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcPipeFitting for standard port definitions. -class IfcParse_EXPORT IfcPipeFittingType : public IfcFlowFittingType { +class IFC_PARSE_API IfcPipeFittingType : public IfcFlowFittingType { public: /// The type of pipe fitting. IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum PredefinedType() const; @@ -29639,7 +29639,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcPipeSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcPipeSegment for standard port definitions. -class IfcParse_EXPORT IfcPipeSegmentType : public IfcFlowSegmentType { +class IFC_PARSE_API IfcPipeSegmentType : public IfcFlowSegmentType { public: /// The type of pipe segment. IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum PredefinedType() const; @@ -29733,7 +29733,7 @@ public: /// /// Pset_PlateCommon: common property set for all /// plate types. -class IfcParse_EXPORT IfcPlateType : public IfcBuildingElementType { +class IFC_PARSE_API IfcPlateType : public IfcBuildingElementType { public: /// Identifies the predefined types of a planar member element from which the type required may be set. IfcPlateTypeEnum::IfcPlateTypeEnum PredefinedType() const; @@ -29764,7 +29764,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: polyline. Please refer to ISO/IS 10303-42:1994, p. 45 for the final definition of the formal standard. /// /// HISTORY  New class in IFC Release 1.0 -class IfcParse_EXPORT IfcPolyline : public IfcBoundedCurve { +class IFC_PARSE_API IfcPolyline : public IfcBoundedCurve { public: /// The points defining the polyline. IfcTemplatedEntityList< IfcCartesianPoint >::ptr Points() const; @@ -29834,7 +29834,7 @@ public: /// The geometry use definitions for the shape representation /// of the IfcPort is given at the level of /// its subtypes. -class IfcParse_EXPORT IfcPort : public IfcProduct { +class IFC_PARSE_API IfcPort : public IfcProduct { public: virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcProduct::getArgumentType(i); } @@ -29955,7 +29955,7 @@ public: /// item as a whole but provides inner detail of the item. /// /// Figure 12 — Procedure relationships -class IfcParse_EXPORT IfcProcedure : public IfcProcess { +class IFC_PARSE_API IfcProcedure : public IfcProcess { public: std::string ProcedureID() const; void setProcedureID(std::string v); @@ -30020,7 +30020,7 @@ public: /// /// Approval Use Definition /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcProjectOrder. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. -class IfcParse_EXPORT IfcProjectOrder : public IfcControl { +class IFC_PARSE_API IfcProjectOrder : public IfcControl { public: std::string ID() const; void setID(std::string v); @@ -30055,7 +30055,7 @@ public: typedef IfcTemplatedEntityList< IfcProjectOrder > list; }; -class IfcParse_EXPORT IfcProjectOrderRecord : public IfcControl { +class IFC_PARSE_API IfcProjectOrderRecord : public IfcControl { public: IfcTemplatedEntityList< IfcRelAssignsToProjectOrder >::ptr Records() const; void setRecords(IfcTemplatedEntityList< IfcRelAssignsToProjectOrder >::ptr v); @@ -30180,7 +30180,7 @@ public: /// /// RepresentationIdentifier : 'Body' /// RepresentationType : 'Brep' -class IfcParse_EXPORT IfcProjectionElement : public IfcFeatureElementAddition { +class IFC_PARSE_API IfcProjectionElement : public IfcFeatureElementAddition { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcFeatureElementAddition::getArgumentType(i); } @@ -30229,7 +30229,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcProtectiveDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcProtectiveDevice for standard port definitions. -class IfcParse_EXPORT IfcProtectiveDeviceType : public IfcFlowControllerType { +class IFC_PARSE_API IfcProtectiveDeviceType : public IfcFlowControllerType { public: /// Identifies the predefined types of protective device from which the type required may be set. IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum PredefinedType() const; @@ -30274,7 +30274,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcPumpType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcPump for standard port definitions. -class IfcParse_EXPORT IfcPumpType : public IfcFlowMovingDeviceType { +class IFC_PARSE_API IfcPumpType : public IfcFlowMovingDeviceType { public: /// Defines the type of pump typically used in building services. IfcPumpTypeEnum::IfcPumpTypeEnum PredefinedType() const; @@ -30292,7 +30292,7 @@ public: typedef IfcTemplatedEntityList< IfcPumpType > list; }; -class IfcParse_EXPORT IfcRadiusDimension : public IfcDimensionCurveDirectedCallout { +class IFC_PARSE_API IfcRadiusDimension : public IfcDimensionCurveDirectedCallout { public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDimensionCurveDirectedCallout::getArgumentType(i); } @@ -30326,7 +30326,7 @@ public: /// /// HISTORY New entity in Release IFC2x /// Editon 2. -class IfcParse_EXPORT IfcRailingType : public IfcBuildingElementType { +class IFC_PARSE_API IfcRailingType : public IfcBuildingElementType { public: /// Identifies the predefined types of a railing element from which the type required may be set. IfcRailingTypeEnum::IfcRailingTypeEnum PredefinedType() const; @@ -30363,7 +30363,7 @@ public: /// /// HISTORY New entity in Release IFC2x /// Edition 2. -class IfcParse_EXPORT IfcRampFlightType : public IfcBuildingElementType { +class IFC_PARSE_API IfcRampFlightType : public IfcBuildingElementType { public: /// Identifies the predefined types of a ramp flight element from which the type required may be set. IfcRampFlightTypeEnum::IfcRampFlightTypeEnum PredefinedType() const; @@ -30402,7 +30402,7 @@ public: /// HISTORY New entity in IFC Release 2x. /// /// IFC2x4 CHANGE The attributes RelatingObject and RelatedObjects are demoted from the supertype IfcRelDecomposes. -class IfcParse_EXPORT IfcRelAggregates : public IfcRelDecomposes { +class IFC_PARSE_API IfcRelAggregates : public IfcRelDecomposes { public: virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcRelDecomposes::getArgumentType(i); } @@ -30417,7 +30417,7 @@ public: typedef IfcTemplatedEntityList< IfcRelAggregates > list; }; -class IfcParse_EXPORT IfcRelAssignsTasks : public IfcRelAssignsToControl { +class IFC_PARSE_API IfcRelAssignsTasks : public IfcRelAssignsToControl { public: /// Whether the optional attribute TimeForTask is defined for this IfcRelAssignsTasks bool hasTimeForTask() const; @@ -30472,7 +30472,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcSanitaryTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSanitaryTerminal for standard port definitions. -class IfcParse_EXPORT IfcSanitaryTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcSanitaryTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of sanitary terminal from which the type required may be set. IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum PredefinedType() const; @@ -30490,7 +30490,7 @@ public: typedef IfcTemplatedEntityList< IfcSanitaryTerminalType > list; }; -class IfcParse_EXPORT IfcScheduleTimeControl : public IfcControl { +class IFC_PARSE_API IfcScheduleTimeControl : public IfcControl { public: /// Whether the optional attribute ActualStart is defined for this IfcScheduleTimeControl bool hasActualStart() const; @@ -30578,7 +30578,7 @@ public: typedef IfcTemplatedEntityList< IfcScheduleTimeControl > list; }; -class IfcParse_EXPORT IfcServiceLife : public IfcControl { +class IFC_PARSE_API IfcServiceLife : public IfcControl { public: IfcServiceLifeTypeEnum::IfcServiceLifeTypeEnum ServiceLifeType() const; void setServiceLifeType(IfcServiceLifeTypeEnum::IfcServiceLifeTypeEnum v); @@ -30785,7 +30785,7 @@ public: /// 'Body' /// IfcShapeRepresentation.RepresentationType = 'Brep', or /// 'SurfaceModel' -class IfcParse_EXPORT IfcSite : public IfcSpatialStructureElement { +class IFC_PARSE_API IfcSite : public IfcSpatialStructureElement { public: /// Whether the optional attribute RefLatitude is defined for this IfcSite bool hasRefLatitude() const; @@ -30904,7 +30904,7 @@ public: /// /// Pset_SlabCommon: common property set for all /// slab types. -class IfcParse_EXPORT IfcSlabType : public IfcBuildingElementType { +class IFC_PARSE_API IfcSlabType : public IfcBuildingElementType { public: /// Identifies the predefined types of a slab element from which the type required may be set. IfcSlabTypeEnum::IfcSlabTypeEnum PredefinedType() const; @@ -31171,7 +31171,7 @@ public: /// 'Body' /// IfcShapeRepresentation.RepresentationType : /// 'Brep' -class IfcParse_EXPORT IfcSpace : public IfcSpatialStructureElement { +class IFC_PARSE_API IfcSpace : public IfcSpatialStructureElement { public: IfcInternalOrExternalEnum::IfcInternalOrExternalEnum InteriorOrExteriorSpace() const; void setInteriorOrExteriorSpace(IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v); @@ -31224,7 +31224,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcSpaceHeaterType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSpaceHeater for standard port definitions. -class IfcParse_EXPORT IfcSpaceHeaterType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcSpaceHeaterType : public IfcEnergyConversionDeviceType { public: /// Enumeration of possible types of space heater (e.g., baseboard heater, convector, radiator, etc.). IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum PredefinedType() const; @@ -31242,7 +31242,7 @@ public: typedef IfcTemplatedEntityList< IfcSpaceHeaterType > list; }; -class IfcParse_EXPORT IfcSpaceProgram : public IfcControl { +class IFC_PARSE_API IfcSpaceProgram : public IfcControl { public: std::string SpaceProgramIdentifier() const; void setSpaceProgramIdentifier(std::string v); @@ -31355,7 +31355,7 @@ public: /// agreements may prevent the usage of shared geometry for /// spaces. /// . -class IfcParse_EXPORT IfcSpaceType : public IfcSpatialStructureElementType { +class IFC_PARSE_API IfcSpaceType : public IfcSpatialStructureElementType { public: /// Predefined types to define the particular type of space. There may be property set definitions available for each predefined type. IfcSpaceTypeEnum::IfcSpaceTypeEnum PredefinedType() const; @@ -31398,7 +31398,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcStackTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcStackTerminal for standard port definitions. -class IfcParse_EXPORT IfcStackTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcStackTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of stack terminal from which the type required may be set. IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum PredefinedType() const; @@ -31435,7 +31435,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// Edition 2. -class IfcParse_EXPORT IfcStairFlightType : public IfcBuildingElementType { +class IFC_PARSE_API IfcStairFlightType : public IfcBuildingElementType { public: /// Identifies the predefined types of a stair flight element from which the type required may be set. IfcStairFlightTypeEnum::IfcStairFlightTypeEnum PredefinedType() const; @@ -31471,7 +31471,7 @@ public: /// IfcRelAssignsToProduct relationship object. IfcRelAssignsToProduct.Name is set to /// 'Causes' and IfcRelAssignsToProduct.RelatedObjects refers to an instance of a subtype of /// IfcStructuralReaction. -class IfcParse_EXPORT IfcStructuralAction : public IfcStructuralActivity { +class IFC_PARSE_API IfcStructuralAction : public IfcStructuralActivity { public: /// Indicates if this action may cause a stability problem. If it is 'FALSE', no further investigations regarding stability problems are necessary. bool DestabilizingLoad() const; @@ -31495,7 +31495,7 @@ public: /// Definition from IAI: An IfcStructuralConnection represents a structural connection object (node i.e. vertex connection, or edge connection, or surface connection) or supports. /// /// HISTORY: New entity in IFC 2x2. -class IfcParse_EXPORT IfcStructuralConnection : public IfcStructuralItem { +class IFC_PARSE_API IfcStructuralConnection : public IfcStructuralItem { public: /// Whether the optional attribute AppliedCondition is defined for this IfcStructuralConnection bool hasAppliedCondition() const; @@ -31532,7 +31532,7 @@ public: /// Informal propositions: /// /// The reference curve must not be parallel with Axis at any point within the curve connections's domain. -class IfcParse_EXPORT IfcStructuralCurveConnection : public IfcStructuralConnection { +class IFC_PARSE_API IfcStructuralCurveConnection : public IfcStructuralConnection { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcStructuralConnection::getArgumentType(i); } @@ -31583,7 +31583,7 @@ public: /// Informal propositions: /// /// The reference curve must not be parallel with Axis at any point within the curve member's domain. -class IfcParse_EXPORT IfcStructuralCurveMember : public IfcStructuralMember { +class IFC_PARSE_API IfcStructuralCurveMember : public IfcStructuralMember { public: /// Type of member with respect to its load carrying behavior in this analysis idealization. IfcStructuralCurveTypeEnum::IfcStructuralCurveTypeEnum PredefinedType() const; @@ -31620,7 +31620,7 @@ public: /// Topology Use Definitions: /// /// Instances of IfcStructuralCurveMemberVarying may have a topology representation which contains a single IfcEdgeLoop, based upon the edges of the parts. -class IfcParse_EXPORT IfcStructuralCurveMemberVarying : public IfcStructuralCurveMember { +class IFC_PARSE_API IfcStructuralCurveMemberVarying : public IfcStructuralCurveMember { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcStructuralCurveMember::getArgumentType(i); } @@ -31641,7 +31641,7 @@ public: /// IFC 2x4 change: Intermediate supertype IfcStructuralCurveAction inserted. Derived attribute PredefinedType added. /// /// NOTE  Like its supertype IfcStructuralCurveAction, this action type may also act on curved edges. -class IfcParse_EXPORT IfcStructuralLinearAction : public IfcStructuralAction { +class IFC_PARSE_API IfcStructuralLinearAction : public IfcStructuralAction { public: IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum ProjectedOrTrue() const; void setProjectedOrTrue(IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v); @@ -31658,7 +31658,7 @@ public: typedef IfcTemplatedEntityList< IfcStructuralLinearAction > list; }; -class IfcParse_EXPORT IfcStructuralLinearActionVarying : public IfcStructuralLinearAction { +class IFC_PARSE_API IfcStructuralLinearActionVarying : public IfcStructuralLinearAction { public: IfcShapeAspect* VaryingAppliedLoadLocation() const; void setVaryingAppliedLoadLocation(IfcShapeAspect* v); @@ -31709,7 +31709,7 @@ public: /// Instances of IfcStructuralLoadCase shall only contain instances of IfcStructuralAction /// or/ and instances of IfcStructuralLoadGroup of type LOAD_GROUP. /// Load groups of type LOAD_COMBINATION shall only contain instances of IfcStructuralLoadCase. -class IfcParse_EXPORT IfcStructuralLoadGroup : public IfcGroup { +class IFC_PARSE_API IfcStructuralLoadGroup : public IfcGroup { public: /// Selects a predefined type for the load group. It can be differentiated between load groups, load cases, load combinations, or userdefined grouping levels. IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum PredefinedType() const; @@ -31751,7 +31751,7 @@ public: /// IFC 2x4 change: Intermediate supertype IfcStructuralSurfaceAction inserted. Derived attribute PredefinedType added. /// /// NOTE  Like its supertype IfcStructuralSurfaceAction, this action type may also act on curved faces. -class IfcParse_EXPORT IfcStructuralPlanarAction : public IfcStructuralAction { +class IFC_PARSE_API IfcStructuralPlanarAction : public IfcStructuralAction { public: IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum ProjectedOrTrue() const; void setProjectedOrTrue(IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v); @@ -31768,7 +31768,7 @@ public: typedef IfcTemplatedEntityList< IfcStructuralPlanarAction > list; }; -class IfcParse_EXPORT IfcStructuralPlanarActionVarying : public IfcStructuralPlanarAction { +class IFC_PARSE_API IfcStructuralPlanarActionVarying : public IfcStructuralPlanarAction { public: IfcShapeAspect* VaryingAppliedLoadLocation() const; void setVaryingAppliedLoadLocation(IfcShapeAspect* v); @@ -31831,7 +31831,7 @@ public: /// SELF\IfcStructuralActivity.AppliedLoad shall be of type /// IfcStructuralLoadSingleForce or /// IfcStructuralLoadSingleDisplacement. -class IfcParse_EXPORT IfcStructuralPointAction : public IfcStructuralAction { +class IFC_PARSE_API IfcStructuralPointAction : public IfcStructuralAction { public: virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcStructuralAction::getArgumentType(i); } @@ -31858,7 +31858,7 @@ public: /// Topology Use Definitions: /// /// Instances of IfcStructuralPointConnection shall have a topology representation which consists of one IfcVertexPoint, representing the reference point of the point connection. See definitions at IfcStructuralItem for further specifications. -class IfcParse_EXPORT IfcStructuralPointConnection : public IfcStructuralConnection { +class IFC_PARSE_API IfcStructuralPointConnection : public IfcStructuralConnection { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcStructuralConnection::getArgumentType(i); } @@ -31915,7 +31915,7 @@ public: /// SELF\IfcStructuralActivity.AppliedLoad shall be of type /// IfcStructuralLoadSingleForce or /// IfcStructuralLoadSingleDisplacement. -class IfcParse_EXPORT IfcStructuralPointReaction : public IfcStructuralReaction { +class IFC_PARSE_API IfcStructuralPointReaction : public IfcStructuralReaction { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcStructuralReaction::getArgumentType(i); } @@ -31933,7 +31933,7 @@ public: /// /// HISTORY: New entity in IFC 2x2. /// IFC 2x4 change: WHERE rule added. -class IfcParse_EXPORT IfcStructuralResultGroup : public IfcGroup { +class IFC_PARSE_API IfcStructuralResultGroup : public IfcGroup { public: /// Specifies the analysis theory used to obtain the respective results. IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum TheoryType() const; @@ -31971,7 +31971,7 @@ public: /// Topology Use Definitions: /// /// Instances of IfcStructuralSurfaceConnection shall have a topology representation which consists of one IfcFaceSurface, representing the reference surface of the surface connection. See definitions at IfcStructuralItem for further specifications. -class IfcParse_EXPORT IfcStructuralSurfaceConnection : public IfcStructuralConnection { +class IFC_PARSE_API IfcStructuralSurfaceConnection : public IfcStructuralConnection { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcStructuralConnection::getArgumentType(i); } @@ -32009,7 +32009,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a subcontract resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcSubContractResource and RelatedObjects contains one or more IfcActor, IfcCostSchedule, and/or IfcWorkOrder objects as shown in Figure 195. An IfcActor indicates a specific organization to be considered to fulfill the resource or invited to bid on the resource. An IfcCostSchedule indicates a bid or price quote made on behalf of an organization. An IfcProjectOrder indicates a specific work order committed to fulfill the resource. /// /// Figure 195 — Subcontract assignment use -class IfcParse_EXPORT IfcSubContractResource : public IfcConstructionResource { +class IFC_PARSE_API IfcSubContractResource : public IfcConstructionResource { public: /// Whether the optional attribute SubContractor is defined for this IfcSubContractResource bool hasSubContractor() const; @@ -32071,7 +32071,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcSwitchingDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSwitchingDevice for standard port definitions. -class IfcParse_EXPORT IfcSwitchingDeviceType : public IfcFlowControllerType { +class IFC_PARSE_API IfcSwitchingDeviceType : public IfcFlowControllerType { public: /// Identifies the predefined types of switch from which the type required may be set. IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum PredefinedType() const; @@ -32105,7 +32105,7 @@ public: /// /// HISTORY: New entity in /// IFC Release 1.0 -class IfcParse_EXPORT IfcSystem : public IfcGroup { +class IFC_PARSE_API IfcSystem : public IfcGroup { public: virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcGroup::getArgumentType(i); } @@ -32152,7 +32152,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcTankType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcTank for standard port definitions. -class IfcParse_EXPORT IfcTankType : public IfcFlowStorageDeviceType { +class IFC_PARSE_API IfcTankType : public IfcFlowStorageDeviceType { public: /// Defines the type of tank. IfcTankTypeEnum::IfcTankTypeEnum PredefinedType() const; @@ -32170,7 +32170,7 @@ public: typedef IfcTemplatedEntityList< IfcTankType > list; }; -class IfcParse_EXPORT IfcTimeSeriesSchedule : public IfcControl { +class IFC_PARSE_API IfcTimeSeriesSchedule : public IfcControl { public: /// Whether the optional attribute ApplicableDates is defined for this IfcTimeSeriesSchedule bool hasApplicableDates() const; @@ -32219,7 +32219,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcTransformerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcTransformer for standard port definitions. -class IfcParse_EXPORT IfcTransformerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcTransformerType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of transformer from which the type required may be set. IfcTransformerTypeEnum::IfcTransformerTypeEnum PredefinedType() const; @@ -32352,7 +32352,7 @@ public: /// /// RepresentationIdentifier : 'Body' /// RepresentationType : 'MappedRepresentation' -class IfcParse_EXPORT IfcTransportElement : public IfcElement { +class IFC_PARSE_API IfcTransportElement : public IfcElement { public: /// Whether the optional attribute OperationType is defined for this IfcTransportElement bool hasOperationType() const; @@ -32458,7 +32458,7 @@ public: /// required to be consistent with the parameter values of Trim1 /// and Trim1, so the rule (sense = parameter 1 /// < parameter 2) may not be fulfilled. -class IfcParse_EXPORT IfcTrimmedCurve : public IfcBoundedCurve { +class IFC_PARSE_API IfcTrimmedCurve : public IfcBoundedCurve { public: /// The curve to be trimmed. For curves with multiple representations any parameter values given as Trim1 or Trim2 refer to the master representation of the BasisCurve only. IfcCurve* BasisCurve() const; @@ -32516,7 +32516,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcTubeBundleType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcTubeBundle for standard port definitions. -class IfcParse_EXPORT IfcTubeBundleType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcTubeBundleType : public IfcEnergyConversionDeviceType { public: /// Defines the type of tube bundle. IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum PredefinedType() const; @@ -32561,7 +32561,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcUnitaryEquipmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcUnitaryEquipment for standard port definitions. -class IfcParse_EXPORT IfcUnitaryEquipmentType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcUnitaryEquipmentType : public IfcEnergyConversionDeviceType { public: /// The type of unitary equipment. IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum PredefinedType() const; @@ -32616,7 +32616,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcValveType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcValve for standard port definitions. -class IfcParse_EXPORT IfcValveType : public IfcFlowControllerType { +class IFC_PARSE_API IfcValveType : public IfcFlowControllerType { public: /// The type of valve. IfcValveTypeEnum::IfcValveTypeEnum PredefinedType() const; @@ -32719,7 +32719,7 @@ public: /// /// 'GeometricSet': a list of 3D surfaces within the constraints /// shown above. -class IfcParse_EXPORT IfcVirtualElement : public IfcElement { +class IFC_PARSE_API IfcVirtualElement : public IfcElement { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElement::getArgumentType(i); } @@ -32817,7 +32817,7 @@ public: /// /// Pset_WallCommon: common property set for all /// wall types. -class IfcParse_EXPORT IfcWallType : public IfcBuildingElementType { +class IFC_PARSE_API IfcWallType : public IfcBuildingElementType { public: /// Identifies the predefined types of a wall element from which the type required may be set. IfcWallTypeEnum::IfcWallTypeEnum PredefinedType() const; @@ -32870,7 +32870,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcWasteTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcWasteTerminal for standard port definitions. -class IfcParse_EXPORT IfcWasteTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcWasteTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of waste terminal from which the type required may be set. IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum PredefinedType() const; @@ -32931,7 +32931,7 @@ public: /// /// Pset_WorkControlCommon: common /// property set for work control -class IfcParse_EXPORT IfcWorkControl : public IfcControl { +class IFC_PARSE_API IfcWorkControl : public IfcControl { public: std::string Identifier() const; void setIdentifier(std::string v); @@ -33011,7 +33011,7 @@ public: /// through IfcRelAssignsToControl. /// /// Figure 18 — Work plan relationships -class IfcParse_EXPORT IfcWorkPlan : public IfcWorkControl { +class IFC_PARSE_API IfcWorkPlan : public IfcWorkControl { public: virtual unsigned int getArgumentCount() const { return 15; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcWorkControl::getArgumentType(i); } @@ -33065,7 +33065,7 @@ public: /// task and not the work schedule. /// /// Figure 19 — Work schedule relationships -class IfcParse_EXPORT IfcWorkSchedule : public IfcWorkControl { +class IFC_PARSE_API IfcWorkSchedule : public IfcWorkControl { public: virtual unsigned int getArgumentCount() const { return 15; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcWorkControl::getArgumentType(i); } @@ -33164,7 +33164,7 @@ public: /// Pset_SpaceThermalRequirements: common /// property set for all types of zones to capture the thermal /// requirements -class IfcParse_EXPORT IfcZone : public IfcGroup { +class IFC_PARSE_API IfcZone : public IfcGroup { public: virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcGroup::getArgumentType(i); } @@ -33179,7 +33179,7 @@ public: typedef IfcTemplatedEntityList< IfcZone > list; }; -class IfcParse_EXPORT Ifc2DCompositeCurve : public IfcCompositeCurve { +class IFC_PARSE_API Ifc2DCompositeCurve : public IfcCompositeCurve { public: virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcCompositeCurve::getArgumentType(i); } @@ -33231,7 +33231,7 @@ public: /// /// Approval Use Definition /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcActionRequest. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. -class IfcParse_EXPORT IfcActionRequest : public IfcControl { +class IFC_PARSE_API IfcActionRequest : public IfcControl { public: std::string RequestID() const; void setRequestID(std::string v); @@ -33273,7 +33273,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcAirTerminalBoxType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirTerminalBox for standard port definitions. -class IfcParse_EXPORT IfcAirTerminalBoxType : public IfcFlowControllerType { +class IFC_PARSE_API IfcAirTerminalBoxType : public IfcFlowControllerType { public: /// The air terminal box type. IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum PredefinedType() const; @@ -33316,7 +33316,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcAirTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirTerminal for standard port definitions. -class IfcParse_EXPORT IfcAirTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcAirTerminalType : public IfcFlowTerminalType { public: IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum PredefinedType() const; void setPredefinedType(IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum v); @@ -33358,7 +33358,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcAirToAirHeatRecoveryType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirToAirHeatRecovery for standard port definitions. -class IfcParse_EXPORT IfcAirToAirHeatRecoveryType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcAirToAirHeatRecoveryType : public IfcEnergyConversionDeviceType { public: /// Defines the type of air to air heat recovery device. IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum PredefinedType() const; @@ -33376,7 +33376,7 @@ public: typedef IfcTemplatedEntityList< IfcAirToAirHeatRecoveryType > list; }; -class IfcParse_EXPORT IfcAngularDimension : public IfcDimensionCurveDirectedCallout { +class IFC_PARSE_API IfcAngularDimension : public IfcDimensionCurveDirectedCallout { public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDimensionCurveDirectedCallout::getArgumentType(i); } @@ -33414,7 +33414,7 @@ public: /// /// The IfcAsset may have assignments of its own using the IfcRelAssignsToGroup relationship where RelatingGroup refers to the IfcAsset and RelatedObjects contains one or more objects of the following types: /// IfcElement: Physical elements that comprise the asset. -class IfcParse_EXPORT IfcAsset : public IfcGroup { +class IFC_PARSE_API IfcAsset : public IfcGroup { public: std::string AssetID() const; void setAssetID(std::string v); @@ -33507,7 +33507,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: b_spline_curve. Please refer to ISO/IS 10303-42:1994, p. 45 for the final definition of the formal standard. /// /// HISTORY  New entity in Release IFC2x2. -class IfcParse_EXPORT IfcBSplineCurve : public IfcBoundedCurve { +class IFC_PARSE_API IfcBSplineCurve : public IfcBoundedCurve { public: /// The algebraic degree of the basis functions. int Degree() const; @@ -33634,7 +33634,7 @@ public: /// IfcShapeRepresentation are restricted in the same way as /// those for IfcBeam and /// IfcBeamStandardCase -class IfcParse_EXPORT IfcBeamType : public IfcBuildingElementType { +class IFC_PARSE_API IfcBeamType : public IfcBuildingElementType { public: /// Identifies the predefined types of a beam element from which the type required may be set. IfcBeamTypeEnum::IfcBeamTypeEnum PredefinedType() const; @@ -33652,7 +33652,7 @@ public: typedef IfcTemplatedEntityList< IfcBeamType > list; }; -class IfcParse_EXPORT IfcBezierCurve : public IfcBSplineCurve { +class IFC_PARSE_API IfcBezierCurve : public IfcBSplineCurve { public: virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcBSplineCurve::getArgumentType(i); } @@ -33695,7 +33695,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcBoilerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcBoiler for standard port definitions. -class IfcParse_EXPORT IfcBoilerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcBoilerType : public IfcEnergyConversionDeviceType { public: /// Defines types of boilers. IfcBoilerTypeEnum::IfcBoilerTypeEnum PredefinedType() const; @@ -34075,7 +34075,7 @@ public: /// 'AdvancedBrep' geometric representation, shall apply to the /// MappedRepresentation of the /// IfcRepresentationMap. -class IfcParse_EXPORT IfcBuildingElement : public IfcElement { +class IFC_PARSE_API IfcBuildingElement : public IfcElement { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElement::getArgumentType(i); } @@ -34090,7 +34090,7 @@ public: typedef IfcTemplatedEntityList< IfcBuildingElement > list; }; -class IfcParse_EXPORT IfcBuildingElementComponent : public IfcBuildingElement { +class IFC_PARSE_API IfcBuildingElementComponent : public IfcBuildingElement { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcBuildingElement::getArgumentType(i); } @@ -34121,7 +34121,7 @@ public: /// Moved from from IfcStructuralElementsDomain schema to /// IfcSharedComponentElements schema, compatible change of supertype, /// attribute PredefinedType added. -class IfcParse_EXPORT IfcBuildingElementPart : public IfcBuildingElementComponent { +class IFC_PARSE_API IfcBuildingElementPart : public IfcBuildingElementComponent { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcBuildingElementComponent::getArgumentType(i); } @@ -34325,7 +34325,7 @@ public: /// /// No further restrictions (e.g., for the depths of the CSG tree) /// are defined at this level. -class IfcParse_EXPORT IfcBuildingElementProxy : public IfcBuildingElement { +class IFC_PARSE_API IfcBuildingElementProxy : public IfcBuildingElement { public: /// Whether the optional attribute CompositionType is defined for this IfcBuildingElementProxy bool hasCompositionType() const; @@ -34377,7 +34377,7 @@ public: /// /// HISTORYÿ New entity in /// Release IFC2x Edition 3. -class IfcParse_EXPORT IfcBuildingElementProxyType : public IfcBuildingElementType { +class IFC_PARSE_API IfcBuildingElementProxyType : public IfcBuildingElementType { public: /// Predefined types to define the particular type of an building element proxy. There may be property set definitions available for each predefined or user defined type. IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum PredefinedType() const; @@ -34420,7 +34420,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCableCarrierFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableCarrierFitting for standard port definitions. -class IfcParse_EXPORT IfcCableCarrierFittingType : public IfcFlowFittingType { +class IFC_PARSE_API IfcCableCarrierFittingType : public IfcFlowFittingType { public: /// Identifies the predefined types of cable carrier fitting from which the type required may be set. IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum PredefinedType() const; @@ -34469,7 +34469,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCableCarrierSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableCarrierSegment for standard port definitions. -class IfcParse_EXPORT IfcCableCarrierSegmentType : public IfcFlowSegmentType { +class IFC_PARSE_API IfcCableCarrierSegmentType : public IfcFlowSegmentType { public: /// Identifies the predefined types of cable carrier segment from which the type required may be set. IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum PredefinedType() const; @@ -34527,7 +34527,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCableSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableSegment for standard port definitions. -class IfcParse_EXPORT IfcCableSegmentType : public IfcFlowSegmentType { +class IFC_PARSE_API IfcCableSegmentType : public IfcFlowSegmentType { public: /// Identifies the predefined types of cable segment from which the type required may be set. IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum PredefinedType() const; @@ -34576,7 +34576,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcChillerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcChiller for standard port definitions. -class IfcParse_EXPORT IfcChillerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcChillerType : public IfcEnergyConversionDeviceType { public: /// Defines the typical types of chillers (e.g., air-cooled, water-cooled, etc.). IfcChillerTypeEnum::IfcChillerTypeEnum PredefinedType() const; @@ -34620,7 +34620,7 @@ public: /// Figure 278 illustrates the definition of the IfcCircle within the (in this case three-dimensional) position coordinate system. /// /// Figure 278 — Circle geometry -class IfcParse_EXPORT IfcCircle : public IfcConic { +class IFC_PARSE_API IfcCircle : public IfcConic { public: /// The radius of the circle, which shall be greater than zero. double Radius() const; @@ -34664,7 +34664,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCoilType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCoil for standard port definitions. -class IfcParse_EXPORT IfcCoilType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcCoilType : public IfcEnergyConversionDeviceType { public: /// Defines typical types of coils (e.g., Cooling, Heating, etc.) IfcCoilTypeEnum::IfcCoilTypeEnum PredefinedType() const; @@ -34952,7 +34952,7 @@ public: /// geometric representation, shall apply to the /// MappedRepresentation of the /// IfcRepresentationMap. -class IfcParse_EXPORT IfcColumn : public IfcBuildingElement { +class IFC_PARSE_API IfcColumn : public IfcBuildingElement { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcBuildingElement::getArgumentType(i); } @@ -34993,7 +34993,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCompressorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCompressor for standard port definitions. -class IfcParse_EXPORT IfcCompressorType : public IfcFlowMovingDeviceType { +class IFC_PARSE_API IfcCompressorType : public IfcFlowMovingDeviceType { public: /// Defines the type of compressor (e.g., hermetic, reciprocating, etc.). IfcCompressorTypeEnum::IfcCompressorTypeEnum PredefinedType() const; @@ -35037,7 +35037,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCondenserType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCondenser for standard port definitions. -class IfcParse_EXPORT IfcCondenserType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcCondenserType : public IfcEnergyConversionDeviceType { public: /// Defines the type of condenser. IfcCondenserTypeEnum::IfcCondenserTypeEnum PredefinedType() const; @@ -35055,7 +35055,7 @@ public: typedef IfcTemplatedEntityList< IfcCondenserType > list; }; -class IfcParse_EXPORT IfcCondition : public IfcGroup { +class IFC_PARSE_API IfcCondition : public IfcGroup { public: virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcGroup::getArgumentType(i); } @@ -35070,7 +35070,7 @@ public: typedef IfcTemplatedEntityList< IfcCondition > list; }; -class IfcParse_EXPORT IfcConditionCriterion : public IfcControl { +class IFC_PARSE_API IfcConditionCriterion : public IfcControl { public: IfcConditionCriterionSelect* Criterion() const; void setCriterion(IfcConditionCriterionSelect* v); @@ -35110,7 +35110,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a construction equipment resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionEquipmentResource and RelatedObjects contains one or more IfcProduct subtypes as shown in Figure 183. Such relationship indicates the equipment used as input for the resource. Such products are not contained within a building structure but are referenced within a construction spatial zone, specifically IfcSpatialZone with PredefinedType=CONSTRUCTION, which is aggregated within the IfcProject. There may be multiple chains of production such that the assigned equipment may have their own task and resource assignments for assembling such equipment. /// /// Figure 183 — Construction equipment resource assignment -class IfcParse_EXPORT IfcConstructionEquipmentResource : public IfcConstructionResource { +class IFC_PARSE_API IfcConstructionEquipmentResource : public IfcConstructionResource { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcConstructionResource::getArgumentType(i); } @@ -35150,7 +35150,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a construction material resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionMaterialResource and RelatedObjects contains one or more IfcProduct subtypes as shown in Figure 184. Such relationship indicates the physical material used as input for the resource. Such products are not contained within a building structure but are referenced within a construction spatial zone, specifically IfcSpatialZone with PredefinedType=CONSTRUCTION, which is aggregated within the IfcProject. The IfcGeographicElement object is used to represent the physical material occurrence, which may optionally have placement and representation indicating intended storage on the construction site. There may be multiple chains of production such that the assigned product material(s) may have their own task and resource assignments for transporting or extracting such material. /// /// Figure 184 — Construction material resource assignment -class IfcParse_EXPORT IfcConstructionMaterialResource : public IfcConstructionResource { +class IFC_PARSE_API IfcConstructionMaterialResource : public IfcConstructionResource { public: /// Whether the optional attribute Suppliers is defined for this IfcConstructionMaterialResource bool hasSuppliers() const; @@ -35187,7 +35187,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a construction product resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionProductResource and RelatedObjects contains one or more IfcProduct subtypes as shown in Figure 185. Such relationship indicates the products used as input for the resource. Such products are not contained within a building structure but are referenced within a construction spatial zone, specifically IfcSpatialZone with PredefinedType=CONSTRUCTION, which is aggregated within the IfcProject. There may be multiple chains of production such that the assigned products may have their own task and resource assignments. /// /// Figure 185 — Construction product resource assignment -class IfcParse_EXPORT IfcConstructionProductResource : public IfcConstructionResource { +class IFC_PARSE_API IfcConstructionProductResource : public IfcConstructionResource { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcConstructionResource::getArgumentType(i); } @@ -35230,7 +35230,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCooledBeamType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCooledBeam for standard port definitions. -class IfcParse_EXPORT IfcCooledBeamType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcCooledBeamType : public IfcEnergyConversionDeviceType { public: /// Defines the type of cooled beam. IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum PredefinedType() const; @@ -35280,7 +35280,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCoolingTowerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCoolingTower for standard port definitions. -class IfcParse_EXPORT IfcCoolingTowerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcCoolingTowerType : public IfcEnergyConversionDeviceType { public: /// Defines the typical types of cooling towers (e.g., OpenTower, ClosedTower, CrossFlow, etc.). IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum PredefinedType() const; @@ -35521,7 +35521,7 @@ public: /// IfcArbitraryClosedProfileDef - in cases of faceted representation also a closed IfcPolyline). It is extruded along the plane of the base surface using the Depth parameter of the IfcSurfaceOfLinearExtrusion. /// /// Figure 95 — Covering body circular -class IfcParse_EXPORT IfcCovering : public IfcBuildingElement { +class IFC_PARSE_API IfcCovering : public IfcBuildingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcCovering bool hasPredefinedType() const; @@ -35680,7 +35680,7 @@ public: /// /// An own 'Body' representation shall only be included if no /// components of the curtain wall are defined. -class IfcParse_EXPORT IfcCurtainWall : public IfcBuildingElement { +class IFC_PARSE_API IfcCurtainWall : public IfcBuildingElement { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcBuildingElement::getArgumentType(i); } @@ -35728,7 +35728,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcDamperType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDamper for standard port definitions. -class IfcParse_EXPORT IfcDamperType : public IfcFlowControllerType { +class IFC_PARSE_API IfcDamperType : public IfcFlowControllerType { public: /// Type of damper. IfcDamperTypeEnum::IfcDamperTypeEnum PredefinedType() const; @@ -35746,7 +35746,7 @@ public: typedef IfcTemplatedEntityList< IfcDamperType > list; }; -class IfcParse_EXPORT IfcDiameterDimension : public IfcDimensionCurveDirectedCallout { +class IFC_PARSE_API IfcDiameterDimension : public IfcDimensionCurveDirectedCallout { public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDimensionCurveDirectedCallout::getArgumentType(i); } @@ -35933,7 +35933,7 @@ public: /// 'Support section' /// A section of material that is used as an intermediate support upon /// which multiple brackets can be mounted. -class IfcParse_EXPORT IfcDiscreteAccessory : public IfcElementComponent { +class IFC_PARSE_API IfcDiscreteAccessory : public IfcElementComponent { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElementComponent::getArgumentType(i); } @@ -36135,7 +36135,7 @@ public: /// 'Support section' /// A section of material that is used as an intermediate support upon /// which multiple brackets can be mounted. -class IfcParse_EXPORT IfcDiscreteAccessoryType : public IfcElementComponentType { +class IFC_PARSE_API IfcDiscreteAccessoryType : public IfcElementComponentType { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElementComponentType::getArgumentType(i); } @@ -36186,7 +36186,7 @@ public: /// 'Cover': The material from which the access cover to the chamber is constructed. /// 'Fill': The material that is used to fill the duct (where used). /// 'Wall': The material from which the wall of the duct is constructed. -class IfcParse_EXPORT IfcDistributionChamberElementType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcDistributionChamberElementType : public IfcDistributionFlowElementType { public: /// Predefined types of distribution chambers. IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum PredefinedType() const; @@ -36257,7 +36257,7 @@ public: /// 'Clearance': Represents the 3D clearance volume of the item having RepresentationType of 'Surface3D'. Such clearance region indicates space that should not intersect with the 'Body' representation between element occurrences, though may intersect with the 'Clearance' representation of other element occurrences. The particular use of clearance space may be for safety, maintenance, or other purpose. /// /// NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem. -class IfcParse_EXPORT IfcDistributionControlElementType : public IfcDistributionElementType { +class IFC_PARSE_API IfcDistributionControlElementType : public IfcDistributionElementType { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionElementType::getArgumentType(i); } @@ -36433,7 +36433,7 @@ public: /// /// RepresentationIdentifier : 'Body' /// RepresentationType : 'SectionedSpine' -class IfcParse_EXPORT IfcDistributionElement : public IfcElement { +class IFC_PARSE_API IfcDistributionElement : public IfcElement { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElement::getArgumentType(i); } @@ -36515,7 +36515,7 @@ public: /// If materials are defined, geometry of each representation (most typically the 'Body' representation) may be organized into shape aspects where styles may be derived by correlating IfcShapeAspect.Name to a corresponding material (IfcMaterialConstituent.Name or IfcMaterialProfile.Name). /// /// Representations are further defined at subtypes; for example, parametric flow segments align material profiles with the 'Axis' representation. -class IfcParse_EXPORT IfcDistributionFlowElement : public IfcDistributionElement { +class IFC_PARSE_API IfcDistributionFlowElement : public IfcDistributionElement { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionElement::getArgumentType(i); } @@ -36612,7 +36612,7 @@ public: /// IfcShapeRepresentation: The optional shape representation describes the connection volume and supports indication of the port position and orientation. The position is typically the midpoint of the physical connection, and the orientation points in the flow direction normal to the physical connection. Upon connecting elements through ports with rigid connections, each object is aligned such that the effective Location, Axis, and RefDirection of each port is aligned to be equal. /// /// 'Body': The shape of the port. -class IfcParse_EXPORT IfcDistributionPort : public IfcPort { +class IFC_PARSE_API IfcDistributionPort : public IfcPort { public: /// Whether the optional attribute FlowDirection is defined for this IfcDistributionPort bool hasFlowDirection() const; @@ -36987,7 +36987,7 @@ public: /// pictures). /// /// Figure 97 — Door swing -class IfcParse_EXPORT IfcDoor : public IfcBuildingElement { +class IFC_PARSE_API IfcDoor : public IfcBuildingElement { public: /// Whether the optional attribute OverallHeight is defined for this IfcDoor bool hasOverallHeight() const; @@ -37044,7 +37044,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcDuctFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDuctFitting for standard port definitions. -class IfcParse_EXPORT IfcDuctFittingType : public IfcFlowFittingType { +class IFC_PARSE_API IfcDuctFittingType : public IfcFlowFittingType { public: /// The type of duct fitting. IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum PredefinedType() const; @@ -37090,7 +37090,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcDuctSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDuctSegment for standard port definitions. -class IfcParse_EXPORT IfcDuctSegmentType : public IfcFlowSegmentType { +class IFC_PARSE_API IfcDuctSegmentType : public IfcFlowSegmentType { public: /// The type of duct segment. IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum PredefinedType() const; @@ -37133,7 +37133,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcDuctSilencerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDuctSilencer for standard port definitions. -class IfcParse_EXPORT IfcDuctSilencerType : public IfcFlowTreatmentDeviceType { +class IFC_PARSE_API IfcDuctSilencerType : public IfcFlowTreatmentDeviceType { public: /// The type of duct silencer. IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum PredefinedType() const; @@ -37151,7 +37151,7 @@ public: typedef IfcTemplatedEntityList< IfcDuctSilencerType > list; }; -class IfcParse_EXPORT IfcEdgeFeature : public IfcFeatureElementSubtraction { +class IFC_PARSE_API IfcEdgeFeature : public IfcFeatureElementSubtraction { public: /// Whether the optional attribute FeatureLength is defined for this IfcEdgeFeature bool hasFeatureLength() const; @@ -37198,7 +37198,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricApplianceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricAppliance for standard port definitions. -class IfcParse_EXPORT IfcElectricApplianceType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcElectricApplianceType : public IfcFlowTerminalType { public: /// Identifies the predefined types of electrical appliance from which the type required may be set. IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum PredefinedType() const; @@ -37242,7 +37242,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricFlowStorageDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricFlowStorageDevice for standard port definitions. -class IfcParse_EXPORT IfcElectricFlowStorageDeviceType : public IfcFlowStorageDeviceType { +class IFC_PARSE_API IfcElectricFlowStorageDeviceType : public IfcFlowStorageDeviceType { public: /// Identifies the predefined types of electric flow storage devices from which the type required may be set. IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum PredefinedType() const; @@ -37291,7 +37291,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricGeneratorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricGenerator for standard port definitions. -class IfcParse_EXPORT IfcElectricGeneratorType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcElectricGeneratorType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of electric generators from which the type required may be set. IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum PredefinedType() const; @@ -37309,7 +37309,7 @@ public: typedef IfcTemplatedEntityList< IfcElectricGeneratorType > list; }; -class IfcParse_EXPORT IfcElectricHeaterType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcElectricHeaterType : public IfcFlowTerminalType { public: IfcElectricHeaterTypeEnum::IfcElectricHeaterTypeEnum PredefinedType() const; void setPredefinedType(IfcElectricHeaterTypeEnum::IfcElectricHeaterTypeEnum v); @@ -37352,7 +37352,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricMotorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricMotor for standard port definitions. -class IfcParse_EXPORT IfcElectricMotorType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcElectricMotorType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of electric motor from which the type required may be set. IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum PredefinedType() const; @@ -37396,7 +37396,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricTimeControlType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricTimeControl for standard port definitions. -class IfcParse_EXPORT IfcElectricTimeControlType : public IfcFlowControllerType { +class IFC_PARSE_API IfcElectricTimeControlType : public IfcFlowControllerType { public: /// Identifies the predefined types of electrical time control from which the type required may be set. IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum PredefinedType() const; @@ -37414,7 +37414,7 @@ public: typedef IfcTemplatedEntityList< IfcElectricTimeControlType > list; }; -class IfcParse_EXPORT IfcElectricalCircuit : public IfcSystem { +class IFC_PARSE_API IfcElectricalCircuit : public IfcSystem { public: virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcSystem::getArgumentType(i); } @@ -37429,7 +37429,7 @@ public: typedef IfcTemplatedEntityList< IfcElectricalCircuit > list; }; -class IfcParse_EXPORT IfcElectricalElement : public IfcElement { +class IFC_PARSE_API IfcElectricalElement : public IfcElement { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElement::getArgumentType(i); } @@ -37452,7 +37452,7 @@ public: /// HISTORY: New entity in IFC R2.0. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IfcParse_EXPORT IfcEnergyConversionDevice : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcEnergyConversionDevice : public IfcDistributionFlowElement { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElement::getArgumentType(i); } @@ -37494,7 +37494,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFanType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFan for standard port definitions. -class IfcParse_EXPORT IfcFanType : public IfcFlowMovingDeviceType { +class IFC_PARSE_API IfcFanType : public IfcFlowMovingDeviceType { public: /// Defines the type of fan typically used in building services. IfcFanTypeEnum::IfcFanTypeEnum PredefinedType() const; @@ -37540,7 +37540,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFilterType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFilter for standard port definitions. -class IfcParse_EXPORT IfcFilterType : public IfcFlowTreatmentDeviceType { +class IFC_PARSE_API IfcFilterType : public IfcFlowTreatmentDeviceType { public: /// The type of air filter. IfcFilterTypeEnum::IfcFilterTypeEnum PredefinedType() const; @@ -37590,7 +37590,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFireSuppressionTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFireSuppressionTerminal for standard port definitions. -class IfcParse_EXPORT IfcFireSuppressionTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcFireSuppressionTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of fire suppression terminal from which the type required may be set. IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum PredefinedType() const; @@ -37616,7 +37616,7 @@ public: /// HISTORY: New entity in IFC R2.0. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IfcParse_EXPORT IfcFlowController : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowController : public IfcDistributionFlowElement { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElement::getArgumentType(i); } @@ -37635,7 +37635,7 @@ public: /// HISTORY: New entity in IFC R2.0. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IfcParse_EXPORT IfcFlowFitting : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowFitting : public IfcDistributionFlowElement { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElement::getArgumentType(i); } @@ -37679,7 +37679,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFlowInstrumentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFlowInstrument for standard port definitions. -class IfcParse_EXPORT IfcFlowInstrumentType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcFlowInstrumentType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of flow instrument from which the type required may be set. IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum PredefinedType() const; @@ -37701,7 +37701,7 @@ public: /// HISTORY: New entity in IFC R2x. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IfcParse_EXPORT IfcFlowMovingDevice : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowMovingDevice : public IfcDistributionFlowElement { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElement::getArgumentType(i); } @@ -37738,7 +37738,7 @@ public: /// Representation Use Definition /// /// Standard representations are defined at the supertype IfcDistrubutionFlowElement. For parametric flow segments where IfcMaterialProfileSetUsage is defined and an 'Axis' representation is defined, then the 'Body' representation may be generated using the 'SweptSolid' or 'AdvancedSweptSolid' representation types by sweeping the profile(s) along the axis. -class IfcParse_EXPORT IfcFlowSegment : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowSegment : public IfcDistributionFlowElement { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElement::getArgumentType(i); } @@ -37762,7 +37762,7 @@ public: /// HISTORY: New entity in IFC R2x. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IfcParse_EXPORT IfcFlowStorageDevice : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowStorageDevice : public IfcDistributionFlowElement { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElement::getArgumentType(i); } @@ -37787,7 +37787,7 @@ public: /// HISTORY: New entity in IFC R2.0. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IfcParse_EXPORT IfcFlowTerminal : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowTerminal : public IfcDistributionFlowElement { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElement::getArgumentType(i); } @@ -37806,7 +37806,7 @@ public: /// HISTORY: New entity in IFC R2x. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IfcParse_EXPORT IfcFlowTreatmentDevice : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowTreatmentDevice : public IfcDistributionFlowElement { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElement::getArgumentType(i); } @@ -37842,7 +37842,7 @@ public: /// Geometry Use Definition /// /// Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcBeamStandardCase or IfcSlabStandardCase should be used when applicable. -class IfcParse_EXPORT IfcFooting : public IfcBuildingElement { +class IFC_PARSE_API IfcFooting : public IfcBuildingElement { public: /// The generic type of the footing. /// @@ -38111,7 +38111,7 @@ public: /// geometric representation, shall apply to the /// MappedRepresentation of the /// IfcRepresentationMap. -class IfcParse_EXPORT IfcMember : public IfcBuildingElement { +class IFC_PARSE_API IfcMember : public IfcBuildingElement { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcBuildingElement::getArgumentType(i); } @@ -38143,7 +38143,7 @@ public: /// Geometry Use Definition /// /// Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcColumnStandardCase should be used when applicable. -class IfcParse_EXPORT IfcPile : public IfcBuildingElement { +class IFC_PARSE_API IfcPile : public IfcBuildingElement { public: /// The predefined generic type of the pile according to function. /// @@ -38397,7 +38397,7 @@ public: /// 'Clipping', 'SurfaceModel', and 'Brep' geometric representation, /// shall apply to the MappedRepresentation of the /// IfcRepresentationMap. -class IfcParse_EXPORT IfcPlate : public IfcBuildingElement { +class IFC_PARSE_API IfcPlate : public IfcBuildingElement { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcBuildingElement::getArgumentType(i); } @@ -38543,7 +38543,7 @@ public: /// RepresentationIdentifier : 'Body' /// RepresentationType : 'SurfaceModel', 'Brep', /// 'MappedRepresentation' -class IfcParse_EXPORT IfcRailing : public IfcBuildingElement { +class IFC_PARSE_API IfcRailing : public IfcBuildingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcRailing bool hasPredefinedType() const; @@ -38697,7 +38697,7 @@ public: /// Figure 111 illustrates IfcRamp defining the local placement for all components. /// /// Figure 111 — Ramp placement -class IfcParse_EXPORT IfcRamp : public IfcBuildingElement { +class IFC_PARSE_API IfcRamp : public IfcBuildingElement { public: IfcRampTypeEnum::IfcRampTypeEnum ShapeType() const; void setShapeType(IfcRampTypeEnum::IfcRampTypeEnum v); @@ -38901,7 +38901,7 @@ public: /// Figure 114 illustrates the body representation. /// /// Figure 114 — Ramp flight body -class IfcParse_EXPORT IfcRampFlight : public IfcBuildingElement { +class IFC_PARSE_API IfcRampFlight : public IfcBuildingElement { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcBuildingElement::getArgumentType(i); } @@ -38916,7 +38916,7 @@ public: typedef IfcTemplatedEntityList< IfcRampFlight > list; }; -class IfcParse_EXPORT IfcRationalBezierCurve : public IfcBezierCurve { +class IFC_PARSE_API IfcRationalBezierCurve : public IfcBezierCurve { public: std::vector< double > /*[2:?]*/ WeightsData() const; void setWeightsData(std::vector< double > /*[2:?]*/ v); @@ -38940,7 +38940,7 @@ public: /// Subtypes IfcTendon and IfcTendonAnchor removed. /// Attribute SteelGrade removed. /// Attributes PredefinedType and Role added. -class IfcParse_EXPORT IfcReinforcingElement : public IfcBuildingElementComponent { +class IFC_PARSE_API IfcReinforcingElement : public IfcBuildingElementComponent { public: /// Whether the optional attribute SteelGrade is defined for this IfcReinforcingElement bool hasSteelGrade() const; @@ -38982,7 +38982,7 @@ public: /// /// Simplified Geometric Representation /// Simplified geometric representations may be used based on local agreements. -class IfcParse_EXPORT IfcReinforcingMesh : public IfcReinforcingElement { +class IFC_PARSE_API IfcReinforcingMesh : public IfcReinforcingElement { public: /// Whether the optional attribute MeshLength is defined for this IfcReinforcingMesh bool hasMeshLength() const; @@ -39161,7 +39161,7 @@ public: /// Figure 119 illustrates roof placement, with an IfcRoof defining the local placement for all aggregated elements. /// /// Figure 119 — Roof placement -class IfcParse_EXPORT IfcRoof : public IfcBuildingElement { +class IFC_PARSE_API IfcRoof : public IfcBuildingElement { public: IfcRoofTypeEnum::IfcRoofTypeEnum ShapeType() const; void setShapeType(IfcRoofTypeEnum::IfcRoofTypeEnum v); @@ -39178,7 +39178,7 @@ public: typedef IfcTemplatedEntityList< IfcRoof > list; }; -class IfcParse_EXPORT IfcRoundedEdgeFeature : public IfcEdgeFeature { +class IFC_PARSE_API IfcRoundedEdgeFeature : public IfcEdgeFeature { public: /// Whether the optional attribute Radius is defined for this IfcRoundedEdgeFeature bool hasRadius() const; @@ -39244,7 +39244,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcSensorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSensor for standard port definitions. -class IfcParse_EXPORT IfcSensorType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcSensorType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of sensor from which the type required may be set. IfcSensorTypeEnum::IfcSensorTypeEnum PredefinedType() const; @@ -39521,7 +39521,7 @@ public: /// geometric representation. The profile is extruded non-perpendicular and the slab body is clipped at the eave. /// /// Figure 121 — Slab body clipping -class IfcParse_EXPORT IfcSlab : public IfcBuildingElement { +class IFC_PARSE_API IfcSlab : public IfcBuildingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcSlab bool hasPredefinedType() const; @@ -39708,7 +39708,7 @@ public: /// Figure 128 illustrates stair placement, where the IfcStair defines the local placement for all components and the common 'Axis' representation, and each component has its own 'Body' representation. /// /// Figure 128 — Stair placement -class IfcParse_EXPORT IfcStair : public IfcBuildingElement { +class IFC_PARSE_API IfcStair : public IfcBuildingElement { public: IfcStairTypeEnum::IfcStairTypeEnum ShapeType() const; void setShapeType(IfcStairTypeEnum::IfcStairTypeEnum v); @@ -39891,7 +39891,7 @@ public: /// Figure 131 illustrates the body representation. /// /// Figure 131 — Stair flight body -class IfcParse_EXPORT IfcStairFlight : public IfcBuildingElement { +class IFC_PARSE_API IfcStairFlight : public IfcBuildingElement { public: /// Whether the optional attribute NumberOfRiser is defined for this IfcStairFlight bool hasNumberOfRiser() const; @@ -39956,7 +39956,7 @@ public: /// NOTE  This rule is necessary to achieve consistent topology representations. The topology representations of structural items in an analysis model are meant to share vertices and edges und must therefore have the same object placement. /// /// NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. -class IfcParse_EXPORT IfcStructuralAnalysisModel : public IfcSystem { +class IFC_PARSE_API IfcStructuralAnalysisModel : public IfcSystem { public: /// Defines the type of the structural analysis model. IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum PredefinedType() const; @@ -39998,7 +39998,7 @@ public: typedef IfcTemplatedEntityList< IfcStructuralAnalysisModel > list; }; -class IfcParse_EXPORT IfcTendon : public IfcReinforcingElement { +class IFC_PARSE_API IfcTendon : public IfcReinforcingElement { public: IfcTendonTypeEnum::IfcTendonTypeEnum PredefinedType() const; void setPredefinedType(IfcTendonTypeEnum::IfcTendonTypeEnum v); @@ -40039,7 +40039,7 @@ public: typedef IfcTemplatedEntityList< IfcTendon > list; }; -class IfcParse_EXPORT IfcTendonAnchor : public IfcReinforcingElement { +class IFC_PARSE_API IfcTendonAnchor : public IfcReinforcingElement { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcReinforcingElement::getArgumentType(i); } @@ -40075,7 +40075,7 @@ public: /// The material of the IfcVibrationIsolatorType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used: /// /// 'Damping': Material from which the damping element of the vibration isolator is constructed. -class IfcParse_EXPORT IfcVibrationIsolatorType : public IfcDiscreteAccessoryType { +class IFC_PARSE_API IfcVibrationIsolatorType : public IfcDiscreteAccessoryType { public: /// Defines the type of vibration isolator. IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum PredefinedType() const; @@ -40334,7 +40334,7 @@ public: /// that relationship object is defined at the level of the subtypes /// of IfcWall and at the /// IfcRelConnectsPathElements. -class IfcParse_EXPORT IfcWall : public IfcBuildingElement { +class IFC_PARSE_API IfcWall : public IfcBuildingElement { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcBuildingElement::getArgumentType(i); } @@ -40550,7 +40550,7 @@ public: /// /// Figure 139 — Wall body clipping straight /// Figure 140 — Wall body clipping curved -class IfcParse_EXPORT IfcWallStandardCase : public IfcWall { +class IFC_PARSE_API IfcWallStandardCase : public IfcWall { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcWall::getArgumentType(i); } @@ -40922,7 +40922,7 @@ public: /// . /// /// Figure 144 — Window operations -class IfcParse_EXPORT IfcWindow : public IfcBuildingElement { +class IFC_PARSE_API IfcWindow : public IfcBuildingElement { public: /// Whether the optional attribute OverallHeight is defined for this IfcWindow bool hasOverallHeight() const; @@ -40981,7 +40981,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcActuatorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcActuator for standard port definitions. -class IfcParse_EXPORT IfcActuatorType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcActuatorType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of actuator from which the type required may be set. IfcActuatorTypeEnum::IfcActuatorTypeEnum PredefinedType() const; @@ -41024,7 +41024,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcAlarmType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAlarm for standard port definitions. -class IfcParse_EXPORT IfcAlarmType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcAlarmType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of alarm from which the type required may be set. IfcAlarmTypeEnum::IfcAlarmTypeEnum PredefinedType() const; @@ -41278,7 +41278,7 @@ public: /// 'AdvancedSweptSolid', 'SurfaceModel', and 'Brep' geometric /// representation, shall apply to the MappedRepresentation of /// the IfcRepresentationMap. -class IfcParse_EXPORT IfcBeam : public IfcBuildingElement { +class IFC_PARSE_API IfcBeam : public IfcBuildingElement { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcBuildingElement::getArgumentType(i); } @@ -41293,7 +41293,7 @@ public: typedef IfcTemplatedEntityList< IfcBeam > list; }; -class IfcParse_EXPORT IfcChamferEdgeFeature : public IfcEdgeFeature { +class IFC_PARSE_API IfcChamferEdgeFeature : public IfcEdgeFeature { public: /// Whether the optional attribute Width is defined for this IfcChamferEdgeFeature bool hasWidth() const; @@ -41351,7 +41351,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcControllerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcController for standard port definitions. -class IfcParse_EXPORT IfcControllerType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcControllerType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of controller from which the type required may be set. IfcControllerTypeEnum::IfcControllerTypeEnum PredefinedType() const; @@ -41399,7 +41399,7 @@ public: /// 'Cover': The material from which the access cover to the chamber is constructed. /// 'Fill': The material that is used to fill the duct (where used). /// 'Wall': The material from which the wall of the duct is constructed. -class IfcParse_EXPORT IfcDistributionChamberElement : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcDistributionChamberElement : public IfcDistributionFlowElement { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElement::getArgumentType(i); } @@ -41491,7 +41491,7 @@ public: /// For all representations, if a IfcDistributionControlElement occurrence is defined by a IfcDistributionControlElementType having a representation of the same identifier, then 'MappedRepresentation' should be used at the occurrence unless overridden. /// /// If materials are defined, geometry of each representation (most typically the 'Body' representation) may be organized into shape aspects where styles may be derived by correlating IfcShapeAspect.Name to a corresponding material (IfcMaterialConstituent.Name). -class IfcParse_EXPORT IfcDistributionControlElement : public IfcDistributionElement { +class IFC_PARSE_API IfcDistributionControlElement : public IfcDistributionElement { public: /// Whether the optional attribute ControlElementId is defined for this IfcDistributionControlElement bool hasControlElementId() const; @@ -41511,7 +41511,7 @@ public: typedef IfcTemplatedEntityList< IfcDistributionControlElement > list; }; -class IfcParse_EXPORT IfcElectricDistributionPoint : public IfcFlowController { +class IFC_PARSE_API IfcElectricDistributionPoint : public IfcFlowController { public: IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunctionEnum DistributionPointFunction() const; void setDistributionPointFunction(IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunctionEnum v); @@ -41559,7 +41559,7 @@ public: /// /// Simplified Geometric Representation /// Simplified geometric representations may be used based on local agreements. -class IfcParse_EXPORT IfcReinforcingBar : public IfcReinforcingElement { +class IFC_PARSE_API IfcReinforcingBar : public IfcReinforcingElement { public: double NominalDiameter() const; void setNominalDiameter(double v); diff --git a/src/ifcparse/Ifc2x3enum.h b/src/ifcparse/Ifc2x3enum.h index dd80bcc1e3..ce31e65c48 100644 --- a/src/ifcparse/Ifc2x3enum.h +++ b/src/ifcparse/Ifc2x3enum.h @@ -29,7 +29,7 @@ #ifndef IFC2X3ENUM_H #define IFC2X3ENUM_H -#include "../ifcparse/IfcParse_Export.h" +#include "../ifcparse/IFC_PARSE_API.h" #include @@ -41,10 +41,10 @@ namespace Type { typedef enum { Ifc2DCompositeCurve, IfcAbsorbedDoseMeasure, IfcAccelerationMeasure, IfcActionRequest, IfcActionSourceTypeEnum, IfcActionTypeEnum, IfcActor, IfcActorRole, IfcActorSelect, IfcActuatorType, IfcActuatorTypeEnum, IfcAddress, IfcAddressTypeEnum, IfcAheadOrBehind, IfcAirTerminalBoxType, IfcAirTerminalBoxTypeEnum, IfcAirTerminalType, IfcAirTerminalTypeEnum, IfcAirToAirHeatRecoveryType, IfcAirToAirHeatRecoveryTypeEnum, IfcAlarmType, IfcAlarmTypeEnum, IfcAmountOfSubstanceMeasure, IfcAnalysisModelTypeEnum, IfcAnalysisTheoryTypeEnum, IfcAngularDimension, IfcAngularVelocityMeasure, IfcAnnotation, IfcAnnotationCurveOccurrence, IfcAnnotationFillArea, IfcAnnotationFillAreaOccurrence, IfcAnnotationOccurrence, IfcAnnotationSurface, IfcAnnotationSurfaceOccurrence, IfcAnnotationSymbolOccurrence, IfcAnnotationTextOccurrence, IfcApplication, IfcAppliedValue, IfcAppliedValueRelationship, IfcAppliedValueSelect, IfcApproval, IfcApprovalActorRelationship, IfcApprovalPropertyRelationship, IfcApprovalRelationship, IfcArbitraryClosedProfileDef, IfcArbitraryOpenProfileDef, IfcArbitraryProfileDefWithVoids, IfcAreaMeasure, IfcArithmeticOperatorEnum, IfcAssemblyPlaceEnum, IfcAsset, IfcAsymmetricIShapeProfileDef, IfcAxis1Placement, IfcAxis2Placement, IfcAxis2Placement2D, IfcAxis2Placement3D, IfcBSplineCurve, IfcBSplineCurveForm, IfcBeam, IfcBeamType, IfcBeamTypeEnum, IfcBenchmarkEnum, IfcBezierCurve, IfcBlobTexture, IfcBlock, IfcBoilerType, IfcBoilerTypeEnum, IfcBoolean, IfcBooleanClippingResult, IfcBooleanOperand, IfcBooleanOperator, IfcBooleanResult, IfcBoundaryCondition, IfcBoundaryEdgeCondition, IfcBoundaryFaceCondition, IfcBoundaryNodeCondition, IfcBoundaryNodeConditionWarping, IfcBoundedCurve, IfcBoundedSurface, IfcBoundingBox, IfcBoxAlignment, IfcBoxedHalfSpace, IfcBuilding, IfcBuildingElement, IfcBuildingElementComponent, IfcBuildingElementPart, IfcBuildingElementProxy, IfcBuildingElementProxyType, IfcBuildingElementProxyTypeEnum, IfcBuildingElementType, IfcBuildingStorey, IfcCShapeProfileDef, IfcCableCarrierFittingType, IfcCableCarrierFittingTypeEnum, IfcCableCarrierSegmentType, IfcCableCarrierSegmentTypeEnum, IfcCableSegmentType, IfcCableSegmentTypeEnum, IfcCalendarDate, IfcCartesianPoint, IfcCartesianTransformationOperator, IfcCartesianTransformationOperator2D, IfcCartesianTransformationOperator2DnonUniform, IfcCartesianTransformationOperator3D, IfcCartesianTransformationOperator3DnonUniform, IfcCenterLineProfileDef, IfcChamferEdgeFeature, IfcChangeActionEnum, IfcCharacterStyleSelect, IfcChillerType, IfcChillerTypeEnum, IfcCircle, IfcCircleHollowProfileDef, IfcCircleProfileDef, IfcClassification, IfcClassificationItem, IfcClassificationItemRelationship, IfcClassificationNotation, IfcClassificationNotationFacet, IfcClassificationNotationSelect, IfcClassificationReference, IfcClosedShell, IfcCoilType, IfcCoilTypeEnum, IfcColour, IfcColourOrFactor, IfcColourRgb, IfcColourSpecification, IfcColumn, IfcColumnType, IfcColumnTypeEnum, IfcComplexNumber, IfcComplexProperty, IfcCompositeCurve, IfcCompositeCurveSegment, IfcCompositeProfileDef, IfcCompoundPlaneAngleMeasure, IfcCompressorType, IfcCompressorTypeEnum, IfcCondenserType, IfcCondenserTypeEnum, IfcCondition, IfcConditionCriterion, IfcConditionCriterionSelect, IfcConic, IfcConnectedFaceSet, IfcConnectionCurveGeometry, IfcConnectionGeometry, IfcConnectionPointEccentricity, IfcConnectionPointGeometry, IfcConnectionPortGeometry, IfcConnectionSurfaceGeometry, IfcConnectionTypeEnum, IfcConstraint, IfcConstraintAggregationRelationship, IfcConstraintClassificationRelationship, IfcConstraintEnum, IfcConstraintRelationship, IfcConstructionEquipmentResource, IfcConstructionMaterialResource, IfcConstructionProductResource, IfcConstructionResource, IfcContextDependentMeasure, IfcContextDependentUnit, IfcControl, IfcControllerType, IfcControllerTypeEnum, IfcConversionBasedUnit, IfcCooledBeamType, IfcCooledBeamTypeEnum, IfcCoolingTowerType, IfcCoolingTowerTypeEnum, IfcCoordinatedUniversalTimeOffset, IfcCostItem, IfcCostSchedule, IfcCostScheduleTypeEnum, IfcCostValue, IfcCountMeasure, IfcCovering, IfcCoveringType, IfcCoveringTypeEnum, IfcCraneRailAShapeProfileDef, IfcCraneRailFShapeProfileDef, IfcCrewResource, IfcCsgPrimitive3D, IfcCsgSelect, IfcCsgSolid, IfcCurrencyEnum, IfcCurrencyRelationship, IfcCurtainWall, IfcCurtainWallType, IfcCurtainWallTypeEnum, IfcCurvatureMeasure, IfcCurve, IfcCurveBoundedPlane, IfcCurveFontOrScaledCurveFontSelect, IfcCurveOrEdgeCurve, IfcCurveStyle, IfcCurveStyleFont, IfcCurveStyleFontAndScaling, IfcCurveStyleFontPattern, IfcCurveStyleFontSelect, IfcDamperType, IfcDamperTypeEnum, IfcDataOriginEnum, IfcDateAndTime, IfcDateTimeSelect, IfcDayInMonthNumber, IfcDaylightSavingHour, IfcDefinedSymbol, IfcDefinedSymbolSelect, IfcDerivedMeasureValue, IfcDerivedProfileDef, IfcDerivedUnit, IfcDerivedUnitElement, IfcDerivedUnitEnum, IfcDescriptiveMeasure, IfcDiameterDimension, IfcDimensionCalloutRelationship, IfcDimensionCount, IfcDimensionCurve, IfcDimensionCurveDirectedCallout, IfcDimensionCurveTerminator, IfcDimensionExtentUsage, IfcDimensionPair, IfcDimensionalExponents, IfcDirection, IfcDirectionSenseEnum, IfcDiscreteAccessory, IfcDiscreteAccessoryType, IfcDistributionChamberElement, IfcDistributionChamberElementType, IfcDistributionChamberElementTypeEnum, IfcDistributionControlElement, IfcDistributionControlElementType, IfcDistributionElement, IfcDistributionElementType, IfcDistributionFlowElement, IfcDistributionFlowElementType, IfcDistributionPort, IfcDocumentConfidentialityEnum, IfcDocumentElectronicFormat, IfcDocumentInformation, IfcDocumentInformationRelationship, IfcDocumentReference, IfcDocumentSelect, IfcDocumentStatusEnum, IfcDoor, IfcDoorLiningProperties, IfcDoorPanelOperationEnum, IfcDoorPanelPositionEnum, IfcDoorPanelProperties, IfcDoorStyle, IfcDoorStyleConstructionEnum, IfcDoorStyleOperationEnum, IfcDoseEquivalentMeasure, IfcDraughtingCallout, IfcDraughtingCalloutElement, IfcDraughtingCalloutRelationship, IfcDraughtingPreDefinedColour, IfcDraughtingPreDefinedCurveFont, IfcDraughtingPreDefinedTextFont, IfcDuctFittingType, IfcDuctFittingTypeEnum, IfcDuctSegmentType, IfcDuctSegmentTypeEnum, IfcDuctSilencerType, IfcDuctSilencerTypeEnum, IfcDynamicViscosityMeasure, IfcEdge, IfcEdgeCurve, IfcEdgeFeature, IfcEdgeLoop, IfcElectricApplianceType, IfcElectricApplianceTypeEnum, IfcElectricCapacitanceMeasure, IfcElectricChargeMeasure, IfcElectricConductanceMeasure, IfcElectricCurrentEnum, IfcElectricCurrentMeasure, IfcElectricDistributionPoint, IfcElectricDistributionPointFunctionEnum, IfcElectricFlowStorageDeviceType, IfcElectricFlowStorageDeviceTypeEnum, IfcElectricGeneratorType, IfcElectricGeneratorTypeEnum, IfcElectricHeaterType, IfcElectricHeaterTypeEnum, IfcElectricMotorType, IfcElectricMotorTypeEnum, IfcElectricResistanceMeasure, IfcElectricTimeControlType, IfcElectricTimeControlTypeEnum, IfcElectricVoltageMeasure, IfcElectricalBaseProperties, IfcElectricalCircuit, IfcElectricalElement, IfcElement, IfcElementAssembly, IfcElementAssemblyTypeEnum, IfcElementComponent, IfcElementComponentType, IfcElementCompositionEnum, IfcElementQuantity, IfcElementType, IfcElementarySurface, IfcEllipse, IfcEllipseProfileDef, IfcEnergyConversionDevice, IfcEnergyConversionDeviceType, IfcEnergyMeasure, IfcEnergyProperties, IfcEnergySequenceEnum, IfcEnvironmentalImpactCategoryEnum, IfcEnvironmentalImpactValue, IfcEquipmentElement, IfcEquipmentStandard, IfcEvaporativeCoolerType, IfcEvaporativeCoolerTypeEnum, IfcEvaporatorType, IfcEvaporatorTypeEnum, IfcExtendedMaterialProperties, IfcExternalReference, IfcExternallyDefinedHatchStyle, IfcExternallyDefinedSurfaceStyle, IfcExternallyDefinedSymbol, IfcExternallyDefinedTextFont, IfcExtrudedAreaSolid, IfcFace, IfcFaceBasedSurfaceModel, IfcFaceBound, IfcFaceOuterBound, IfcFaceSurface, IfcFacetedBrep, IfcFacetedBrepWithVoids, IfcFailureConnectionCondition, IfcFanType, IfcFanTypeEnum, IfcFastener, IfcFastenerType, IfcFeatureElement, IfcFeatureElementAddition, IfcFeatureElementSubtraction, IfcFillAreaStyle, IfcFillAreaStyleHatching, IfcFillAreaStyleTileShapeSelect, IfcFillAreaStyleTileSymbolWithStyle, IfcFillAreaStyleTiles, IfcFillStyleSelect, IfcFilterType, IfcFilterTypeEnum, IfcFireSuppressionTerminalType, IfcFireSuppressionTerminalTypeEnum, IfcFlowController, IfcFlowControllerType, IfcFlowDirectionEnum, IfcFlowFitting, IfcFlowFittingType, IfcFlowInstrumentType, IfcFlowInstrumentTypeEnum, IfcFlowMeterType, IfcFlowMeterTypeEnum, IfcFlowMovingDevice, IfcFlowMovingDeviceType, IfcFlowSegment, IfcFlowSegmentType, IfcFlowStorageDevice, IfcFlowStorageDeviceType, IfcFlowTerminal, IfcFlowTerminalType, IfcFlowTreatmentDevice, IfcFlowTreatmentDeviceType, IfcFluidFlowProperties, IfcFontStyle, IfcFontVariant, IfcFontWeight, IfcFooting, IfcFootingTypeEnum, IfcForceMeasure, IfcFrequencyMeasure, IfcFuelProperties, IfcFurnishingElement, IfcFurnishingElementType, IfcFurnitureStandard, IfcFurnitureType, IfcGasTerminalType, IfcGasTerminalTypeEnum, IfcGeneralMaterialProperties, IfcGeneralProfileProperties, IfcGeometricCurveSet, IfcGeometricProjectionEnum, IfcGeometricRepresentationContext, IfcGeometricRepresentationItem, IfcGeometricRepresentationSubContext, IfcGeometricSet, IfcGeometricSetSelect, IfcGlobalOrLocalEnum, IfcGloballyUniqueId, IfcGrid, IfcGridAxis, IfcGridPlacement, IfcGroup, IfcHalfSpaceSolid, IfcHatchLineDistanceSelect, IfcHeatExchangerType, IfcHeatExchangerTypeEnum, IfcHeatFluxDensityMeasure, IfcHeatingValueMeasure, IfcHourInDay, IfcHumidifierType, IfcHumidifierTypeEnum, IfcHygroscopicMaterialProperties, IfcIShapeProfileDef, IfcIdentifier, IfcIlluminanceMeasure, IfcImageTexture, IfcInductanceMeasure, IfcInteger, IfcIntegerCountRateMeasure, IfcInternalOrExternalEnum, IfcInventory, IfcInventoryTypeEnum, IfcIonConcentrationMeasure, IfcIrregularTimeSeries, IfcIrregularTimeSeriesValue, IfcIsothermalMoistureCapacityMeasure, IfcJunctionBoxType, IfcJunctionBoxTypeEnum, IfcKinematicViscosityMeasure, IfcLShapeProfileDef, IfcLabel, IfcLaborResource, IfcLampType, IfcLampTypeEnum, IfcLayerSetDirectionEnum, IfcLayeredItem, IfcLengthMeasure, IfcLibraryInformation, IfcLibraryReference, IfcLibrarySelect, IfcLightDistributionCurveEnum, IfcLightDistributionData, IfcLightDistributionDataSourceSelect, IfcLightEmissionSourceEnum, IfcLightFixtureType, IfcLightFixtureTypeEnum, IfcLightIntensityDistribution, IfcLightSource, IfcLightSourceAmbient, IfcLightSourceDirectional, IfcLightSourceGoniometric, IfcLightSourcePositional, IfcLightSourceSpot, IfcLine, IfcLinearDimension, IfcLinearForceMeasure, IfcLinearMomentMeasure, IfcLinearStiffnessMeasure, IfcLinearVelocityMeasure, IfcLoadGroupTypeEnum, IfcLocalPlacement, IfcLocalTime, IfcLogical, IfcLogicalOperatorEnum, IfcLoop, IfcLuminousFluxMeasure, IfcLuminousIntensityDistributionMeasure, IfcLuminousIntensityMeasure, IfcMagneticFluxDensityMeasure, IfcMagneticFluxMeasure, IfcManifoldSolidBrep, IfcMappedItem, IfcMassDensityMeasure, IfcMassFlowRateMeasure, IfcMassMeasure, IfcMassPerLengthMeasure, IfcMaterial, IfcMaterialClassificationRelationship, IfcMaterialDefinitionRepresentation, IfcMaterialLayer, IfcMaterialLayerSet, IfcMaterialLayerSetUsage, IfcMaterialList, IfcMaterialProperties, IfcMaterialSelect, IfcMeasureValue, IfcMeasureWithUnit, IfcMechanicalConcreteMaterialProperties, IfcMechanicalFastener, IfcMechanicalFastenerType, IfcMechanicalMaterialProperties, IfcMechanicalSteelMaterialProperties, IfcMember, IfcMemberType, IfcMemberTypeEnum, IfcMetric, IfcMetricValueSelect, IfcMinuteInHour, IfcModulusOfElasticityMeasure, IfcModulusOfLinearSubgradeReactionMeasure, IfcModulusOfRotationalSubgradeReactionMeasure, IfcModulusOfSubgradeReactionMeasure, IfcMoistureDiffusivityMeasure, IfcMolecularWeightMeasure, IfcMomentOfInertiaMeasure, IfcMonetaryMeasure, IfcMonetaryUnit, IfcMonthInYearNumber, IfcMotorConnectionType, IfcMotorConnectionTypeEnum, IfcMove, IfcNamedUnit, IfcNormalisedRatioMeasure, IfcNullStyle, IfcNumericMeasure, IfcObject, IfcObjectDefinition, IfcObjectPlacement, IfcObjectReferenceSelect, IfcObjectTypeEnum, IfcObjective, IfcObjectiveEnum, IfcOccupant, IfcOccupantTypeEnum, IfcOffsetCurve2D, IfcOffsetCurve3D, IfcOneDirectionRepeatFactor, IfcOpenShell, IfcOpeningElement, IfcOpticalMaterialProperties, IfcOrderAction, IfcOrganization, IfcOrganizationRelationship, IfcOrientationSelect, IfcOrientedEdge, IfcOutletType, IfcOutletTypeEnum, IfcOwnerHistory, IfcPHMeasure, IfcParameterValue, IfcParameterizedProfileDef, IfcPath, IfcPerformanceHistory, IfcPermeableCoveringOperationEnum, IfcPermeableCoveringProperties, IfcPermit, IfcPerson, IfcPersonAndOrganization, IfcPhysicalComplexQuantity, IfcPhysicalOrVirtualEnum, IfcPhysicalQuantity, IfcPhysicalSimpleQuantity, IfcPile, IfcPileConstructionEnum, IfcPileTypeEnum, IfcPipeFittingType, IfcPipeFittingTypeEnum, IfcPipeSegmentType, IfcPipeSegmentTypeEnum, IfcPixelTexture, IfcPlacement, IfcPlanarBox, IfcPlanarExtent, IfcPlanarForceMeasure, IfcPlane, IfcPlaneAngleMeasure, IfcPlate, IfcPlateType, IfcPlateTypeEnum, IfcPoint, IfcPointOnCurve, IfcPointOnSurface, IfcPointOrVertexPoint, IfcPolyLoop, IfcPolygonalBoundedHalfSpace, IfcPolyline, IfcPort, IfcPositiveLengthMeasure, IfcPositivePlaneAngleMeasure, IfcPositiveRatioMeasure, IfcPostalAddress, IfcPowerMeasure, IfcPreDefinedColour, IfcPreDefinedCurveFont, IfcPreDefinedDimensionSymbol, IfcPreDefinedItem, IfcPreDefinedPointMarkerSymbol, IfcPreDefinedSymbol, IfcPreDefinedTerminatorSymbol, IfcPreDefinedTextFont, IfcPresentableText, IfcPresentationLayerAssignment, IfcPresentationLayerWithStyle, IfcPresentationStyle, IfcPresentationStyleAssignment, IfcPresentationStyleSelect, IfcPressureMeasure, IfcProcedure, IfcProcedureTypeEnum, IfcProcess, IfcProduct, IfcProductDefinitionShape, IfcProductRepresentation, IfcProductsOfCombustionProperties, IfcProfileDef, IfcProfileProperties, IfcProfileTypeEnum, IfcProject, IfcProjectOrder, IfcProjectOrderRecord, IfcProjectOrderRecordTypeEnum, IfcProjectOrderTypeEnum, IfcProjectedOrTrueLengthEnum, IfcProjectionCurve, IfcProjectionElement, IfcProperty, IfcPropertyBoundedValue, IfcPropertyConstraintRelationship, IfcPropertyDefinition, IfcPropertyDependencyRelationship, IfcPropertyEnumeratedValue, IfcPropertyEnumeration, IfcPropertyListValue, IfcPropertyReferenceValue, IfcPropertySet, IfcPropertySetDefinition, IfcPropertySingleValue, IfcPropertySourceEnum, IfcPropertyTableValue, IfcProtectiveDeviceType, IfcProtectiveDeviceTypeEnum, IfcProxy, IfcPumpType, IfcPumpTypeEnum, IfcQuantityArea, IfcQuantityCount, IfcQuantityLength, IfcQuantityTime, IfcQuantityVolume, IfcQuantityWeight, IfcRadioActivityMeasure, IfcRadiusDimension, IfcRailing, IfcRailingType, IfcRailingTypeEnum, IfcRamp, IfcRampFlight, IfcRampFlightType, IfcRampFlightTypeEnum, IfcRampTypeEnum, IfcRatioMeasure, IfcRationalBezierCurve, IfcReal, IfcRectangleHollowProfileDef, IfcRectangleProfileDef, IfcRectangularPyramid, IfcRectangularTrimmedSurface, IfcReferencesValueDocument, IfcReflectanceMethodEnum, IfcRegularTimeSeries, IfcReinforcementBarProperties, IfcReinforcementDefinitionProperties, IfcReinforcingBar, IfcReinforcingBarRoleEnum, IfcReinforcingBarSurfaceEnum, IfcReinforcingElement, IfcReinforcingMesh, IfcRelAggregates, IfcRelAssigns, IfcRelAssignsTasks, IfcRelAssignsToActor, IfcRelAssignsToControl, IfcRelAssignsToGroup, IfcRelAssignsToProcess, IfcRelAssignsToProduct, IfcRelAssignsToProjectOrder, IfcRelAssignsToResource, IfcRelAssociates, IfcRelAssociatesAppliedValue, IfcRelAssociatesApproval, IfcRelAssociatesClassification, IfcRelAssociatesConstraint, IfcRelAssociatesDocument, IfcRelAssociatesLibrary, IfcRelAssociatesMaterial, IfcRelAssociatesProfileProperties, IfcRelConnects, IfcRelConnectsElements, IfcRelConnectsPathElements, IfcRelConnectsPortToElement, IfcRelConnectsPorts, IfcRelConnectsStructuralActivity, IfcRelConnectsStructuralElement, IfcRelConnectsStructuralMember, IfcRelConnectsWithEccentricity, IfcRelConnectsWithRealizingElements, IfcRelContainedInSpatialStructure, IfcRelCoversBldgElements, IfcRelCoversSpaces, IfcRelDecomposes, IfcRelDefines, IfcRelDefinesByProperties, IfcRelDefinesByType, IfcRelFillsElement, IfcRelFlowControlElements, IfcRelInteractionRequirements, IfcRelNests, IfcRelOccupiesSpaces, IfcRelOverridesProperties, IfcRelProjectsElement, IfcRelReferencedInSpatialStructure, IfcRelSchedulesCostItems, IfcRelSequence, IfcRelServicesBuildings, IfcRelSpaceBoundary, IfcRelVoidsElement, IfcRelationship, IfcRelaxation, IfcRepresentation, IfcRepresentationContext, IfcRepresentationItem, IfcRepresentationMap, IfcResource, IfcResourceConsumptionEnum, IfcRevolvedAreaSolid, IfcRibPlateDirectionEnum, IfcRibPlateProfileProperties, IfcRightCircularCone, IfcRightCircularCylinder, IfcRoleEnum, IfcRoof, IfcRoofTypeEnum, IfcRoot, IfcRotationalFrequencyMeasure, IfcRotationalMassMeasure, IfcRotationalStiffnessMeasure, IfcRoundedEdgeFeature, IfcRoundedRectangleProfileDef, IfcSIPrefix, IfcSIUnit, IfcSIUnitName, IfcSanitaryTerminalType, IfcSanitaryTerminalTypeEnum, IfcScheduleTimeControl, IfcSecondInMinute, IfcSectionModulusMeasure, IfcSectionProperties, IfcSectionReinforcementProperties, IfcSectionTypeEnum, IfcSectionalAreaIntegralMeasure, IfcSectionedSpine, IfcSensorType, IfcSensorTypeEnum, IfcSequenceEnum, IfcServiceLife, IfcServiceLifeFactor, IfcServiceLifeFactorTypeEnum, IfcServiceLifeTypeEnum, IfcShapeAspect, IfcShapeModel, IfcShapeRepresentation, IfcShearModulusMeasure, IfcShell, IfcShellBasedSurfaceModel, IfcSimpleProperty, IfcSimpleValue, IfcSite, IfcSizeSelect, IfcSlab, IfcSlabType, IfcSlabTypeEnum, IfcSlippageConnectionCondition, IfcSolidAngleMeasure, IfcSolidModel, IfcSoundPowerMeasure, IfcSoundPressureMeasure, IfcSoundProperties, IfcSoundScaleEnum, IfcSoundValue, IfcSpace, IfcSpaceHeaterType, IfcSpaceHeaterTypeEnum, IfcSpaceProgram, IfcSpaceThermalLoadProperties, IfcSpaceType, IfcSpaceTypeEnum, IfcSpatialStructureElement, IfcSpatialStructureElementType, IfcSpecificHeatCapacityMeasure, IfcSpecularExponent, IfcSpecularHighlightSelect, IfcSpecularRoughness, IfcSphere, IfcStackTerminalType, IfcStackTerminalTypeEnum, IfcStair, IfcStairFlight, IfcStairFlightType, IfcStairFlightTypeEnum, IfcStairTypeEnum, IfcStateEnum, IfcStructuralAction, IfcStructuralActivity, IfcStructuralActivityAssignmentSelect, IfcStructuralAnalysisModel, IfcStructuralConnection, IfcStructuralConnectionCondition, IfcStructuralCurveConnection, IfcStructuralCurveMember, IfcStructuralCurveMemberVarying, IfcStructuralCurveTypeEnum, IfcStructuralItem, IfcStructuralLinearAction, IfcStructuralLinearActionVarying, IfcStructuralLoad, IfcStructuralLoadGroup, IfcStructuralLoadLinearForce, IfcStructuralLoadPlanarForce, IfcStructuralLoadSingleDisplacement, IfcStructuralLoadSingleDisplacementDistortion, IfcStructuralLoadSingleForce, IfcStructuralLoadSingleForceWarping, IfcStructuralLoadStatic, IfcStructuralLoadTemperature, IfcStructuralMember, IfcStructuralPlanarAction, IfcStructuralPlanarActionVarying, IfcStructuralPointAction, IfcStructuralPointConnection, IfcStructuralPointReaction, IfcStructuralProfileProperties, IfcStructuralReaction, IfcStructuralResultGroup, IfcStructuralSteelProfileProperties, IfcStructuralSurfaceConnection, IfcStructuralSurfaceMember, IfcStructuralSurfaceMemberVarying, IfcStructuralSurfaceTypeEnum, IfcStructuredDimensionCallout, IfcStyleModel, IfcStyledItem, IfcStyledRepresentation, IfcSubContractResource, IfcSubedge, IfcSurface, IfcSurfaceCurveSweptAreaSolid, IfcSurfaceOfLinearExtrusion, IfcSurfaceOfRevolution, IfcSurfaceOrFaceSurface, IfcSurfaceSide, IfcSurfaceStyle, IfcSurfaceStyleElementSelect, IfcSurfaceStyleLighting, IfcSurfaceStyleRefraction, IfcSurfaceStyleRendering, IfcSurfaceStyleShading, IfcSurfaceStyleWithTextures, IfcSurfaceTexture, IfcSurfaceTextureEnum, IfcSweptAreaSolid, IfcSweptDiskSolid, IfcSweptSurface, IfcSwitchingDeviceType, IfcSwitchingDeviceTypeEnum, IfcSymbolStyle, IfcSymbolStyleSelect, IfcSystem, IfcSystemFurnitureElementType, IfcTShapeProfileDef, IfcTable, IfcTableRow, IfcTankType, IfcTankTypeEnum, IfcTask, IfcTelecomAddress, IfcTemperatureGradientMeasure, IfcTendon, IfcTendonAnchor, IfcTendonTypeEnum, IfcTerminatorSymbol, IfcText, IfcTextAlignment, IfcTextDecoration, IfcTextFontName, IfcTextFontSelect, IfcTextLiteral, IfcTextLiteralWithExtent, IfcTextPath, IfcTextStyle, IfcTextStyleFontModel, IfcTextStyleForDefinedFont, IfcTextStyleSelect, IfcTextStyleTextModel, IfcTextStyleWithBoxCharacteristics, IfcTextTransformation, IfcTextureCoordinate, IfcTextureCoordinateGenerator, IfcTextureMap, IfcTextureVertex, IfcThermalAdmittanceMeasure, IfcThermalConductivityMeasure, IfcThermalExpansionCoefficientMeasure, IfcThermalLoadSourceEnum, IfcThermalLoadTypeEnum, IfcThermalMaterialProperties, IfcThermalResistanceMeasure, IfcThermalTransmittanceMeasure, IfcThermodynamicTemperatureMeasure, IfcTimeMeasure, IfcTimeSeries, IfcTimeSeriesDataTypeEnum, IfcTimeSeriesReferenceRelationship, IfcTimeSeriesSchedule, IfcTimeSeriesScheduleTypeEnum, IfcTimeSeriesValue, IfcTimeStamp, IfcTopologicalRepresentationItem, IfcTopologyRepresentation, IfcTorqueMeasure, IfcTransformerType, IfcTransformerTypeEnum, IfcTransitionCode, IfcTransportElement, IfcTransportElementType, IfcTransportElementTypeEnum, IfcTrapeziumProfileDef, IfcTrimmedCurve, IfcTrimmingPreference, IfcTrimmingSelect, IfcTubeBundleType, IfcTubeBundleTypeEnum, IfcTwoDirectionRepeatFactor, IfcTypeObject, IfcTypeProduct, IfcUShapeProfileDef, IfcUnit, IfcUnitAssignment, IfcUnitEnum, IfcUnitaryEquipmentType, IfcUnitaryEquipmentTypeEnum, IfcValue, IfcValveType, IfcValveTypeEnum, IfcVaporPermeabilityMeasure, IfcVector, IfcVectorOrDirection, IfcVertex, IfcVertexBasedTextureMap, IfcVertexLoop, IfcVertexPoint, IfcVibrationIsolatorType, IfcVibrationIsolatorTypeEnum, IfcVirtualElement, IfcVirtualGridIntersection, IfcVolumeMeasure, IfcVolumetricFlowRateMeasure, IfcWall, IfcWallStandardCase, IfcWallType, IfcWallTypeEnum, IfcWarpingConstantMeasure, IfcWarpingMomentMeasure, IfcWasteTerminalType, IfcWasteTerminalTypeEnum, IfcWaterProperties, IfcWindow, IfcWindowLiningProperties, IfcWindowPanelOperationEnum, IfcWindowPanelPositionEnum, IfcWindowPanelProperties, IfcWindowStyle, IfcWindowStyleConstructionEnum, IfcWindowStyleOperationEnum, IfcWorkControl, IfcWorkControlTypeEnum, IfcWorkPlan, IfcWorkSchedule, IfcYearNumber, IfcZShapeProfileDef, IfcZone, UNDEFINED } Enum; - IfcParse_EXPORT boost::optional Parent(Enum v); - IfcParse_EXPORT Enum FromString(const std::string& s); - IfcParse_EXPORT std::string ToString(Enum v); - IfcParse_EXPORT bool IsSimple(Enum v); + IFC_PARSE_API boost::optional Parent(Enum v); + IFC_PARSE_API Enum FromString(const std::string& s); + IFC_PARSE_API std::string ToString(Enum v); + IFC_PARSE_API bool IsSimple(Enum v); } } diff --git a/src/ifcparse/Ifc4-latebound.h b/src/ifcparse/Ifc4-latebound.h index 4be7eb4a3d..2899ab9dab 100644 --- a/src/ifcparse/Ifc4-latebound.h +++ b/src/ifcparse/Ifc4-latebound.h @@ -31,24 +31,24 @@ #define IfcSchema Ifc4 -#include "../ifcparse/IfcParse_Export.h" +#include "../ifcparse/ifc_parse_api.h" #include "../ifcparse/IfcUtil.h" #include "../ifcparse/IfcEntityDescriptor.h" #include "../ifcparse/IfcWritableEntity.h" namespace Ifc4 { namespace Type { - IfcParse_EXPORT int GetAttributeCount(Enum t); - IfcParse_EXPORT int GetAttributeIndex(Enum t, const std::string& a); - IfcParse_EXPORT IfcUtil::ArgumentType GetAttributeType(Enum t, unsigned char a); - IfcParse_EXPORT Enum GetAttributeEntity(Enum t, unsigned char a); - IfcParse_EXPORT const std::string& GetAttributeName(Enum t, unsigned char a); - IfcParse_EXPORT bool GetAttributeOptional(Enum t, unsigned char a); - IfcParse_EXPORT bool GetAttributeDerived(Enum t, unsigned char a); - IfcParse_EXPORT std::pair GetEnumerationIndex(Enum t, const std::string& a); - IfcParse_EXPORT std::pair GetInverseAttribute(Enum t, const std::string& a); - IfcParse_EXPORT std::set GetInverseAttributeNames(Enum t); - IfcParse_EXPORT void PopulateDerivedFields(IfcWrite::IfcWritableEntity* e); + IFC_PARSE_API int GetAttributeCount(Enum t); + IFC_PARSE_API int GetAttributeIndex(Enum t, const std::string& a); + IFC_PARSE_API IfcUtil::ArgumentType GetAttributeType(Enum t, unsigned char a); + IFC_PARSE_API Enum GetAttributeEntity(Enum t, unsigned char a); + IFC_PARSE_API const std::string& GetAttributeName(Enum t, unsigned char a); + IFC_PARSE_API bool GetAttributeOptional(Enum t, unsigned char a); + IFC_PARSE_API bool GetAttributeDerived(Enum t, unsigned char a); + IFC_PARSE_API std::pair GetEnumerationIndex(Enum t, const std::string& a); + IFC_PARSE_API std::pair GetInverseAttribute(Enum t, const std::string& a); + IFC_PARSE_API std::set GetInverseAttributeNames(Enum t); + IFC_PARSE_API void PopulateDerivedFields(IfcWrite::IfcWritableEntity* e); }} #endif diff --git a/src/ifcparse/Ifc4.h b/src/ifcparse/Ifc4.h index 093654fd30..f2e33afb54 100644 --- a/src/ifcparse/Ifc4.h +++ b/src/ifcparse/Ifc4.h @@ -34,7 +34,7 @@ #include -#include "../ifcparse/IfcParse_Export.h" +#include "../ifcparse/ifc_parse_api.h" #include "../ifcparse/IfcUtil.h" #include "../ifcparse/IfcException.h" @@ -653,8 +653,8 @@ namespace IfcActionRequestTypeEnum { /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. typedef enum {IfcActionRequestType_EMAIL, IfcActionRequestType_FAX, IfcActionRequestType_PHONE, IfcActionRequestType_POST, IfcActionRequestType_VERBAL, IfcActionRequestType_USERDEFINED, IfcActionRequestType_NOTDEFINED} IfcActionRequestTypeEnum; -IfcParse_EXPORT const char* ToString(IfcActionRequestTypeEnum v); -IfcParse_EXPORT IfcActionRequestTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcActionRequestTypeEnum v); +IFC_PARSE_API IfcActionRequestTypeEnum FromString(const std::string& s); } namespace IfcActionSourceTypeEnum { /// Definition from IAI:This enumeration type contains possible @@ -663,8 +663,8 @@ namespace IfcActionSourceTypeEnum { /// HISTORY: New type in Release IFC2x /// Edition 2. typedef enum {IfcActionSourceType_DEAD_LOAD_G, IfcActionSourceType_COMPLETION_G1, IfcActionSourceType_LIVE_LOAD_Q, IfcActionSourceType_SNOW_S, IfcActionSourceType_WIND_W, IfcActionSourceType_PRESTRESSING_P, IfcActionSourceType_SETTLEMENT_U, IfcActionSourceType_TEMPERATURE_T, IfcActionSourceType_EARTHQUAKE_E, IfcActionSourceType_FIRE, IfcActionSourceType_IMPULSE, IfcActionSourceType_IMPACT, IfcActionSourceType_TRANSPORT, IfcActionSourceType_ERECTION, IfcActionSourceType_PROPPING, IfcActionSourceType_SYSTEM_IMPERFECTION, IfcActionSourceType_SHRINKAGE, IfcActionSourceType_CREEP, IfcActionSourceType_LACK_OF_FIT, IfcActionSourceType_BUOYANCY, IfcActionSourceType_ICE, IfcActionSourceType_CURRENT, IfcActionSourceType_WAVE, IfcActionSourceType_RAIN, IfcActionSourceType_BRAKES, IfcActionSourceType_USERDEFINED, IfcActionSourceType_NOTDEFINED} IfcActionSourceTypeEnum; -IfcParse_EXPORT const char* ToString(IfcActionSourceTypeEnum v); -IfcParse_EXPORT IfcActionSourceTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcActionSourceTypeEnum v); +IFC_PARSE_API IfcActionSourceTypeEnum FromString(const std::string& s); } namespace IfcActionTypeEnum { /// Definition from IAI: This enumeration type is used to distinguish @@ -675,8 +675,8 @@ namespace IfcActionTypeEnum { /// HISTORY: New type in Release IFC2x /// Edition 2. typedef enum {IfcActionType_PERMANENT_G, IfcActionType_VARIABLE_Q, IfcActionType_EXTRAORDINARY_A, IfcActionType_USERDEFINED, IfcActionType_NOTDEFINED} IfcActionTypeEnum; -IfcParse_EXPORT const char* ToString(IfcActionTypeEnum v); -IfcParse_EXPORT IfcActionTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcActionTypeEnum v); +IFC_PARSE_API IfcActionTypeEnum FromString(const std::string& s); } namespace IfcActuatorTypeEnum { /// The IfcActuatorTypeEnum defines the range of different types of actuator that can be specified. @@ -696,8 +696,8 @@ namespace IfcActuatorTypeEnum { /// See property set of actuator common attributes for specification of /// properties for hand operated actuators. typedef enum {IfcActuatorType_ELECTRICACTUATOR, IfcActuatorType_HANDOPERATEDACTUATOR, IfcActuatorType_HYDRAULICACTUATOR, IfcActuatorType_PNEUMATICACTUATOR, IfcActuatorType_THERMOSTATICACTUATOR, IfcActuatorType_USERDEFINED, IfcActuatorType_NOTDEFINED} IfcActuatorTypeEnum; -IfcParse_EXPORT const char* ToString(IfcActuatorTypeEnum v); -IfcParse_EXPORT IfcActuatorTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcActuatorTypeEnum v); +IFC_PARSE_API IfcActuatorTypeEnum FromString(const std::string& s); } namespace IfcAddressTypeEnum { /// Definition from IAI: Identifies the logical location of the address. @@ -712,8 +712,8 @@ namespace IfcAddressTypeEnum { /// DISTRIBUTIONPOINT A postal distribution point address. /// USERDEFINED A user defined address type to be provided. typedef enum {IfcAddressType_OFFICE, IfcAddressType_SITE, IfcAddressType_HOME, IfcAddressType_DISTRIBUTIONPOINT, IfcAddressType_USERDEFINED} IfcAddressTypeEnum; -IfcParse_EXPORT const char* ToString(IfcAddressTypeEnum v); -IfcParse_EXPORT IfcAddressTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcAddressTypeEnum v); +IFC_PARSE_API IfcAddressTypeEnum FromString(const std::string& s); } namespace IfcAirTerminalBoxTypeEnum { /// This enumeration identifies different types of air terminal boxes. @@ -728,8 +728,8 @@ namespace IfcAirTerminalBoxTypeEnum { /// /// HISTORY: New enumeration in IFC R2.0 typedef enum {IfcAirTerminalBoxType_CONSTANTFLOW, IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREDEPENDANT, IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREINDEPENDANT, IfcAirTerminalBoxType_USERDEFINED, IfcAirTerminalBoxType_NOTDEFINED} IfcAirTerminalBoxTypeEnum; -IfcParse_EXPORT const char* ToString(IfcAirTerminalBoxTypeEnum v); -IfcParse_EXPORT IfcAirTerminalBoxTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcAirTerminalBoxTypeEnum v); +IFC_PARSE_API IfcAirTerminalBoxTypeEnum FromString(const std::string& s); } namespace IfcAirTerminalTypeEnum { /// Enumeration defining the functional types of air terminals. @@ -746,8 +746,8 @@ namespace IfcAirTerminalTypeEnum { /// /// HISTORY: New enumeration in IFC R2x2. Modified in IFC R2x4 to add LOUVRE and remove EYEBALL, IRIS, LINEARGRILLE, LINEARDIFFUSER typedef enum {IfcAirTerminalType_DIFFUSER, IfcAirTerminalType_GRILLE, IfcAirTerminalType_LOUVRE, IfcAirTerminalType_REGISTER, IfcAirTerminalType_USERDEFINED, IfcAirTerminalType_NOTDEFINED} IfcAirTerminalTypeEnum; -IfcParse_EXPORT const char* ToString(IfcAirTerminalTypeEnum v); -IfcParse_EXPORT IfcAirTerminalTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcAirTerminalTypeEnum v); +IFC_PARSE_API IfcAirTerminalTypeEnum FromString(const std::string& s); } namespace IfcAirToAirHeatRecoveryTypeEnum { /// Defines general types of pumps. @@ -767,8 +767,8 @@ namespace IfcAirToAirHeatRecoveryTypeEnum { /// /// HISTORY: New enumeration in IFC R2x. typedef enum {IfcAirToAirHeatRecoveryType_FIXEDPLATECOUNTERFLOWEXCHANGER, IfcAirToAirHeatRecoveryType_FIXEDPLATECROSSFLOWEXCHANGER, IfcAirToAirHeatRecoveryType_FIXEDPLATEPARALLELFLOWEXCHANGER, IfcAirToAirHeatRecoveryType_ROTARYWHEEL, IfcAirToAirHeatRecoveryType_RUNAROUNDCOILLOOP, IfcAirToAirHeatRecoveryType_HEATPIPE, IfcAirToAirHeatRecoveryType_TWINTOWERENTHALPYRECOVERYLOOPS, IfcAirToAirHeatRecoveryType_THERMOSIPHONSEALEDTUBEHEATEXCHANGERS, IfcAirToAirHeatRecoveryType_THERMOSIPHONCOILTYPEHEATEXCHANGERS, IfcAirToAirHeatRecoveryType_USERDEFINED, IfcAirToAirHeatRecoveryType_NOTDEFINED} IfcAirToAirHeatRecoveryTypeEnum; -IfcParse_EXPORT const char* ToString(IfcAirToAirHeatRecoveryTypeEnum v); -IfcParse_EXPORT IfcAirToAirHeatRecoveryTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcAirToAirHeatRecoveryTypeEnum v); +IFC_PARSE_API IfcAirToAirHeatRecoveryTypeEnum FromString(const std::string& s); } namespace IfcAlarmTypeEnum { /// The IfcAlarmTypeEnum defines the range of different types of alarm that can be specified. @@ -786,8 +786,8 @@ namespace IfcAlarmTypeEnum { /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. typedef enum {IfcAlarmType_BELL, IfcAlarmType_BREAKGLASSBUTTON, IfcAlarmType_LIGHT, IfcAlarmType_MANUALPULLBOX, IfcAlarmType_SIREN, IfcAlarmType_WHISTLE, IfcAlarmType_USERDEFINED, IfcAlarmType_NOTDEFINED} IfcAlarmTypeEnum; -IfcParse_EXPORT const char* ToString(IfcAlarmTypeEnum v); -IfcParse_EXPORT IfcAlarmTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcAlarmTypeEnum v); +IFC_PARSE_API IfcAlarmTypeEnum FromString(const std::string& s); } namespace IfcAnalysisModelTypeEnum { /// Definition from IAI: This type definition is used to distinguish @@ -797,8 +797,8 @@ namespace IfcAnalysisModelTypeEnum { /// HISTORY: New type in Release IFC2x /// Edition 2. typedef enum {IfcAnalysisModelType_IN_PLANE_LOADING_2D, IfcAnalysisModelType_OUT_PLANE_LOADING_2D, IfcAnalysisModelType_LOADING_3D, IfcAnalysisModelType_USERDEFINED, IfcAnalysisModelType_NOTDEFINED} IfcAnalysisModelTypeEnum; -IfcParse_EXPORT const char* ToString(IfcAnalysisModelTypeEnum v); -IfcParse_EXPORT IfcAnalysisModelTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcAnalysisModelTypeEnum v); +IFC_PARSE_API IfcAnalysisModelTypeEnum FromString(const std::string& s); } namespace IfcAnalysisTheoryTypeEnum { /// Definition from IAI: This type definition is used to distinguish @@ -809,8 +809,8 @@ namespace IfcAnalysisTheoryTypeEnum { /// HISTORY: New type in Release IFC2x /// Edition 2. typedef enum {IfcAnalysisTheoryType_FIRST_ORDER_THEORY, IfcAnalysisTheoryType_SECOND_ORDER_THEORY, IfcAnalysisTheoryType_THIRD_ORDER_THEORY, IfcAnalysisTheoryType_FULL_NONLINEAR_THEORY, IfcAnalysisTheoryType_USERDEFINED, IfcAnalysisTheoryType_NOTDEFINED} IfcAnalysisTheoryTypeEnum; -IfcParse_EXPORT const char* ToString(IfcAnalysisTheoryTypeEnum v); -IfcParse_EXPORT IfcAnalysisTheoryTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcAnalysisTheoryTypeEnum v); +IFC_PARSE_API IfcAnalysisTheoryTypeEnum FromString(const std::string& s); } namespace IfcArithmeticOperatorEnum { /// IfcArithmeticOperatorEnum specifies the form of arithmetical operation implied by the relationship. @@ -826,8 +826,8 @@ namespace IfcArithmeticOperatorEnum { /// Use definitions /// There can be only one arithmetic operator for each applied value relationship. This is to enforce arithmetic consistency. Given this consistency, the cardinality of the IfcAppliedValueRelationship.Components attribute is a set of one to many applied values that are components of an applied value. typedef enum {IfcArithmeticOperator_ADD, IfcArithmeticOperator_DIVIDE, IfcArithmeticOperator_MULTIPLY, IfcArithmeticOperator_SUBTRACT} IfcArithmeticOperatorEnum; -IfcParse_EXPORT const char* ToString(IfcArithmeticOperatorEnum v); -IfcParse_EXPORT IfcArithmeticOperatorEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcArithmeticOperatorEnum v); +IFC_PARSE_API IfcArithmeticOperatorEnum FromString(const std::string& s); } namespace IfcAssemblyPlaceEnum { /// Definition from IAI: Enumeration defining where the @@ -843,8 +843,8 @@ namespace IfcAssemblyPlaceEnum { /// /// FACTORY - this assembly is assembled in a factory typedef enum {IfcAssemblyPlace_SITE, IfcAssemblyPlace_FACTORY, IfcAssemblyPlace_NOTDEFINED} IfcAssemblyPlaceEnum; -IfcParse_EXPORT const char* ToString(IfcAssemblyPlaceEnum v); -IfcParse_EXPORT IfcAssemblyPlaceEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcAssemblyPlaceEnum v); +IFC_PARSE_API IfcAssemblyPlaceEnum FromString(const std::string& s); } namespace IfcAudioVisualApplianceTypeEnum { /// Defines the range of different types of audio-video devices that can be specified. @@ -862,8 +862,8 @@ namespace IfcAudioVisualApplianceTypeEnum { /// TELEPHONE: A telecommunications device that is used to transmit and receive sound, and optionally video. /// TUNER: An electronic receiver that detects, demodulates, and amplifies transmitted signals. typedef enum {IfcAudioVisualApplianceType_AMPLIFIER, IfcAudioVisualApplianceType_CAMERA, IfcAudioVisualApplianceType_DISPLAY, IfcAudioVisualApplianceType_MICROPHONE, IfcAudioVisualApplianceType_PLAYER, IfcAudioVisualApplianceType_PROJECTOR, IfcAudioVisualApplianceType_RECEIVER, IfcAudioVisualApplianceType_SPEAKER, IfcAudioVisualApplianceType_SWITCHER, IfcAudioVisualApplianceType_TELEPHONE, IfcAudioVisualApplianceType_TUNER, IfcAudioVisualApplianceType_USERDEFINED, IfcAudioVisualApplianceType_NOTDEFINED} IfcAudioVisualApplianceTypeEnum; -IfcParse_EXPORT const char* ToString(IfcAudioVisualApplianceTypeEnum v); -IfcParse_EXPORT IfcAudioVisualApplianceTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcAudioVisualApplianceTypeEnum v); +IFC_PARSE_API IfcAudioVisualApplianceTypeEnum FromString(const std::string& s); } namespace IfcBSplineCurveForm { /// Definition from ISO/CD 10303-42:1992: This type is used to indicate that the B-spline curve represents a part of a curve of some specific form. @@ -881,14 +881,14 @@ namespace IfcBSplineCurveForm { /// /// HISTORY  New type in Release IFC2x2. typedef enum {IfcBSplineCurveForm_POLYLINE_FORM, IfcBSplineCurveForm_CIRCULAR_ARC, IfcBSplineCurveForm_ELLIPTIC_ARC, IfcBSplineCurveForm_PARABOLIC_ARC, IfcBSplineCurveForm_HYPERBOLIC_ARC, IfcBSplineCurveForm_UNSPECIFIED} IfcBSplineCurveForm; -IfcParse_EXPORT const char* ToString(IfcBSplineCurveForm v); -IfcParse_EXPORT IfcBSplineCurveForm FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcBSplineCurveForm v); +IFC_PARSE_API IfcBSplineCurveForm FromString(const std::string& s); } namespace IfcBSplineSurfaceForm { typedef enum {IfcBSplineSurfaceForm_PLANE_SURF, IfcBSplineSurfaceForm_CYLINDRICAL_SURF, IfcBSplineSurfaceForm_CONICAL_SURF, IfcBSplineSurfaceForm_SPHERICAL_SURF, IfcBSplineSurfaceForm_TOROIDAL_SURF, IfcBSplineSurfaceForm_SURF_OF_REVOLUTION, IfcBSplineSurfaceForm_RULED_SURF, IfcBSplineSurfaceForm_GENERALISED_CONE, IfcBSplineSurfaceForm_QUADRIC_SURF, IfcBSplineSurfaceForm_SURF_OF_LINEAR_EXTRUSION, IfcBSplineSurfaceForm_UNSPECIFIED} IfcBSplineSurfaceForm; -IfcParse_EXPORT const char* ToString(IfcBSplineSurfaceForm v); -IfcParse_EXPORT IfcBSplineSurfaceForm FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcBSplineSurfaceForm v); +IFC_PARSE_API IfcBSplineSurfaceForm FromString(const std::string& s); } namespace IfcBeamTypeEnum { /// Definition from IAI: This enumeration defines the @@ -931,8 +931,8 @@ namespace IfcBeamTypeEnum { /// HOLLOWCORE and SPANDREL have been /// added. typedef enum {IfcBeamType_BEAM, IfcBeamType_JOIST, IfcBeamType_HOLLOWCORE, IfcBeamType_LINTEL, IfcBeamType_SPANDREL, IfcBeamType_T_BEAM, IfcBeamType_USERDEFINED, IfcBeamType_NOTDEFINED} IfcBeamTypeEnum; -IfcParse_EXPORT const char* ToString(IfcBeamTypeEnum v); -IfcParse_EXPORT IfcBeamTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcBeamTypeEnum v); +IFC_PARSE_API IfcBeamTypeEnum FromString(const std::string& s); } namespace IfcBenchmarkEnum { /// IfcBenchmarkEnum is an enumeration used to identify the logical comparators that can be applied in conjunction with constraint values. @@ -976,8 +976,8 @@ namespace IfcBenchmarkEnum { /// NOTINCLUDEDIN /// Identifies that a value (individual item) must not be included (i.e. must be excluded) in the aggregation (set, list or table) set by the constraint. typedef enum {IfcBenchmark_GREATERTHAN, IfcBenchmark_GREATERTHANOREQUALTO, IfcBenchmark_LESSTHAN, IfcBenchmark_LESSTHANOREQUALTO, IfcBenchmark_EQUALTO, IfcBenchmark_NOTEQUALTO, IfcBenchmark_INCLUDES, IfcBenchmark_NOTINCLUDES, IfcBenchmark_INCLUDEDIN, IfcBenchmark_NOTINCLUDEDIN} IfcBenchmarkEnum; -IfcParse_EXPORT const char* ToString(IfcBenchmarkEnum v); -IfcParse_EXPORT IfcBenchmarkEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcBenchmarkEnum v); +IFC_PARSE_API IfcBenchmarkEnum FromString(const std::string& s); } namespace IfcBoilerTypeEnum { /// Enumeration defining the typical types of boilers. @@ -990,8 +990,8 @@ namespace IfcBoilerTypeEnum { /// /// HISTORY: New enumeration in IFC R2x. typedef enum {IfcBoilerType_WATER, IfcBoilerType_STEAM, IfcBoilerType_USERDEFINED, IfcBoilerType_NOTDEFINED} IfcBoilerTypeEnum; -IfcParse_EXPORT const char* ToString(IfcBoilerTypeEnum v); -IfcParse_EXPORT IfcBoilerTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcBoilerTypeEnum v); +IFC_PARSE_API IfcBoilerTypeEnum FromString(const std::string& s); } namespace IfcBooleanOperator { /// Definition from ISO/CD 10303-42:1992: This type defines the three Boolean operators used in the definition of CSG solids. @@ -1004,8 +1004,8 @@ namespace IfcBooleanOperator { /// /// HISTORY New Type in IFC Release 1.5.1. typedef enum {IfcBooleanOperator_UNION, IfcBooleanOperator_INTERSECTION, IfcBooleanOperator_DIFFERENCE} IfcBooleanOperator; -IfcParse_EXPORT const char* ToString(IfcBooleanOperator v); -IfcParse_EXPORT IfcBooleanOperator FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcBooleanOperator v); +IFC_PARSE_API IfcBooleanOperator FromString(const std::string& s); } namespace IfcBuildingElementPartTypeEnum { /// Definition from IAI: This enumeration defines the different types of building element parts: @@ -1017,8 +1017,8 @@ namespace IfcBuildingElementPartTypeEnum { /// /// HISTORY  New Enumeration in IFC 2x4. typedef enum {IfcBuildingElementPartType_INSULATION, IfcBuildingElementPartType_PRECASTPANEL, IfcBuildingElementPartType_USERDEFINED, IfcBuildingElementPartType_NOTDEFINED} IfcBuildingElementPartTypeEnum; -IfcParse_EXPORT const char* ToString(IfcBuildingElementPartTypeEnum v); -IfcParse_EXPORT IfcBuildingElementPartTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcBuildingElementPartTypeEnum v); +IFC_PARSE_API IfcBuildingElementPartTypeEnum FromString(const std::string& s); } namespace IfcBuildingElementProxyTypeEnum { /// Definition from IAI: This enumeration defines the @@ -1033,8 +1033,8 @@ namespace IfcBuildingElementProxyTypeEnum { /// /// NOTDEFINED typedef enum {IfcBuildingElementProxyType_COMPLEX, IfcBuildingElementProxyType_ELEMENT, IfcBuildingElementProxyType_PARTIAL, IfcBuildingElementProxyType_PROVISIONFORVOID, IfcBuildingElementProxyType_USERDEFINED, IfcBuildingElementProxyType_NOTDEFINED} IfcBuildingElementProxyTypeEnum; -IfcParse_EXPORT const char* ToString(IfcBuildingElementProxyTypeEnum v); -IfcParse_EXPORT IfcBuildingElementProxyTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcBuildingElementProxyTypeEnum v); +IFC_PARSE_API IfcBuildingElementProxyTypeEnum FromString(const std::string& s); } namespace IfcBuildingSystemTypeEnum { /// Definition from IAI: This enumeration identifies @@ -1052,8 +1052,8 @@ namespace IfcBuildingSystemTypeEnum { /// TRANSPORT: System of all transport elements in a /// building that enables the transport of people or goods. typedef enum {IfcBuildingSystemType_FENESTRATION, IfcBuildingSystemType_FOUNDATION, IfcBuildingSystemType_LOADBEARING, IfcBuildingSystemType_OUTERSHELL, IfcBuildingSystemType_SHADING, IfcBuildingSystemType_TRANSPORT, IfcBuildingSystemType_USERDEFINED, IfcBuildingSystemType_NOTDEFINED} IfcBuildingSystemTypeEnum; -IfcParse_EXPORT const char* ToString(IfcBuildingSystemTypeEnum v); -IfcParse_EXPORT IfcBuildingSystemTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcBuildingSystemTypeEnum v); +IFC_PARSE_API IfcBuildingSystemTypeEnum FromString(const std::string& s); } namespace IfcBurnerTypeEnum { /// Enumeration defining the functional type of burner. @@ -1064,8 +1064,8 @@ namespace IfcBurnerTypeEnum { /// /// HISTORY: New enumeration in IFC R2x4. typedef enum {IfcBurnerType_USERDEFINED, IfcBurnerType_NOTDEFINED} IfcBurnerTypeEnum; -IfcParse_EXPORT const char* ToString(IfcBurnerTypeEnum v); -IfcParse_EXPORT IfcBurnerTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcBurnerTypeEnum v); +IFC_PARSE_API IfcBurnerTypeEnum FromString(const std::string& s); } namespace IfcCableCarrierFittingTypeEnum { /// The IfcCableCarrierFittingTypeEnum defines the range of different types of cable carrier fitting that can be specified. @@ -1079,8 +1079,8 @@ namespace IfcCableCarrierFittingTypeEnum { /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. typedef enum {IfcCableCarrierFittingType_BEND, IfcCableCarrierFittingType_CROSS, IfcCableCarrierFittingType_REDUCER, IfcCableCarrierFittingType_TEE, IfcCableCarrierFittingType_USERDEFINED, IfcCableCarrierFittingType_NOTDEFINED} IfcCableCarrierFittingTypeEnum; -IfcParse_EXPORT const char* ToString(IfcCableCarrierFittingTypeEnum v); -IfcParse_EXPORT IfcCableCarrierFittingTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcCableCarrierFittingTypeEnum v); +IFC_PARSE_API IfcCableCarrierFittingTypeEnum FromString(const std::string& s); } namespace IfcCableCarrierSegmentTypeEnum { /// The IfcCableCarrierSegmentTypeEnum defines the range of different types of cable carrier segment that can be specified. @@ -1094,8 +1094,8 @@ namespace IfcCableCarrierSegmentTypeEnum { /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. typedef enum {IfcCableCarrierSegmentType_CABLELADDERSEGMENT, IfcCableCarrierSegmentType_CABLETRAYSEGMENT, IfcCableCarrierSegmentType_CABLETRUNKINGSEGMENT, IfcCableCarrierSegmentType_CONDUITSEGMENT, IfcCableCarrierSegmentType_USERDEFINED, IfcCableCarrierSegmentType_NOTDEFINED} IfcCableCarrierSegmentTypeEnum; -IfcParse_EXPORT const char* ToString(IfcCableCarrierSegmentTypeEnum v); -IfcParse_EXPORT IfcCableCarrierSegmentTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcCableCarrierSegmentTypeEnum v); +IFC_PARSE_API IfcCableCarrierSegmentTypeEnum FromString(const std::string& s); } namespace IfcCableFittingTypeEnum { /// The IfcCableFittingTypeEnum defines the range of different types of cable fitting that can be specified. @@ -1110,8 +1110,8 @@ namespace IfcCableFittingTypeEnum { /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. typedef enum {IfcCableFittingType_CONNECTOR, IfcCableFittingType_ENTRY, IfcCableFittingType_EXIT, IfcCableFittingType_JUNCTION, IfcCableFittingType_TRANSITION, IfcCableFittingType_USERDEFINED, IfcCableFittingType_NOTDEFINED} IfcCableFittingTypeEnum; -IfcParse_EXPORT const char* ToString(IfcCableFittingTypeEnum v); -IfcParse_EXPORT IfcCableFittingTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcCableFittingTypeEnum v); +IFC_PARSE_API IfcCableFittingTypeEnum FromString(const std::string& s); } namespace IfcCableSegmentTypeEnum { /// The IfcCableSegmentTypeEnum defines the range of different types of cable segment that can be specified. @@ -1127,8 +1127,8 @@ namespace IfcCableSegmentTypeEnum { /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. typedef enum {IfcCableSegmentType_BUSBARSEGMENT, IfcCableSegmentType_CABLESEGMENT, IfcCableSegmentType_CONDUCTORSEGMENT, IfcCableSegmentType_CORESEGMENT, IfcCableSegmentType_USERDEFINED, IfcCableSegmentType_NOTDEFINED} IfcCableSegmentTypeEnum; -IfcParse_EXPORT const char* ToString(IfcCableSegmentTypeEnum v); -IfcParse_EXPORT IfcCableSegmentTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcCableSegmentTypeEnum v); +IFC_PARSE_API IfcCableSegmentTypeEnum FromString(const std::string& s); } namespace IfcChangeActionEnum { /// IfcChangeActionEnum identifies the type of change that might have occurred to the object during the last session (for example, added, modified, deleted). This information is required in a partial model exchange scenario so that an application or model server will know how an object might have been affected by the previous application. Valid enumerations are: @@ -1147,8 +1147,8 @@ namespace IfcChangeActionEnum { /// /// HISTORY: New enumeration in IFC R2.0. Modified in IFC2x4. typedef enum {IfcChangeAction_NOCHANGE, IfcChangeAction_MODIFIED, IfcChangeAction_ADDED, IfcChangeAction_DELETED, IfcChangeAction_NOTDEFINED} IfcChangeActionEnum; -IfcParse_EXPORT const char* ToString(IfcChangeActionEnum v); -IfcParse_EXPORT IfcChangeActionEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcChangeActionEnum v); +IFC_PARSE_API IfcChangeActionEnum FromString(const std::string& s); } namespace IfcChillerTypeEnum { /// Enumeration defining the typical types of Chillers classified by their method of heat rejection. @@ -1162,8 +1162,8 @@ namespace IfcChillerTypeEnum { /// /// HISTORY: New enumeration in IFC R2x. typedef enum {IfcChillerType_AIRCOOLED, IfcChillerType_WATERCOOLED, IfcChillerType_HEATRECOVERY, IfcChillerType_USERDEFINED, IfcChillerType_NOTDEFINED} IfcChillerTypeEnum; -IfcParse_EXPORT const char* ToString(IfcChillerTypeEnum v); -IfcParse_EXPORT IfcChillerTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcChillerTypeEnum v); +IFC_PARSE_API IfcChillerTypeEnum FromString(const std::string& s); } namespace IfcChimneyTypeEnum { /// Definition from IAI: Enumeration defining the valid @@ -1177,8 +1177,8 @@ namespace IfcChimneyTypeEnum { /// defined, the IfcChimneyTypeEnum has been added /// for future extensions. typedef enum {IfcChimneyType_USERDEFINED, IfcChimneyType_NOTDEFINED} IfcChimneyTypeEnum; -IfcParse_EXPORT const char* ToString(IfcChimneyTypeEnum v); -IfcParse_EXPORT IfcChimneyTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcChimneyTypeEnum v); +IFC_PARSE_API IfcChimneyTypeEnum FromString(const std::string& s); } namespace IfcCoilTypeEnum { /// Enumeration defining the typical types of coils. @@ -1204,8 +1204,8 @@ namespace IfcCoilTypeEnum { /// /// HISTORY: New enumeration in IFC R2x. typedef enum {IfcCoilType_DXCOOLINGCOIL, IfcCoilType_ELECTRICHEATINGCOIL, IfcCoilType_GASHEATINGCOIL, IfcCoilType_HYDRONICCOIL, IfcCoilType_STEAMHEATINGCOIL, IfcCoilType_WATERCOOLINGCOIL, IfcCoilType_WATERHEATINGCOIL, IfcCoilType_USERDEFINED, IfcCoilType_NOTDEFINED} IfcCoilTypeEnum; -IfcParse_EXPORT const char* ToString(IfcCoilTypeEnum v); -IfcParse_EXPORT IfcCoilTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcCoilTypeEnum v); +IFC_PARSE_API IfcCoilTypeEnum FromString(const std::string& s); } namespace IfcColumnTypeEnum { /// Definition from IAI: This enumeration defines the @@ -1223,8 +1223,8 @@ namespace IfcColumnTypeEnum { /// HISTORY New Enumeration /// in Release IFC2x Edition 2. typedef enum {IfcColumnType_COLUMN, IfcColumnType_PILASTER, IfcColumnType_USERDEFINED, IfcColumnType_NOTDEFINED} IfcColumnTypeEnum; -IfcParse_EXPORT const char* ToString(IfcColumnTypeEnum v); -IfcParse_EXPORT IfcColumnTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcColumnTypeEnum v); +IFC_PARSE_API IfcColumnTypeEnum FromString(const std::string& s); } namespace IfcCommunicationsApplianceTypeEnum { /// Defines the range of different types of communications appliance that can be specified. @@ -1244,8 +1244,8 @@ namespace IfcCommunicationsApplianceTypeEnum { /// ROUTER: A router is a networking device whose software and hardware are usually tailored to the tasks of routing and forwarding information. For example, on the Internet, information is directed to various paths by routers. /// SCANNER: A machine that has the primary function of scanning the content of printed matter and converting it to digital format that can be stored in a computer. typedef enum {IfcCommunicationsApplianceType_ANTENNA, IfcCommunicationsApplianceType_COMPUTER, IfcCommunicationsApplianceType_FAX, IfcCommunicationsApplianceType_GATEWAY, IfcCommunicationsApplianceType_MODEM, IfcCommunicationsApplianceType_NETWORKAPPLIANCE, IfcCommunicationsApplianceType_NETWORKBRIDGE, IfcCommunicationsApplianceType_NETWORKHUB, IfcCommunicationsApplianceType_PRINTER, IfcCommunicationsApplianceType_REPEATER, IfcCommunicationsApplianceType_ROUTER, IfcCommunicationsApplianceType_SCANNER, IfcCommunicationsApplianceType_USERDEFINED, IfcCommunicationsApplianceType_NOTDEFINED} IfcCommunicationsApplianceTypeEnum; -IfcParse_EXPORT const char* ToString(IfcCommunicationsApplianceTypeEnum v); -IfcParse_EXPORT IfcCommunicationsApplianceTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcCommunicationsApplianceTypeEnum v); +IFC_PARSE_API IfcCommunicationsApplianceTypeEnum FromString(const std::string& s); } namespace IfcComplexPropertyTemplateTypeEnum { /// This enumeration defines the subtype of instances of IfcComplexProperty or IfcPhysicalComplexQuantity that may be created and defined by an IfcComplexPropertyTemplate. @@ -1257,8 +1257,8 @@ namespace IfcComplexPropertyTemplateTypeEnum { /// P_COMPLEX: the properties defined by this IfcComplexPropertyTemplate are of type IfcComplexProperty. /// Q_COMPLEX: the properties defined by this IfcComplexPropertyTemplate are of type IfcPhysicalComplexQuantity. typedef enum {IfcComplexPropertyTemplateType_P_COMPLEX, IfcComplexPropertyTemplateType_Q_COMPLEX} IfcComplexPropertyTemplateTypeEnum; -IfcParse_EXPORT const char* ToString(IfcComplexPropertyTemplateTypeEnum v); -IfcParse_EXPORT IfcComplexPropertyTemplateTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcComplexPropertyTemplateTypeEnum v); +IFC_PARSE_API IfcComplexPropertyTemplateTypeEnum FromString(const std::string& s); } namespace IfcCompressorTypeEnum { /// Types of compressors. @@ -1284,8 +1284,8 @@ namespace IfcCompressorTypeEnum { /// /// HISTORY: New enumeration in IFC R2x. typedef enum {IfcCompressorType_DYNAMIC, IfcCompressorType_RECIPROCATING, IfcCompressorType_ROTARY, IfcCompressorType_SCROLL, IfcCompressorType_TROCHOIDAL, IfcCompressorType_SINGLESTAGE, IfcCompressorType_BOOSTER, IfcCompressorType_OPENTYPE, IfcCompressorType_HERMETIC, IfcCompressorType_SEMIHERMETIC, IfcCompressorType_WELDEDSHELLHERMETIC, IfcCompressorType_ROLLINGPISTON, IfcCompressorType_ROTARYVANE, IfcCompressorType_SINGLESCREW, IfcCompressorType_TWINSCREW, IfcCompressorType_USERDEFINED, IfcCompressorType_NOTDEFINED} IfcCompressorTypeEnum; -IfcParse_EXPORT const char* ToString(IfcCompressorTypeEnum v); -IfcParse_EXPORT IfcCompressorTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcCompressorTypeEnum v); +IFC_PARSE_API IfcCompressorTypeEnum FromString(const std::string& s); } namespace IfcCondenserTypeEnum { /// Enumeration defining the typical types of condensers. Air is used as the cooling medium for AIRCOOLED; water is used as the cooling medium for all other types. The IfcCondenserTypeEnum contains the following: @@ -1302,8 +1302,8 @@ namespace IfcCondenserTypeEnum { /// /// HISTORY: New enumeration in IFC 2x2. WATERCOOLED added in IFC 2x4. typedef enum {IfcCondenserType_AIRCOOLED, IfcCondenserType_EVAPORATIVECOOLED, IfcCondenserType_WATERCOOLED, IfcCondenserType_WATERCOOLEDBRAZEDPLATE, IfcCondenserType_WATERCOOLEDSHELLCOIL, IfcCondenserType_WATERCOOLEDSHELLTUBE, IfcCondenserType_WATERCOOLEDTUBEINTUBE, IfcCondenserType_USERDEFINED, IfcCondenserType_NOTDEFINED} IfcCondenserTypeEnum; -IfcParse_EXPORT const char* ToString(IfcCondenserTypeEnum v); -IfcParse_EXPORT IfcCondenserTypeEnum FromString(const std::string& s); +IFC_PARSE_API const char* ToString(IfcCondenserTypeEnum v); +IFC_PARSE_API IfcCondenserTypeEnum FromString(const std::string& s); } namespace IfcConnectionTypeEnum { /// This enumeration defines the different ways how path based elements (such as IfcWallStandardCase) can connect, as shown in Figure 65. @@ -1327,8 +1327,8 @@ namespace IfcConnectionTypeEnum { /// /// Figure 65 — Connection types /*[3:3]*/() const; }; -class IfcParse_EXPORT IfcAreaDensityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcAreaDensityMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -5841,7 +5841,7 @@ public: /// NOTE Corresponding ISO 10303 name: area_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IfcParse_EXPORT IfcAreaMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcAreaMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -5853,7 +5853,7 @@ public: operator double() const; }; -class IfcParse_EXPORT IfcBinary : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcBinary : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -5869,7 +5869,7 @@ public: /// Type: BOOLEAN /// /// HISTORY New type in IFC Release 1.5.1. -class IfcParse_EXPORT IfcBoolean : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcBoolean : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -5923,7 +5923,7 @@ public: /// Figure 284 illustrates an example extrusion shape with arbitrary profile (IfcArbitraryClosedProfileDef), aligned "mid-depth right" on the member axis. The line of sight follows the extrusion direction Z which points into the drawing plane of above illustration. Hence, "left" is in the positive X direction of the IfcProfileDef. "Top" is in the positive Y direction of the IfcProfileDef. /// /// Figure 284 — Cardinal point extrusion -class IfcParse_EXPORT IfcCardinalPointReference : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcCardinalPointReference : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -5945,7 +5945,7 @@ public: /// Type: ARRAY [1:2] OF REAL /// /// HISTORY New type in IFC Release 2x2. -class IfcParse_EXPORT IfcComplexNumber : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcComplexNumber : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6004,7 +6004,7 @@ public: ///      + FORMAT(ABS(c[4]), '##');  -- -50° 58' 33" 110400 /// /// Another often encountered display format of latitudes and longitudes is to omit the signs and print N, S, E, W indicators instead, for example, 50°58'33"S. When stored as IfcCompoundPlaneAngleMeasure however, a compound plane angle measure is always signed, with same sign of all components. -class IfcParse_EXPORT IfcCompoundPlaneAngleMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcCompoundPlaneAngleMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6021,7 +6021,7 @@ public: /// NOTE Corresponding ISO 10303 name: context_dependent_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IfcParse_EXPORT IfcContextDependentMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcContextDependentMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6038,7 +6038,7 @@ public: /// NOTE Corresponding ISO 10303 name: count_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IfcParse_EXPORT IfcCountMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcCountMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6056,7 +6056,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IfcParse_EXPORT IfcCurvatureMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcCurvatureMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6073,7 +6073,7 @@ public: /// /// Use definitions /// All given values should be provided in context and converted into a Gregorian date context and be shall be processable by a receiving application. -class IfcParse_EXPORT IfcDate : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDate : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6102,7 +6102,7 @@ public: /// otherwise they are forbidden. The year 0000 is prohibited. /// /// HISTORY: New type in IFC2x4 -class IfcParse_EXPORT IfcDateTime : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDateTime : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6125,7 +6125,7 @@ public: /// Release 1.5.1. /// IFC2x4 CHANGE Where rule /// ValidRange added. -class IfcParse_EXPORT IfcDayInMonthNumber : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDayInMonthNumber : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6170,7 +6170,7 @@ public: /// Type: INTEGER /// HISTORY New type in /// IFC2x4. -class IfcParse_EXPORT IfcDayInWeekNumber : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDayInWeekNumber : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6187,7 +6187,7 @@ public: /// NOTE Corresponding ISO 10303 name:descriptive_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IfcParse_EXPORT IfcDescriptiveMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDescriptiveMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6205,7 +6205,7 @@ public: /// NOTE Corresponding ISO 10303 type: dimension_count, please refer to ISO/IS 10303-42:1994, p. 14 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.5 -class IfcParse_EXPORT IfcDimensionCount : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDimensionCount : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6221,7 +6221,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IfcParse_EXPORT IfcDoseEquivalentMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDoseEquivalentMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6237,7 +6237,7 @@ public: /// EXAMPLE: P0002-10-15T10:30:20 (duration of two years, 10 months, 15 days, 10 hours, 30 minutes and 20 seconds). /// /// HISTORY: New type in IFC2x4 -class IfcParse_EXPORT IfcDuration : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDuration : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6254,7 +6254,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IfcParse_EXPORT IfcDynamicViscosityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcDynamicViscosityMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6270,7 +6270,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IfcParse_EXPORT IfcElectricCapacitanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricCapacitanceMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6286,7 +6286,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IfcParse_EXPORT IfcElectricChargeMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricChargeMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6302,7 +6302,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IfcParse_EXPORT IfcElectricConductanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricConductanceMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6320,7 +6320,7 @@ public: /// NOTE Corresponding ISO 10303 name: electric_current_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IfcParse_EXPORT IfcElectricCurrentMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricCurrentMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6336,7 +6336,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IfcParse_EXPORT IfcElectricResistanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricResistanceMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6352,7 +6352,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IfcParse_EXPORT IfcElectricVoltageMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcElectricVoltageMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6368,7 +6368,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IfcParse_EXPORT IfcEnergyMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcEnergyMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6393,7 +6393,7 @@ public: /// NOTE  Corresponding CSS1 definitions is font-style. /// /// HISTORY  New type in IFC2x3. -class IfcParse_EXPORT IfcFontStyle : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcFontStyle : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6416,7 +6416,7 @@ public: /// NOTE  Corresponding CSS1 definitions is font-variant. /// /// HISTORY  New type in IFC2x3. -class IfcParse_EXPORT IfcFontVariant : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcFontVariant : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6450,7 +6450,7 @@ public: /// NOTE  Corresponding CSS1 definitions is font-weight. /// /// HISTORY  New type in IFC2x2 Addendum 2. -class IfcParse_EXPORT IfcFontWeight : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcFontWeight : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6466,7 +6466,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IfcParse_EXPORT IfcForceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcForceMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6482,7 +6482,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IfcParse_EXPORT IfcFrequencyMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcFrequencyMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6508,7 +6508,7 @@ public: /// Refer to the BuildingSMART website (www.buildingsmart-tech.org) for more information and sample encoding algorithms. /// /// HISTORY  New type in IFC R1.5.1. -class IfcParse_EXPORT IfcGloballyUniqueId : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcGloballyUniqueId : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6524,7 +6524,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IfcParse_EXPORT IfcHeatFluxDensityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcHeatFluxDensityMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6538,7 +6538,7 @@ public: /// IfcHeatingValueMeasure defines the amount of energy released (usually in MJ/kg) when a fuel is burned. /// /// HISTORY: This is new type in IFC2x2. -class IfcParse_EXPORT IfcHeatingValueMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcHeatingValueMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6563,7 +6563,7 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// Note that while IfcIdentifier is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the identifier. -class IfcParse_EXPORT IfcIdentifier : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcIdentifier : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6579,7 +6579,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IfcParse_EXPORT IfcIlluminanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcIlluminanceMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6595,7 +6595,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IfcParse_EXPORT IfcInductanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcInductanceMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6613,7 +6613,7 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 1.5.1. -class IfcParse_EXPORT IfcInteger : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcInteger : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6631,7 +6631,7 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 2.0. -class IfcParse_EXPORT IfcIntegerCountRateMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcIntegerCountRateMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6645,7 +6645,7 @@ public: /// IfcIonConcentrationMeasure is a measure of particular ion concentration in a liquid, given in mg/L. /// /// HISTORY: New type in IFC2x2. -class IfcParse_EXPORT IfcIonConcentrationMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcIonConcentrationMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6661,7 +6661,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IfcParse_EXPORT IfcIsothermalMoistureCapacityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcIsothermalMoistureCapacityMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6677,7 +6677,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IfcParse_EXPORT IfcKinematicViscosityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcKinematicViscosityMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6702,7 +6702,7 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// Note that while IfcLabel is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the label. -class IfcParse_EXPORT IfcLabel : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLabel : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6723,7 +6723,7 @@ public: /// NOTE  The use of IfcLanguageId should conform to the use of language tags in HTML and XML as published by the W3C consortium. /// /// HISTORY  New defined datatype in IFC2x4. -class IfcParse_EXPORT IfcLanguageId : public IfcIdentifier { +class IFC_PARSE_API IfcLanguageId : public IfcIdentifier { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6741,7 +6741,7 @@ public: /// NOTE Corresponding ISO 10303 name: length_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IfcParse_EXPORT IfcLengthMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLengthMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6753,7 +6753,7 @@ public: operator double() const; }; -class IfcParse_EXPORT IfcLineIndex : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLineIndex : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6769,7 +6769,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IfcParse_EXPORT IfcLinearForceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLinearForceMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6785,7 +6785,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IfcParse_EXPORT IfcLinearMomentMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLinearMomentMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6801,7 +6801,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IfcParse_EXPORT IfcLinearStiffnessMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLinearStiffnessMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6817,7 +6817,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IfcParse_EXPORT IfcLinearVelocityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLinearVelocityMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6833,7 +6833,7 @@ public: /// Type: LOGICAL /// /// HISTORY New type in IFC Release 2x. -class IfcParse_EXPORT IfcLogical : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLogical : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6849,7 +6849,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IfcParse_EXPORT IfcLuminousFluxMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLuminousFluxMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6867,7 +6867,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IfcParse_EXPORT IfcLuminousIntensityDistributionMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLuminousIntensityDistributionMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6885,7 +6885,7 @@ public: /// NOTE Corresponding ISO 10303 name: luminous_intensity_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IfcParse_EXPORT IfcLuminousIntensityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcLuminousIntensityMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6901,7 +6901,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IfcParse_EXPORT IfcMagneticFluxDensityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMagneticFluxDensityMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6917,7 +6917,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IfcParse_EXPORT IfcMagneticFluxMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMagneticFluxMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6933,7 +6933,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IfcParse_EXPORT IfcMassDensityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMassDensityMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6949,7 +6949,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IfcParse_EXPORT IfcMassFlowRateMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMassFlowRateMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6967,7 +6967,7 @@ public: /// NOTE Corresponding ISO 10303 name: mass_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IfcParse_EXPORT IfcMassMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMassMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -6985,7 +6985,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IfcParse_EXPORT IfcMassPerLengthMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMassPerLengthMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7001,7 +7001,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IfcParse_EXPORT IfcModulusOfElasticityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcModulusOfElasticityMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7017,7 +7017,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x2. -class IfcParse_EXPORT IfcModulusOfLinearSubgradeReactionMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcModulusOfLinearSubgradeReactionMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7033,7 +7033,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IfcParse_EXPORT IfcModulusOfRotationalSubgradeReactionMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7053,7 +7053,7 @@ public: /// Figure 290 illustrates elastic support of a planar member. /// /// Figure 290 — Modulus of subgrade reaction measure -class IfcParse_EXPORT IfcModulusOfSubgradeReactionMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcModulusOfSubgradeReactionMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7069,7 +7069,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IfcParse_EXPORT IfcMoistureDiffusivityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMoistureDiffusivityMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7085,7 +7085,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IfcParse_EXPORT IfcMolecularWeightMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMolecularWeightMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7101,7 +7101,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IfcParse_EXPORT IfcMomentOfInertiaMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMomentOfInertiaMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7116,7 +7116,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IfcParse_EXPORT IfcMonetaryMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMonetaryMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7183,7 +7183,7 @@ public: /// standard. /// HISTORY New type in IFC /// Release 1.5.1. -class IfcParse_EXPORT IfcMonthInYearNumber : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcMonthInYearNumber : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7199,7 +7199,7 @@ public: /// Type: IfcLengthMeasure /// /// HISTORY New type in IFC Release 2x4. -class IfcParse_EXPORT IfcNonNegativeLengthMeasure : public IfcLengthMeasure { +class IFC_PARSE_API IfcNonNegativeLengthMeasure : public IfcLengthMeasure { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7216,7 +7216,7 @@ public: /// NOTE Corresponding ISO 10303 name: numeric_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IfcParse_EXPORT IfcNumericMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcNumericMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7230,7 +7230,7 @@ public: /// IfcPHMeasure is a measure of the molar hydrogen ion concentration in a liquid (usually defined as the measure of acidity) in a range from 0 to 14. /// /// HISTORY: New type in IFC 2x2. -class IfcParse_EXPORT IfcPHMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPHMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7248,7 +7248,7 @@ public: /// NOTE Corresponding STEP name: parameter_value, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IfcParse_EXPORT IfcParameterValue : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcParameterValue : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7264,7 +7264,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IfcParse_EXPORT IfcPlanarForceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPlanarForceMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7286,7 +7286,7 @@ public: /// NOTE Corresponding ISO 10303 name: plane_angle_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IfcParse_EXPORT IfcPlaneAngleMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPlaneAngleMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7298,7 +7298,7 @@ public: operator double() const; }; -class IfcParse_EXPORT IfcPositiveInteger : public IfcInteger { +class IFC_PARSE_API IfcPositiveInteger : public IfcInteger { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7315,7 +7315,7 @@ public: /// NOTE Corresponding ISO 10303 name: positive_length_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IfcParse_EXPORT IfcPositiveLengthMeasure : public IfcLengthMeasure { +class IFC_PARSE_API IfcPositiveLengthMeasure : public IfcLengthMeasure { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7332,7 +7332,7 @@ public: /// NOTE Corresponding STEP name: positive_plane_angle_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IfcParse_EXPORT IfcPositivePlaneAngleMeasure : public IfcPlaneAngleMeasure { +class IFC_PARSE_API IfcPositivePlaneAngleMeasure : public IfcPlaneAngleMeasure { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7348,7 +7348,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IfcParse_EXPORT IfcPowerMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPowerMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7368,7 +7368,7 @@ public: /// NOTE  Corresponding ISO 10303 name: presentable_text. Please refer to ISO/IS 10303-46:1994, p. 133 for the final definition of the formal standard. /// /// HISTORY  New type in IFC2x2. -class IfcParse_EXPORT IfcPresentableText : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPresentableText : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7384,7 +7384,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IfcParse_EXPORT IfcPressureMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPressureMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7396,7 +7396,7 @@ public: operator double() const; }; -class IfcParse_EXPORT IfcPropertySetDefinitionSet : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcPropertySetDefinitionSet : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7412,7 +7412,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IfcParse_EXPORT IfcRadioActivityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcRadioActivityMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7433,7 +7433,7 @@ public: /// NOTE Corresponding STEP name: ratio_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IfcParse_EXPORT IfcRatioMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcRatioMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7451,7 +7451,7 @@ public: /// Type: REAL /// /// HISTORY: New type in IFC Release 1.5.1. -class IfcParse_EXPORT IfcReal : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcReal : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7467,7 +7467,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IfcParse_EXPORT IfcRotationalFrequencyMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcRotationalFrequencyMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7484,7 +7484,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IfcParse_EXPORT IfcRotationalMassMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcRotationalMassMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7500,7 +7500,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IfcParse_EXPORT IfcRotationalStiffnessMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcRotationalStiffnessMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7516,7 +7516,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x2. -class IfcParse_EXPORT IfcSectionModulusMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSectionModulusMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7532,7 +7532,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IfcParse_EXPORT IfcSectionalAreaIntegralMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSectionalAreaIntegralMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7548,7 +7548,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IfcParse_EXPORT IfcShearModulusMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcShearModulusMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7566,7 +7566,7 @@ public: /// NOTE Corresponding ISO 10303 name: solid_angle_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IfcParse_EXPORT IfcSolidAngleMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSolidAngleMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7578,7 +7578,7 @@ public: operator double() const; }; -class IfcParse_EXPORT IfcSoundPowerLevelMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSoundPowerLevelMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7594,7 +7594,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IfcParse_EXPORT IfcSoundPowerMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSoundPowerMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7606,7 +7606,7 @@ public: operator double() const; }; -class IfcParse_EXPORT IfcSoundPressureLevelMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSoundPressureLevelMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7622,7 +7622,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IfcParse_EXPORT IfcSoundPressureMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSoundPressureMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7638,7 +7638,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IfcParse_EXPORT IfcSpecificHeatCapacityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSpecificHeatCapacityMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7656,7 +7656,7 @@ public: /// NOTE: The datatype relates to the definition of specular_exponent in ISO 10303-46 entity surface_style_reflectance_ambient_diffuse_specular. /// /// HISTORY: New type in IFC2x2. -class IfcParse_EXPORT IfcSpecularExponent : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSpecularExponent : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7676,7 +7676,7 @@ public: /// NOTE: The datatype relates to the definition of "shiness" in VRML97, which is the reciprocate value to the specular roughness. /// /// HISTORY: New type in Release IFC2x2. -class IfcParse_EXPORT IfcSpecularRoughness : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcSpecularRoughness : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7688,7 +7688,7 @@ public: operator double() const; }; -class IfcParse_EXPORT IfcStrippedOptional : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcStrippedOptional : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7704,7 +7704,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IfcParse_EXPORT IfcTemperatureGradientMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTemperatureGradientMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7720,7 +7720,7 @@ public: /// Type: REAL /// /// HISTORY  New type in IFC2x4. -class IfcParse_EXPORT IfcTemperatureRateOfChangeMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTemperatureRateOfChangeMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7742,7 +7742,7 @@ public: /// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. /// /// Note that while IfcText is not formally restricted in length, the size of a string in ISO 10303-21:2002 conforming exchange files must not exceed 32767 octets after encoding and escaping. -class IfcParse_EXPORT IfcText : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcText : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7763,7 +7763,7 @@ public: /// NOTE  Corresponding CSS1 definition is text-align. /// /// HISTORY  New type in IFC2x3. -class IfcParse_EXPORT IfcTextAlignment : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTextAlignment : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7787,7 +7787,7 @@ public: /// NOTE  Corresponding CSS1 definition is text-decoration. /// /// HISTORY  New type in IFC2x3. -class IfcParse_EXPORT IfcTextDecoration : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTextDecoration : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7817,7 +7817,7 @@ public: /// HISTORY  New type in IFC2x2 Addendum 2. /// /// IFC2x2 Addendum 2 CHANGE: The IfcFontFamily has been added. -class IfcParse_EXPORT IfcTextFontName : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTextFontName : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7838,7 +7838,7 @@ public: /// NOTE  Corresponding CSS1 definition is text-transform. /// /// HISTORY  New type in IFC2x3. -class IfcParse_EXPORT IfcTextTransformation : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTextTransformation : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7854,7 +7854,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IfcParse_EXPORT IfcThermalAdmittanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermalAdmittanceMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7870,7 +7870,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IfcParse_EXPORT IfcThermalConductivityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermalConductivityMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7885,7 +7885,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IfcParse_EXPORT IfcThermalExpansionCoefficientMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermalExpansionCoefficientMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7900,7 +7900,7 @@ public: /// Usually measured in m2 Kelvin/Watt. /// /// HISTORY New type in IFC Release 2.0. -class IfcParse_EXPORT IfcThermalResistanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermalResistanceMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7916,7 +7916,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IfcParse_EXPORT IfcThermalTransmittanceMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermalTransmittanceMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7934,7 +7934,7 @@ public: /// NOTE Corresponding ISO 10303 name: thermodynamic_temperature_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IfcParse_EXPORT IfcThermodynamicTemperatureMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcThermodynamicTemperatureMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7953,7 +7953,7 @@ public: /// 13:20:00-05:00. /// /// HISTORY: New type in IFC2x4 -class IfcParse_EXPORT IfcTime : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTime : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7971,7 +7971,7 @@ public: /// NOTE Corresponding ISO 10303 name: time_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IfcParse_EXPORT IfcTimeMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTimeMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -7986,7 +7986,7 @@ public: /// Type: INTEGER /// /// HISTORY New type in IFC Release 1.5.1. -class IfcParse_EXPORT IfcTimeStamp : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTimeStamp : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -8002,7 +8002,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IfcParse_EXPORT IfcTorqueMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcTorqueMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -8020,7 +8020,7 @@ public: /// designed to make it easy to map other namespaces (that share the properties of URNs) into URN-space. /// /// HISTORY New defined datatype in IFC 2x4. -class IfcParse_EXPORT IfcURIReference : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcURIReference : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -8036,7 +8036,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IfcParse_EXPORT IfcVaporPermeabilityMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcVaporPermeabilityMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -8054,7 +8054,7 @@ public: /// NOTE Corresponding ISO 10303 name: volume_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IfcParse_EXPORT IfcVolumeMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcVolumeMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -8070,7 +8070,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2.0. -class IfcParse_EXPORT IfcVolumetricFlowRateMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcVolumetricFlowRateMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -8086,7 +8086,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IfcParse_EXPORT IfcWarpingConstantMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcWarpingConstantMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -8102,7 +8102,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC2x2. -class IfcParse_EXPORT IfcWarpingMomentMeasure : public IfcUtil::IfcBaseType { +class IFC_PARSE_API IfcWarpingMomentMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -8138,7 +8138,7 @@ public: /// HISTORY  New type in IFC2x2 Addendum2. /// /// IFC2x3 CHANGE  The IfcBoxAlignment has been added. -class IfcParse_EXPORT IfcBoxAlignment : public IfcLabel { +class IFC_PARSE_API IfcBoxAlignment : public IfcLabel { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -8154,7 +8154,7 @@ public: /// Type: REAL /// /// HISTORY New type in IFC Release 2x. -class IfcParse_EXPORT IfcNormalisedRatioMeasure : public IfcRatioMeasure { +class IFC_PARSE_API IfcNormalisedRatioMeasure : public IfcRatioMeasure { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -8171,7 +8171,7 @@ public: /// NOTE Corresponding ISO 10303 name: positive_ratio_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IfcParse_EXPORT IfcPositiveRatioMeasure : public IfcRatioMeasure { +class IFC_PARSE_API IfcPositiveRatioMeasure : public IfcRatioMeasure { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; virtual Argument* getArgument(unsigned int i) const; @@ -8194,7 +8194,7 @@ public: /// Corresponds to the following entity in ISO-10303-41: organization_role and person_role. /// /// HISTORY New entity in IFC Release 1.5.1 -class IfcParse_EXPORT IfcActorRole : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcActorRole : public IfcUtil::IfcBaseEntity { public: /// The name of the role played by an actor. If the Role has value USERDEFINED, then /// the user defined role shall be provided as a value of the attribute UserDefinedRole. @@ -8231,7 +8231,7 @@ public: /// NOTE Corresponds to the following entity in ISO-10303-41: address. /// /// HISTORY New entity in IFC Release 1.5.1. -class IfcParse_EXPORT IfcAddress : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcAddress : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Purpose is defined for this IfcAddress bool hasPurpose() const; @@ -8268,7 +8268,7 @@ public: /// IfcApplication holds the information about an IFC compliant application developed by an application developer. The IfcApplication utilizes a short identifying name as provided by the application developer. /// /// HISTORY  New entity in IFC R1.5. -class IfcParse_EXPORT IfcApplication : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcApplication : public IfcUtil::IfcBaseEntity { public: /// Name of the application developer, being requested to be member of the IAI. IfcOrganization* ApplicationDeveloper() const; @@ -8308,7 +8308,7 @@ public: /// An instance of IfcAppliedValue may have a unit basis asserted. This is defined as an IfcMeasureWithUnit that determines the extent of the unit value for application purposes. It is assumed that when this attribute is asserted, then the value given to IfcAppliedValue is that for unit quantity. This is not enforced within the IFC schema and thus needs to be controlled within an application. /// /// Applied values may be referenced from a document (such as a price list). The relationship between one or more occurrences of IfcAppliedValue (or its subtypes) is achieved through the use of the IfcExternalReferenceRelationship in which the document provides the IfcExternalReferenceRelationship.RelatingExtReference and the value occurrences are the IfcExternalReferenceRelationship.RelatedResourceObjects. -class IfcParse_EXPORT IfcAppliedValue : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcAppliedValue : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcAppliedValue bool hasName() const; @@ -8382,7 +8382,7 @@ public: /// HISTORY New Entity in IFC Release 2.0 /// /// IFC2x Edition 4 CHANGE  Attributes Identifier and Name made optional, where rule added to require at least one of them being asserted. Inverse attributes ApprovedObjects, ApprovedResources and HasExternalReferences added. Inverse attribute Properties deleted (more general relationship via inverse ApprovedResources to be used instead). -class IfcParse_EXPORT IfcApproval : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcApproval : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Identifier is defined for this IfcApproval bool hasIdentifier() const; @@ -8467,7 +8467,7 @@ public: /// HISTORY: New entity /// in Release IFC2x Edition /// 2. -class IfcParse_EXPORT IfcBoundaryCondition : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcBoundaryCondition : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcBoundaryCondition bool hasName() const; @@ -8496,7 +8496,7 @@ public: /// IFC 2x4 change: Attributes LinearStiffnessX/Y/Z renamed to TranslationalStiffnessX/Y/Z. /// /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. -class IfcParse_EXPORT IfcBoundaryEdgeCondition : public IfcBoundaryCondition { +class IFC_PARSE_API IfcBoundaryEdgeCondition : public IfcBoundaryCondition { public: /// Whether the optional attribute TranslationalStiffnessByLengthX is defined for this IfcBoundaryEdgeCondition bool hasTranslationalStiffnessByLengthX() const; @@ -8550,7 +8550,7 @@ public: /// IFC 2x4 change: Attributes LinearStiffnessX/Y/Z renamed to TranslationalStiffnessX/Y/Z. /// /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. -class IfcParse_EXPORT IfcBoundaryFaceCondition : public IfcBoundaryCondition { +class IFC_PARSE_API IfcBoundaryFaceCondition : public IfcBoundaryCondition { public: /// Whether the optional attribute TranslationalStiffnessByAreaX is defined for this IfcBoundaryFaceCondition bool hasTranslationalStiffnessByAreaX() const; @@ -8589,7 +8589,7 @@ public: /// IFC 2x4 change: Attributes LinearStiffnessX/Y/Z renamed to TranslationalStiffnessX/Y/Z. /// /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. -class IfcParse_EXPORT IfcBoundaryNodeCondition : public IfcBoundaryCondition { +class IFC_PARSE_API IfcBoundaryNodeCondition : public IfcBoundaryCondition { public: /// Whether the optional attribute TranslationalStiffnessX is defined for this IfcBoundaryNodeCondition bool hasTranslationalStiffnessX() const; @@ -8642,7 +8642,7 @@ public: /// HISTORY: New entity in IFC 2x2. /// /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. -class IfcParse_EXPORT IfcBoundaryNodeConditionWarping : public IfcBoundaryNodeCondition { +class IFC_PARSE_API IfcBoundaryNodeConditionWarping : public IfcBoundaryNodeCondition { public: /// Whether the optional attribute WarpingStiffness is defined for this IfcBoundaryNodeConditionWarping bool hasWarpingStiffness() const; @@ -8675,7 +8675,7 @@ public: /// HISTORY  New entity in IFC Release 1.5. /// /// IFC2x Edition 3 CHANGE  The definition of the subtypes has been enhanced by allowing either geometric representation items (point | curve | surface) or topological representation items with associated geometry (vertex point | edge curve | face  surface). -class IfcParse_EXPORT IfcConnectionGeometry : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcConnectionGeometry : public IfcUtil::IfcBaseEntity { public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } @@ -8705,7 +8705,7 @@ public: /// /// Geometry use definitions /// The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connect. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute. If both point coordinates are not identical within a common parent coordinate system (ultimately within the world coordinate system), the subtype IfcConnectionPointEccentricity shall be used. -class IfcParse_EXPORT IfcConnectionPointGeometry : public IfcConnectionGeometry { +class IFC_PARSE_API IfcConnectionPointGeometry : public IfcConnectionGeometry { public: /// Point at which the connected object is aligned at the relating element, given in the LCS of the relating element. IfcPointOrVertexPoint* PointOnRelatingElement() const; @@ -8735,7 +8735,7 @@ public: /// /// Geometry use definitions /// The IfcSurface (or the IfcFaceSurface with an associated IfcSurface) at the SurfaceOnRelatingElement attribute defines the surface where the basic geometry items of the connected elements connects. The surface geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionSurfaceGeometry. Optionally, the same surface geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the SurfaceOnRelatedElement attribute. -class IfcParse_EXPORT IfcConnectionSurfaceGeometry : public IfcConnectionGeometry { +class IFC_PARSE_API IfcConnectionSurfaceGeometry : public IfcConnectionGeometry { public: /// Surface at which related object is aligned at the relating element, given in the LCS of the relating element. IfcSurfaceOrFaceSurface* SurfaceOnRelatingElement() const; @@ -8763,7 +8763,7 @@ public: /// /// Geometry use definitions /// The IfcSolidModel (or the IfcClosedShell) at the VolumeOnRelatingElement attribute defines the volume where the basic geometry items of the interfering elements overlap. The volume geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the subtypes of the relationship IfcRelConnects that utilizes the IfcConnectionSurfaceGeometry. Optionally, the sameÿvolume geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the VolumeOnRelatedElement attribute. -class IfcParse_EXPORT IfcConnectionVolumeGeometry : public IfcConnectionGeometry { +class IFC_PARSE_API IfcConnectionVolumeGeometry : public IfcConnectionGeometry { public: /// Volume at which related object overlaps with the relating element, given in the LCS of the relating element. IfcSolidOrShell* VolumeOnRelatingElement() const; @@ -8797,7 +8797,7 @@ public: /// A constraint must have a name applied through the IfcConstraint.Name attribute and optionally, a description through IfcConstraint.Description. The grade of the constraint (hard, soft, advisory) must be specified through IfcConstraint.ConstraintGrade or IfcConstraint.UserDefinedGrade whilst the source, creating actor and time at which the constraint is created may be optionally asserted through IfcConstraint.ConstraintSource, IfcConstraint.CreatingActor and IfcConstraint.CreationTime. /// /// A constraint may also have additional external information (such as classification or document information) associated to it by IfcExternalReferenceRelationship, accessible through inverse attribute IfcConstraint.HasExternalReferences -class IfcParse_EXPORT IfcConstraint : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcConstraint : public IfcUtil::IfcBaseEntity { public: /// A name to be used for the constraint (e.g., ChillerCoefficientOfPerformance). std::string Name() const; @@ -8893,7 +8893,7 @@ public: /// and any map or other coordinate reference system. /// /// HISTORY  New entity in IFC2x4. -class IfcParse_EXPORT IfcCoordinateOperation : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcCoordinateOperation : public IfcUtil::IfcBaseEntity { public: /// Source coordinate reference system for the operation. IfcCoordinateReferenceSystemSelect* SourceCRS() const; @@ -8935,7 +8935,7 @@ public: /// Specifications. /// /// HISTORY  New entity in IFC2x4. -class IfcParse_EXPORT IfcCoordinateReferenceSystem : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcCoordinateReferenceSystem : public IfcUtil::IfcBaseEntity { public: /// Name by which the coordinate reference system is identified. /// Note  The name shall be taken from the list recognized by the European Petroleum Survey Group EPSG. @@ -9018,7 +9018,7 @@ public: /// Whole life /// /// In the absence of any well-defined standard, it is recommended that local agreements should be made to define allowable and understandable cost value types within a project or region. -class IfcParse_EXPORT IfcCostValue : public IfcAppliedValue { +class IFC_PARSE_API IfcCostValue : public IfcAppliedValue { public: virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcAppliedValue::getArgumentType(i); } @@ -9039,7 +9039,7 @@ public: /// NOTE: Corresponding ISO 10303 name: derived_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5.1. -class IfcParse_EXPORT IfcDerivedUnit : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcDerivedUnit : public IfcUtil::IfcBaseEntity { public: /// The group of units and their exponents that define the derived unit. IfcTemplatedEntityList< IfcDerivedUnitElement >::ptr Elements() const; @@ -9072,7 +9072,7 @@ public: /// NOTE: Corresponding ISO 10303 name: derived_unit_element, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IfcParse_EXPORT IfcDerivedUnitElement : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcDerivedUnitElement : public IfcUtil::IfcBaseEntity { public: /// The fixed quantity which is used as the mathematical factor. IfcNamedUnit* Unit() const; @@ -9109,7 +9109,7 @@ public: /// for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IfcParse_EXPORT IfcDimensionalExponents : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcDimensionalExponents : public IfcUtil::IfcBaseEntity { public: /// The power of the length base quantity. int LengthExponent() const; @@ -9150,7 +9150,7 @@ public: /// all external information entities. /// /// HISTORY New entity in IFC2x4. -class IfcParse_EXPORT IfcExternalInformation : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcExternalInformation : public IfcUtil::IfcBaseEntity { public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } @@ -9173,7 +9173,7 @@ public: /// IfcExternalReference is an abstract supertype of all external reference entities. /// /// HISTORY New entity in IFC2x. -class IfcParse_EXPORT IfcExternalReference : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcExternalReference : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Location is defined for this IfcExternalReference bool hasLocation() const; @@ -9221,7 +9221,7 @@ public: /// the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x2. -class IfcParse_EXPORT IfcExternallyDefinedHatchStyle : public IfcExternalReference { +class IFC_PARSE_API IfcExternallyDefinedHatchStyle : public IfcExternalReference { public: virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcExternalReference::getArgumentType(i); } @@ -9242,7 +9242,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The spelling has been corrected from IfcExternallyDefinedSufaceStyle with no upward compatibility. -class IfcParse_EXPORT IfcExternallyDefinedSurfaceStyle : public IfcExternalReference { +class IFC_PARSE_API IfcExternallyDefinedSurfaceStyle : public IfcExternalReference { public: virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcExternalReference::getArgumentType(i); } @@ -9263,7 +9263,7 @@ public: /// NOTE  Corresponding ISO 10303 name: externally_defined_text_font. Please refer to ISO/IS 10303-46:1994, p. 137 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IfcParse_EXPORT IfcExternallyDefinedTextFont : public IfcExternalReference { +class IFC_PARSE_API IfcExternallyDefinedTextFont : public IfcExternalReference { public: virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcExternalReference::getArgumentType(i); } @@ -9300,7 +9300,7 @@ public: /// underlying AxisCurve supports this concept. /// /// Figure 242 — Grid axis -class IfcParse_EXPORT IfcGridAxis : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcGridAxis : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute AxisTag is defined for this IfcGridAxis bool hasAxisTag() const; @@ -9332,7 +9332,7 @@ public: /// The IfcIrregularTimeSeriesValue describes a value (or set of values) at a particular time point. /// /// HISTORY: New entity in IFC 2x2. -class IfcParse_EXPORT IfcIrregularTimeSeriesValue : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcIrregularTimeSeriesValue : public IfcUtil::IfcBaseEntity { public: /// The specification of the time point. std::string TimeStamp() const; @@ -9360,7 +9360,7 @@ public: /// Entity in IFC2x. /// /// IFC2x4 CHANGE  Location attribute added, HasLibraryReferences inverse attribute added (previous LibraryReference changed to inverse). -class IfcParse_EXPORT IfcLibraryInformation : public IfcExternalInformation { +class IFC_PARSE_API IfcLibraryInformation : public IfcExternalInformation { public: /// The name which is used to identify the library. std::string Name() const; @@ -9414,7 +9414,7 @@ public: /// HISTORY  New Entity in IFC2.0. /// /// IFC2x4 CHANGE  Description and Language attribute added; ReferencedLibrary attribute added (reversing previous ReferenceIntoLibrary inverse relationship). -class IfcParse_EXPORT IfcLibraryReference : public IfcExternalReference { +class IFC_PARSE_API IfcLibraryReference : public IfcExternalReference { public: /// Whether the optional attribute Description is defined for this IfcLibraryReference bool hasDescription() const; @@ -9463,7 +9463,7 @@ public: /// For each pair of MainPlaneAngle and SecondaryPlaneAngle the LuminousIntensity is provided (the unit is given by the IfcUnitAssignment referring to the LuminousIntensityDistributionUnit, normally cd/klm). /// /// HISTORY: New entity in IFC2x2. -class IfcParse_EXPORT IfcLightDistributionData : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcLightDistributionData : public IfcUtil::IfcBaseEntity { public: /// The main plane angle (A, B or C angles, according to the light distribution curve chosen). double MainPlaneAngle() const; @@ -9491,7 +9491,7 @@ public: /// IfcLightIntensityDistribution defines the the luminous intensity of a light source that changes according to the direction of the ray. It is based on some standardized light distribution curves, which are defined by the LightDistributionCurve attribute. /// /// New entity in IFC2x2. -class IfcParse_EXPORT IfcLightIntensityDistribution : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcLightIntensityDistribution : public IfcUtil::IfcBaseEntity { public: /// Standardized light distribution curve used to define the luminous intensity of the light in all directions. IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum LightDistributionCurve() const; @@ -9522,7 +9522,7 @@ public: /// The scale factor can be used when the length unit for the 3 axes of the map coordinate system are not identical with the length unit established for this project (seeÿIfcProject.UnitsInContext), if omitted, the scale factor 1.0 is assumed. /// /// HISTORY  New entity in IFC2x4. -class IfcParse_EXPORT IfcMapConversion : public IfcCoordinateOperation { +class IFC_PARSE_API IfcMapConversion : public IfcCoordinateOperation { public: /// Specifies the location along the easting of the coordinate system of the target map coordinate reference system. /// NOTE  for right-handed Cartesian coordinate systems this would establish the location along the x axis @@ -9572,7 +9572,7 @@ public: /// HISTORYÿ New entity in IFC2x. /// /// IFC2x4 CHANGEÿ The entity IfcMaterialClassificationRelationship is deprecated since IFC2x4 and shall no longer be used. Use IfcExternalReferenceRelationship instead. -class IfcParse_EXPORT IfcMaterialClassificationRelationship : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMaterialClassificationRelationship : public IfcUtil::IfcBaseEntity { public: /// The material classifications identifying the type of material. IfcEntityList::ptr MaterialClassifications() const; @@ -9616,7 +9616,7 @@ public: /// IfcRelAssociatesMaterial. /// /// HISTORYÿ New entity in IFC2x4 -class IfcParse_EXPORT IfcMaterialDefinition : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMaterialDefinition : public IfcUtil::IfcBaseEntity { public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } @@ -9656,7 +9656,7 @@ public: /// HISTORY  New entity in IFC 1.5 /// /// IFC2x4 CHANGE  The attributes Name, Description, Category, Priority have been added at the end of attribute list. Data type of LayerThickness relaxed to IfcNonNegativeLengthMeasure. -class IfcParse_EXPORT IfcMaterialLayer : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterialLayer : public IfcMaterialDefinition { public: /// Whether the optional attribute Material is defined for this IfcMaterialLayer bool hasMaterial() const; @@ -9745,7 +9745,7 @@ public: /// placed on top of the previous (no gaps or overlaps). /// /// Figure 285 — Material layer set -class IfcParse_EXPORT IfcMaterialLayerSet : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterialLayerSet : public IfcMaterialDefinition { public: /// Identification of the layers from which the material layer set is composed. IfcTemplatedEntityList< IfcMaterialLayer >::ptr MaterialLayers() const; @@ -9817,7 +9817,7 @@ public: /// Figure 289 shows an example of applying the OffsetValues to the material layers of a standard wall. /// /// Figure 289 — Material layer with offsets -class IfcParse_EXPORT IfcMaterialLayerWithOffsets : public IfcMaterialLayer { +class IFC_PARSE_API IfcMaterialLayerWithOffsets : public IfcMaterialLayer { public: /// Orientation of the offset; shall be perpendicular to the parent layer set direction. IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum OffsetDirection() const; @@ -9854,7 +9854,7 @@ public: /// /// IFC2x4 CHANGEÿ The entity IfcMaterialList is deprecated and shall no longer /// be used. Use IfcMaterialConstituentSet instead. -class IfcParse_EXPORT IfcMaterialList : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMaterialList : public IfcUtil::IfcBaseEntity { public: /// Materials used in a composition of substances. IfcTemplatedEntityList< IfcMaterial >::ptr Materials() const; @@ -9876,7 +9876,7 @@ public: /// NOTE ÿ In case of multiple MaterialProfiles, the relative positioning of individual profiles in IfcMaterialProfileSet are defined using the concept of IfcCompositeProfileDef in IfcProfileResource schema; otherwise, only one MaterialProfile is given and defined by an individual IfcProfileDef (subtype). /// /// HISTORYÿNew Entity in IFC2x4 -class IfcParse_EXPORT IfcMaterialProfile : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterialProfile : public IfcMaterialDefinition { public: /// Whether the optional attribute Name is defined for this IfcMaterialProfile bool hasName() const; @@ -9924,7 +9924,7 @@ public: /// NOTE ÿ In case of multiple MaterialProfiles, the relative positioning of individual profiles in IfcMaterialProfileSet are defined using the concept of IfcCompositeProfileDef in IfcProfileResource schema; otherwise, only one MaterialProfile is given and defined by an individual IfcProfileDef (subtype). /// /// HISTORYÿNew Entity in IFC2x4. -class IfcParse_EXPORT IfcMaterialProfileSet : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterialProfileSet : public IfcMaterialDefinition { public: /// Whether the optional attribute Name is defined for this IfcMaterialProfileSet bool hasName() const; @@ -9964,7 +9964,7 @@ public: /// Relative positions of IfcMaterialProfileWithOffsets in the longitudinal direction of an element can be defined giving offsets at the start and end. This shall not be used for relative positions of individual profiles in the plane of profile definition, which is given in composite profile definition itself. Also, care should be taken especially when used with IfcMaterialProfileSetUsageTapering for correct start and end offset assignement. /// /// HISTORYÿ New Entity in IFC2x4. -class IfcParse_EXPORT IfcMaterialProfileWithOffsets : public IfcMaterialProfile { +class IFC_PARSE_API IfcMaterialProfileWithOffsets : public IfcMaterialProfile { public: /// The numerical value of profile offset, in the direction of the axis direction - always AXIS1 i.e. the axis along the extrusion path. The OffsetValues[1] identifies the offset from the lower position along the axis direction (normally the start of the standard extrusion), the OffsetValues[2] identifies the offset from the upper position along the axis direction (normally the end of the standard extrusion), std::vector< double > /*[1:2]*/ OffsetValues() const; @@ -10012,7 +10012,7 @@ public: /// IfcMaterialUsageDefinition to a subtype of /// IfcElementType, it shall only be assigned to an element /// occurrence. -class IfcParse_EXPORT IfcMaterialUsageDefinition : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMaterialUsageDefinition : public IfcUtil::IfcBaseEntity { public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } @@ -10037,7 +10037,7 @@ public: /// NOTE Corresponding ISO 10303 name: measure_with_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IfcParse_EXPORT IfcMeasureWithUnit : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMeasureWithUnit : public IfcUtil::IfcBaseEntity { public: /// The value of the physical quantity when expressed in the specified units. IfcValue* ValueComponent() const; @@ -10109,7 +10109,7 @@ public: /// HARD /// /// This constraint (instantiated as IfcMetric) uses a Date/Time value in IfcMetric.DataValue through IfcMetricValueSelect. An appropriate benchmark is applied according to the requirement of the constraint (as indicated) by IfcMetric.Benchmark. The grade of the constraint (hard, soft, advisory) must be specified through IfcConstraint.ConstraintGrade whilst the time at which the constraint is created may be optionally asserted through IfcConstraint.CreationTime. -class IfcParse_EXPORT IfcMetric : public IfcConstraint { +class IFC_PARSE_API IfcMetric : public IfcConstraint { public: /// Enumeration that identifies the type of benchmark data. IfcBenchmarkEnum::IfcBenchmarkEnum Benchmark() const; @@ -10145,7 +10145,7 @@ public: /// HISTORY: New entity in IFC Release 2x. /// /// IFC2x4 CHANGE: Type of the attribute Currency changed. -class IfcParse_EXPORT IfcMonetaryUnit : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcMonetaryUnit : public IfcUtil::IfcBaseEntity { public: /// Code or name of the currency. Permissible values are the three-letter alphabetic currency codes as per ISO 4217, for example CNY, EUR, GBP, JPY, USD. std::string Currency() const; @@ -10167,7 +10167,7 @@ public: /// NOTE Corresponding ISO 10303 name: named_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New type in IFC Release 1.5.1. -class IfcParse_EXPORT IfcNamedUnit : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcNamedUnit : public IfcUtil::IfcBaseEntity { public: /// The dimensional exponents of the SI base units by which the named unit is defined. IfcDimensionalExponents* Dimensions() const; @@ -10198,7 +10198,7 @@ public: /// In any case the object placement has to unambiguously define the object coordinate system as either two-dimensional axis placement (IfcAxis2Placement2D) or three-dimensional axis placement (IfcAxis2Placement3D). The axis placement may have to be calculated. /// /// HISTORY New entity in IFC Release 2x. -class IfcParse_EXPORT IfcObjectPlacement : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcObjectPlacement : public IfcUtil::IfcBaseEntity { public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } @@ -10223,7 +10223,7 @@ public: /// IfcObjective is a subtype of IfcConstraint and may be associated with any subtype of IfcRoot through the IfcRelAssociatesConstraint relationship in the IfcControlExtension schema, or may be associated with IfcProperty by IfcPropertyConstraintRelationship. /// /// The aim of IfcObjective is to specify the purpose for which the constraint is applied and to capture the values of the constraint. These may be both the benchmark values that are intended to indicate the constraint extent and the resulting values in use that enable performance comparisons to be applied. -class IfcParse_EXPORT IfcObjective : public IfcConstraint { +class IFC_PARSE_API IfcObjective : public IfcConstraint { public: /// Whether the optional attribute BenchmarkValues is defined for this IfcObjective bool hasBenchmarkValues() const; @@ -10262,7 +10262,7 @@ public: /// /// HISTORY New entity in IFC Release 1.5.1. /// IFC 2x4 change: attribute Id renamed to Identification. -class IfcParse_EXPORT IfcOrganization : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcOrganization : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Identification is defined for this IfcOrganization bool hasIdentification() const; @@ -10313,7 +10313,7 @@ public: /// /// If LastModifiedDate is defined but ChangeAction is not asserted, then the state of ChangeAction is assumed to be UNDEFINED. /// If both LastModifiedDate and ChangeAction are asserted, then the state of ChangeAction applies to the value asserted in LastModifiedDate. -class IfcParse_EXPORT IfcOwnerHistory : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcOwnerHistory : public IfcUtil::IfcBaseEntity { public: /// Direct reference to the end user who currently "owns" this object. Note that IFC includes the concept of ownership transfer from one user to another and therefore distinguishes between the Owning User and Creating User. IfcPersonAndOrganization* OwningUser() const; @@ -10370,7 +10370,7 @@ public: /// /// HISTORY New entity in IFC Release 1.5.1. /// IFC 2x4 change: attribute Id renamed to Identification. WHERE rule relaxed to allow omission of names if Identification is provided. -class IfcParse_EXPORT IfcPerson : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPerson : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Identification is defined for this IfcPerson bool hasIdentification() const; @@ -10436,7 +10436,7 @@ public: /// NOTE Corresponds to the following entity in ISO-10303-41: person_and_organization. /// /// HISTORY New entity in IFC Release 1.5.1 -class IfcParse_EXPORT IfcPersonAndOrganization : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPersonAndOrganization : public IfcUtil::IfcBaseEntity { public: /// The person who is related to the organization. IfcPerson* ThePerson() const; @@ -10466,7 +10466,7 @@ public: /// The Name attribute defines the actual usage or kind of measure. The interpretation of the name label has to be established within the actual exchange context. In addition an informative text may be associated to each quantity by the Description attribute. /// /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IfcParse_EXPORT IfcPhysicalQuantity : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPhysicalQuantity : public IfcUtil::IfcBaseEntity { public: /// Name of the element quantity or measure. The name attribute has to be made recognizable by further agreements. std::string Name() const; @@ -10499,7 +10499,7 @@ public: /// HISTORY New entity in IFC2x2 Addendum 1. /// /// IFC2x2 ADDENDUM 1 CHANGE  The abstract entity IfcPhysicalSimpleQuantity has been added. Upward compatibility for file based exchange is guaranteed. -class IfcParse_EXPORT IfcPhysicalSimpleQuantity : public IfcPhysicalQuantity { +class IFC_PARSE_API IfcPhysicalSimpleQuantity : public IfcPhysicalQuantity { public: /// Whether the optional attribute Unit is defined for this IfcPhysicalSimpleQuantity bool hasUnit() const; @@ -10521,7 +10521,7 @@ public: /// Definition: The address for delivery of paper based mail. /// /// HISTORY New entity in IFC Release 2x. -class IfcParse_EXPORT IfcPostalAddress : public IfcAddress { +class IFC_PARSE_API IfcPostalAddress : public IfcAddress { public: /// Whether the optional attribute InternalLocation is defined for this IfcPostalAddress bool hasInternalLocation() const; @@ -10577,7 +10577,7 @@ public: typedef IfcTemplatedEntityList< IfcPostalAddress > list; }; -class IfcParse_EXPORT IfcPresentationItem : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPresentationItem : public IfcUtil::IfcBaseEntity { public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } @@ -10606,7 +10606,7 @@ public: /// Figure 305 illustrates assignment of items by shape representation or representation item. The set of AssignedItems can either include a whole shape representation, or individual geometric representation items. If both, the IfcShapeRepresentation has a layer assignment, and an individual geometric representation item in the set of IfcShapeRepresentation.Items, then the layer assignment of the IfcGeometricRepresentationItem overides the layer assignment of the IfcShapeRepresentation. /// /// Figure 305 — Presentation layer assignment -class IfcParse_EXPORT IfcPresentationLayerAssignment : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPresentationLayerAssignment : public IfcUtil::IfcBaseEntity { public: /// Name of the layer. std::string Name() const; @@ -10649,7 +10649,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The attributes have been modified without upward compatibility. -class IfcParse_EXPORT IfcPresentationLayerWithStyle : public IfcPresentationLayerAssignment { +class IFC_PARSE_API IfcPresentationLayerWithStyle : public IfcPresentationLayerAssignment { public: /// A logical setting, TRUE indicates that the layer is set to 'On', FALSE that the layer is set to 'Off', UNKNOWN that such information is not available. bool LayerOn() const; @@ -10684,7 +10684,7 @@ public: /// Each subtype of  IfcPresentationStyle can be assigned to IfcGeometricRepresentationItem's via the IfcPresentationStyleAssignment through an intermediate IfcStyledItem or one of its subtypes. /// /// HISTORY  New entity in IFC2x3. -class IfcParse_EXPORT IfcPresentationStyle : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPresentationStyle : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcPresentationStyle bool hasName() const; @@ -10708,7 +10708,7 @@ public: /// NOTE Corresponding ISO 10303 name: presentation_style_assignment. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in Release IFC2x2. -class IfcParse_EXPORT IfcPresentationStyleAssignment : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPresentationStyleAssignment : public IfcUtil::IfcBaseEntity { public: /// A set of presentation styles that are assigned to styled items. IfcEntityList::ptr Styles() const; @@ -10742,7 +10742,7 @@ public: /// IFC2x3 NOTE ÿUsers should not instantiate the entity from IFC2x Edition 3 onwards. /// /// IFC2x4 CHANGE  Entity made abstract. -class IfcParse_EXPORT IfcProductRepresentation : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcProductRepresentation : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcProductRepresentation bool hasName() const; @@ -10939,7 +10939,7 @@ public: /// possible to directly instantiate IfcProfileDef and further specify /// the profile only by external reference or by profile properties. The latter /// are tracked by the inverse attribute HasProperties. -class IfcParse_EXPORT IfcProfileDef : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcProfileDef : public IfcUtil::IfcBaseEntity { public: /// Defines the type of geometry into which this profile definition shall be resolved, either a curve or a surface area. In case of curve the profile should be referenced by a swept surface, in case of area the profile should be referenced by a swept area solid. IfcProfileTypeEnum::IfcProfileTypeEnum ProfileType() const; @@ -10986,7 +10986,7 @@ public: /// length unit used by the map. /// /// HISTORY  New entity in IFC2x4. -class IfcParse_EXPORT IfcProjectedCRS : public IfcCoordinateReferenceSystem { +class IFC_PARSE_API IfcProjectedCRS : public IfcCoordinateReferenceSystem { public: /// Whether the optional attribute MapProjection is defined for this IfcProjectedCRS bool hasMapProjection() const; @@ -11023,7 +11023,7 @@ public: typedef IfcTemplatedEntityList< IfcProjectedCRS > list; }; -class IfcParse_EXPORT IfcPropertyAbstraction : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcPropertyAbstraction : public IfcUtil::IfcBaseEntity { public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } @@ -11084,7 +11084,7 @@ public: ///   /// /// HISTORY  New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. Entity has been renamed from IfcEnumeration in IFC Release 2x. -class IfcParse_EXPORT IfcPropertyEnumeration : public IfcPropertyAbstraction { +class IFC_PARSE_API IfcPropertyEnumeration : public IfcPropertyAbstraction { public: /// Name of this enumeration. std::string Name() const; @@ -11114,7 +11114,7 @@ public: /// EXAMPLE  An opening may have an opening area used to deduct it from the wall surface area. The actual size of the area depends on the method of measurement used. /// /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IfcParse_EXPORT IfcQuantityArea : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityArea : public IfcPhysicalSimpleQuantity { public: /// Area measure value of this quantity. double AreaValue() const; @@ -11143,7 +11143,7 @@ public: /// EXAMPLE  An radiator may be measured according to its number of coils. The actual counting method depends on the method of measurement used. /// /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IfcParse_EXPORT IfcQuantityCount : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityCount : public IfcPhysicalSimpleQuantity { public: /// Count measure value of this quantity. double CountValue() const; @@ -11172,7 +11172,7 @@ public: /// EXAMPLE  A rafter within a roof construction may be measured according to its length (taking a common cross section into account). The actual size of the length depends on the method of measurement used. /// /// HISTORY  New entity in IFC Release 2.x. It replaces the calcXxx attributes used in previous IFC Releases. -class IfcParse_EXPORT IfcQuantityLength : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityLength : public IfcPhysicalSimpleQuantity { public: /// Length measure value of this quantity. double LengthValue() const; @@ -11201,7 +11201,7 @@ public: /// EXAMPLE  The amount of time needed to pour concrete for a wall is given as a time quantity for the labor part of the recipe information. /// /// HISTORY  New entity in IFC2x2. -class IfcParse_EXPORT IfcQuantityTime : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityTime : public IfcPhysicalSimpleQuantity { public: /// Time measure value of this quantity. double TimeValue() const; @@ -11230,7 +11230,7 @@ public: /// EXAMPLE  A thick brick wall may be measured according to its volume. The actual size of the volume depends on the method of measurement used. /// /// HISTORY New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IfcParse_EXPORT IfcQuantityVolume : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityVolume : public IfcPhysicalSimpleQuantity { public: /// Volume measure value of this quantity. double VolumeValue() const; @@ -11259,7 +11259,7 @@ public: /// EXAMPLE  The amount of reinforcement used within a building element may be measured according to its weight. The actual size of the weight depends on the method of measurement used. /// /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. -class IfcParse_EXPORT IfcQuantityWeight : public IfcPhysicalSimpleQuantity { +class IFC_PARSE_API IfcQuantityWeight : public IfcPhysicalSimpleQuantity { public: /// Mass measure value of this quantity. double WeightValue() const; @@ -11289,7 +11289,7 @@ public: /// /// Use definitions /// IfcRecurrencePattern supports various recurrence patterns that are differentiated by a type definition (IfcRecurrencePattern.RecurrenceType), which is required to provide the meaning of the given values. It can be further constrained by applicable times through specified IfcTimePeriod instances, thus enabling time periods such as between 7:00 and 12:00 and between 13:00 and 17:00 for each of the applicable days, weeks or months. -class IfcParse_EXPORT IfcRecurrencePattern : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRecurrencePattern : public IfcUtil::IfcBaseEntity { public: /// Defines the recurrence type that gives meaning to the used /// attributes and decides about possible attribute @@ -11355,7 +11355,7 @@ public: typedef IfcTemplatedEntityList< IfcRecurrencePattern > list; }; -class IfcParse_EXPORT IfcReference : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcReference : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute TypeIdentifier is defined for this IfcReference bool hasTypeIdentifier() const; @@ -11435,7 +11435,7 @@ public: /// IFC2x4 CHANGE  Entity /// IfcRepresentation has been changed into an ABSTRACT /// supertype. -class IfcParse_EXPORT IfcRepresentation : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRepresentation : public IfcUtil::IfcBaseEntity { public: /// Definition of the representation context for which the different subtypes of representation are valid. IfcRepresentationContext* ContextOfItems() const; @@ -11479,7 +11479,7 @@ public: /// /// IFC2x4 CHANGE Entity made abstract, had been deprecated from instantiation since /// IFC2x2. -class IfcParse_EXPORT IfcRepresentationContext : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRepresentationContext : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute ContextIdentifier is defined for this IfcRepresentationContext bool hasContextIdentifier() const; @@ -11536,7 +11536,7 @@ public: /// HISTORY  New entity in IFC Release 2x. /// /// IFC2x3 CHANGE  The inverse attributes StyledByItem and LayerAssignments have been added. Upward compatibility for file based exchange is guaranteed. -class IfcParse_EXPORT IfcRepresentationItem : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRepresentationItem : public IfcUtil::IfcBaseEntity { public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } @@ -11563,7 +11563,7 @@ public: /// NOTE  The definition of a mapping which is used to specify a new representation item comprises a representation map and a mapped item entity. Without both entities, the mapping is not fully defined. Two entities are specified to allow the same source representation to be mapped into multiple new representations. /// /// HISTORY  New entity in IFC Release 2x. -class IfcParse_EXPORT IfcRepresentationMap : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRepresentationMap : public IfcUtil::IfcBaseEntity { public: /// An axis2 placement that defines the position about which the mapped /// representation is mapped. @@ -11589,7 +11589,7 @@ public: /// IfcResourceLevelRelationship is an abstract base class for relationships between resource-level entities. /// /// HISTORY New Entity in IFC 2x4 -class IfcParse_EXPORT IfcResourceLevelRelationship : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcResourceLevelRelationship : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcResourceLevelRelationship bool hasName() const; @@ -11622,7 +11622,7 @@ public: /// HISTORY New entity in IFC Release 1.0 /// /// IFC2x4 CHANGE The attribute OwnerHistory has been made OPTIONAL. -class IfcParse_EXPORT IfcRoot : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcRoot : public IfcUtil::IfcBaseEntity { public: /// Assignment of a globally unique identifier within the entire software world. std::string GlobalId() const; @@ -11665,7 +11665,7 @@ public: /// NOTE Corresponding ISO 10303 name: si_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IfcParse_EXPORT IfcSIUnit : public IfcNamedUnit { +class IFC_PARSE_API IfcSIUnit : public IfcNamedUnit { public: /// Whether the optional attribute Prefix is defined for this IfcSIUnit bool hasPrefix() const; @@ -11692,7 +11692,7 @@ public: /// IfcSchedulingTime is the abstract supertype of entities that capture time-related information of processes. /// /// HISTORY: New entity in IFC2x4. -class IfcParse_EXPORT IfcSchedulingTime : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcSchedulingTime : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcSchedulingTime bool hasName() const; @@ -11759,7 +11759,7 @@ public: /// IfcRepresentationMap's that are used by an /// IfcTypeProduct through the /// RepresentationMaps attribute. -class IfcParse_EXPORT IfcShapeAspect : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcShapeAspect : public IfcUtil::IfcBaseEntity { public: /// List of shape representations. Each member defines a valid representation of a particular type within a particular representation context as being an aspect (or part) of a product definition. /// IFC2x Edition 3 CHANGE  The data type has been changed from IfcShapeRepresentation to IfcShapeModel with upward compatibility @@ -11816,7 +11816,7 @@ public: /// shape (via IfcShapeAspect). /// /// HISTORY  New entity in IFC2x3. -class IfcParse_EXPORT IfcShapeModel : public IfcRepresentation { +class IFC_PARSE_API IfcShapeModel : public IfcRepresentation { public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcRepresentation::getArgumentType(i); } @@ -11966,7 +11966,7 @@ public: /// HISTORY  New entity in IFC Release 1.5. /// /// IFC2x4 CHANGE  The RepresentationType's 'Curve3D', 'Surface2D', 'Surface3D', 'AdvancedBrep', 'LightSource', and the RepresentationIdentifier 'Lighting' have been added. -class IfcParse_EXPORT IfcShapeRepresentation : public IfcShapeModel { +class IFC_PARSE_API IfcShapeRepresentation : public IfcShapeModel { public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcShapeModel::getArgumentType(i); } @@ -11983,7 +11983,7 @@ public: /// Definition from IAI: Describe more rarely needed connection properties. /// /// HISTORY: New entity in IFC 2x2. -class IfcParse_EXPORT IfcStructuralConnectionCondition : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcStructuralConnectionCondition : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcStructuralConnectionCondition bool hasName() const; @@ -12005,7 +12005,7 @@ public: /// Definition from IAI: The abstract entity IfcStructuralLoadOrResult is the supertype of all loads (actions or reactions) or of certain requirements resulting from structural analysis, or certain provisions which influence structural analysis. /// /// HISTORY: New entity in IFC 2x2. -class IfcParse_EXPORT IfcStructuralLoad : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcStructuralLoad : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcStructuralLoad bool hasName() const; @@ -12035,7 +12035,7 @@ public: /// If the loads or results comprise a surface activity, 2-dimensional locations shall be given, measured in the surface activity's local x and y directions. The location shall not exceed the bounds of the surface activity. /// /// NOTE  There are no ordering requirements in the 2-dimensional case, but the 1-dimensional case shall be spatially ordered for simplicity. -class IfcParse_EXPORT IfcStructuralLoadConfiguration : public IfcStructuralLoad { +class IFC_PARSE_API IfcStructuralLoadConfiguration : public IfcStructuralLoad { public: /// List of load or result values. IfcTemplatedEntityList< IfcStructuralLoadOrResult >::ptr Values() const; @@ -12060,7 +12060,7 @@ public: /// Definition from IAI: Abstract superclass of simple load or result classes. /// /// HISTORY: New abstract superclass in IFC 2x4, upwards compatibility of all subtypes is preserved. -class IfcParse_EXPORT IfcStructuralLoadOrResult : public IfcStructuralLoad { +class IFC_PARSE_API IfcStructuralLoadOrResult : public IfcStructuralLoad { public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcStructuralLoad::getArgumentType(i); } @@ -12077,7 +12077,7 @@ public: /// Definition from IAI: The abstract entity IfcStructuralLoadStatic is the supertype of all static loads (actions or reactions) which can be defined. Within scope are single i.e. concentrated forces and moments, linear i.e. one-dimensionally distributed forces and moments, planar i.e. two-dimensionally distributed forces, furthermore displacements and temperature loads. /// /// HISTORY: New entity in IFC 2x2. -class IfcParse_EXPORT IfcStructuralLoadStatic : public IfcStructuralLoadOrResult { +class IFC_PARSE_API IfcStructuralLoadStatic : public IfcStructuralLoadOrResult { public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcStructuralLoadOrResult::getArgumentType(i); } @@ -12096,7 +12096,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// Figure 332 — Structural load temperature -class IfcParse_EXPORT IfcStructuralLoadTemperature : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadTemperature : public IfcStructuralLoadStatic { public: /// Whether the optional attribute DeltaTConstant is defined for this IfcStructuralLoadTemperature bool hasDeltaTConstant() const; @@ -12136,7 +12136,7 @@ public: /// IfcStyleModel can be a style representation (presentation style) of a material (via IfcMaterialDefinitionRepresentation), potentially differentiated for different representation contexts (for example, different material hatching depending on the scale of the target representation context). /// /// HISTORY  New entity in IFC2x3. -class IfcParse_EXPORT IfcStyleModel : public IfcRepresentation { +class IFC_PARSE_API IfcStyleModel : public IfcRepresentation { public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcRepresentation::getArgumentType(i); } @@ -12178,7 +12178,7 @@ public: /// NOTE  The new IfcStyleAssignmentSelect allows the direct assignment styles, such as IfcCurveStyle, IfcSurfaceStyle without using the intermediate IfcPresentationStyleAssignment /// /// Figure 293 — Styled item -class IfcParse_EXPORT IfcStyledItem : public IfcRepresentationItem { +class IFC_PARSE_API IfcStyledItem : public IfcRepresentationItem { public: /// Whether the optional attribute Item is defined for this IfcStyledItem bool hasItem() const; @@ -12219,7 +12219,7 @@ public: /// A styled representation has to include one or several styled items with the associated style information (curve, symbol, text, fill area, or surface styles). It shall not contain the geometric representation items that are styled. /// /// HISTORY  New entity in IFC2x2. -class IfcParse_EXPORT IfcStyledRepresentation : public IfcStyleModel { +class IFC_PARSE_API IfcStyledRepresentation : public IfcStyleModel { public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcStyleModel::getArgumentType(i); } @@ -12238,7 +12238,7 @@ public: /// NOTE  Member design parameters like concrete cover, effective depth, orientation of meshes or rebars (two, optionally three directions) etc. are not specified in IfcStructuralLoadResource schema. They shall be specified at the level of structural members. /// /// HISTORY: New entity in IFC 2x4. -class IfcParse_EXPORT IfcSurfaceReinforcementArea : public IfcStructuralLoadOrResult { +class IFC_PARSE_API IfcSurfaceReinforcementArea : public IfcStructuralLoadOrResult { public: /// Whether the optional attribute SurfaceReinforcement1 is defined for this IfcSurfaceReinforcementArea bool hasSurfaceReinforcement1() const; @@ -12274,7 +12274,7 @@ public: /// NOTE Corresponding ISO 10303 entity: surface_style_usage and surface_side_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. The surface style definition in regard to support of rendering has been greatly expanded beyond the scope of ISO/IS 10303-46. /// /// HISTORY New Entity in IFC 2.x. -class IfcParse_EXPORT IfcSurfaceStyle : public IfcPresentationStyle { +class IFC_PARSE_API IfcSurfaceStyle : public IfcPresentationStyle { public: /// An indication of which side of the surface to apply the style. IfcSurfaceSide::IfcSurfaceSide Side() const; @@ -12305,7 +12305,7 @@ public: /// EXAMPLE  A green glass transmits only green light, so its transmission factor is 0.0 for red, between 0.0 and 1.0 for green and 0.0 for blue. A green surface reflects only green light, so the reflectance factor is 0.0 for red, between 0.0 and 1.0 for green and 0.0 for blue. /// /// HISTORY  New entity in IFC 2x2. -class IfcParse_EXPORT IfcSurfaceStyleLighting : public IfcPresentationItem { +class IFC_PARSE_API IfcSurfaceStyleLighting : public IfcPresentationItem { public: /// The degree of diffusion of the transmitted light. In the case of completely transparent materials there is no diffusion. The greater the diffusing power, the smaller the direct component of the transmitted light, up to the point where only diffuse light is produced.A value of 1 means totally diffuse for that colour part of the light. /// The factor can be measured physically and has three ratios for the red, green and blue part of the light. @@ -12340,7 +12340,7 @@ public: /// NOTE: If such refraction properties are used, the IfcSurfaceStyle should include within its set of Styles (depending on whether rendering or lighting is used) an instance of IfcSurfaceStyleLighting and IfcSurfaceStyleRefraction, or an instance of IfcSurfaceStyleRendering and IfcSurfaceStyleRefraction. /// /// HISTORY: New entity in IFC 2x2. -class IfcParse_EXPORT IfcSurfaceStyleRefraction : public IfcPresentationItem { +class IFC_PARSE_API IfcSurfaceStyleRefraction : public IfcPresentationItem { public: /// Whether the optional attribute RefractionIndex is defined for this IfcSurfaceStyleRefraction bool hasRefractionIndex() const; @@ -12371,7 +12371,7 @@ public: /// NOTE Corresponding ISO 10303 entity: surface_style_rendering. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. No rendering method is defined for each surface style (such as constant, colour, dot or normal shading), therefore the attribute rendering_method has been omitted. /// /// HISTORY: New entity in IFC 2x. -class IfcParse_EXPORT IfcSurfaceStyleShading : public IfcPresentationItem { +class IFC_PARSE_API IfcSurfaceStyleShading : public IfcPresentationItem { public: /// The colour used to render the surface. The surface colour for visualisation is defined by specifying the intensity of red, green and blue. IfcColourRgb* SurfaceColour() const; @@ -12410,7 +12410,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  inverse attribute HasTextureCoordinates deleted. -class IfcParse_EXPORT IfcSurfaceStyleWithTextures : public IfcPresentationItem { +class IFC_PARSE_API IfcSurfaceStyleWithTextures : public IfcPresentationItem { public: /// The textures applied to the surface. In case of more than one surface texture is included, the IfcSurfaceStyleWithTexture defines a multi texture. IfcTemplatedEntityList< IfcSurfaceTexture >::ptr Textures() const; @@ -12519,7 +12519,7 @@ public: /// HISTORY  New entity in IFC 2x2. /// /// IFC2x4 CHANGE  Attribute TextureType replaces by Mode, attributes Parameter and MapsTo aded, new inverse attribute UsedInStyle. -class IfcParse_EXPORT IfcSurfaceTexture : public IfcPresentationItem { +class IFC_PARSE_API IfcSurfaceTexture : public IfcPresentationItem { public: /// The RepeatS field specifies how the texture wraps in the S direction. If RepeatS is TRUE (the default), the texture map is repeated outside the [0.0, 1.0] texture coordinate range in the S direction so that it fills the shape. If RepeatS is FALSE, the texture coordinates are clamped in the S direction to lie within the [0.0, 1.0] range. bool RepeatS() const; @@ -12582,7 +12582,7 @@ public: /// HISTORY  New entity in IFC R1.5. /// /// IFC2x4 CHANGE  Columns attribute added. -class IfcParse_EXPORT IfcTable : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTable : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcTable bool hasName() const; @@ -12616,7 +12616,7 @@ public: /// The use of IfcTableColumn supercedes the IsHeading flag associated with IfcTableRow. /// /// HISTORY  New entity in IFC2x4. -class IfcParse_EXPORT IfcTableColumn : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTableColumn : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Identifier is defined for this IfcTableColumn bool hasIdentifier() const; @@ -12667,7 +12667,7 @@ public: /// Figure 338 — Table row use alternative /// /// HISTORY  New entity in IFC R1.5. -class IfcParse_EXPORT IfcTableRow : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTableRow : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute RowCells is defined for this IfcTableRow bool hasRowCells() const; @@ -12699,7 +12699,7 @@ public: /// All given values should be provided by the application; the IFC schema does not deal with dependencies between task time values. There is also no consistency check through where rules that guarantee a meaningful population of time values. Thus, an application is responsible to provide reasonable values and, if an application receives task times, has to make consistency checks by their own. /// /// IfcTaskTime furthermore provides a generic mechanism to differentiate between user given time values and time values derived from user given time values and other constraints such as work calendars and assigned resources. -class IfcParse_EXPORT IfcTaskTime : public IfcSchedulingTime { +class IFC_PARSE_API IfcTaskTime : public IfcSchedulingTime { public: /// Whether the optional attribute DurationType is defined for this IfcTaskTime bool hasDurationType() const; @@ -12855,7 +12855,7 @@ public: /// IfcTaskTimeRecurring is a recurring instance of IfcTaskTime for handling regularly scheduled or repetitive tasks. /// /// HISTORY: New entity in IFC2x4. -class IfcParse_EXPORT IfcTaskTimeRecurring : public IfcTaskTime { +class IFC_PARSE_API IfcTaskTimeRecurring : public IfcTaskTime { public: IfcRecurrencePattern* Recurrence() const; void setRecurrence(IfcRecurrencePattern* v); @@ -12877,7 +12877,7 @@ public: /// /// IFC 2x4 change: Added attribute MessagingIDs. /// Type of attribute WWWHomePageURL compatibly changed from IfcLabel to IfcURIReference. -class IfcParse_EXPORT IfcTelecomAddress : public IfcAddress { +class IFC_PARSE_API IfcTelecomAddress : public IfcAddress { public: /// Whether the optional attribute TelephoneNumbers is defined for this IfcTelecomAddress bool hasTelephoneNumbers() const; @@ -12952,7 +12952,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcTextStyle has been changed by adding TextFontStyle and different data types for TextStyle and IfcCharacterStyleSelect. -class IfcParse_EXPORT IfcTextStyle : public IfcPresentationStyle { +class IFC_PARSE_API IfcTextStyle : public IfcPresentationStyle { public: /// Whether the optional attribute TextCharacterAppearance is defined for this IfcTextStyle bool hasTextCharacterAppearance() const; @@ -13006,7 +13006,7 @@ public: /// HISTORY  New entity in IFC2x3. /// /// IFC2x3 CHANGE  The IfcTextStyleForDefinedFont has been added and replaces IfcColour at the IfcCharacterStyleSelect. -class IfcParse_EXPORT IfcTextStyleForDefinedFont : public IfcPresentationItem { +class IFC_PARSE_API IfcTextStyleForDefinedFont : public IfcPresentationItem { public: /// This property describes the text color of an element (often referred to as the foreground color). IfcColour* Colour() const; @@ -13035,7 +13035,7 @@ public: /// NOTE  Corresponding CSS1 definitions are Text properties (word-spacing, letter-spacing, text-decoration, vertical-align, text-transform, text-align, text-indent, line-height). /// /// HISTORY  New entity in IFC2x3. -class IfcParse_EXPORT IfcTextStyleTextModel : public IfcPresentationItem { +class IFC_PARSE_API IfcTextStyleTextModel : public IfcPresentationItem { public: /// Whether the optional attribute TextIndent is defined for this IfcTextStyleTextModel bool hasTextIndent() const; @@ -13102,7 +13102,7 @@ public: /// IFC2x3 CHANGE  The attribute Texture is deleted. /// /// IFC2x4 CHANGE  The inverse attribute AnnotatedSurface is deleted, and the inverse AppliesTextures is added. -class IfcParse_EXPORT IfcTextureCoordinate : public IfcPresentationItem { +class IFC_PARSE_API IfcTextureCoordinate : public IfcPresentationItem { public: IfcTemplatedEntityList< IfcSurfaceTexture >::ptr Maps() const; void setMaps(IfcTemplatedEntityList< IfcSurfaceTexture >::ptr v); @@ -13144,7 +13144,7 @@ public: /// HISTORY New entity in IFC2x2. /// /// IFC2x2 Addendum 2 CHANGE  The attribute Texturehas been deleted. -class IfcParse_EXPORT IfcTextureCoordinateGenerator : public IfcTextureCoordinate { +class IFC_PARSE_API IfcTextureCoordinateGenerator : public IfcTextureCoordinate { public: /// The Mode attribute describes the algorithm used to compute texture coordinates. /// @@ -13221,7 +13221,7 @@ public: /// Informal propositions: /// /// The FaceBound referenced in AppliedTo shall be used by the vertex based geometry, to which this texture map is assigned to by through the IfcStyledItem. -class IfcParse_EXPORT IfcTextureMap : public IfcTextureCoordinate { +class IFC_PARSE_API IfcTextureMap : public IfcTextureCoordinate { public: /// List of texture coordinate vertices that are applied to the corresponding points of the polyloop defining a face bound. /// @@ -13269,7 +13269,7 @@ public: /// Texture coordinates may be transformed (scaled, rotated, translated) by supplying a TextureTransform as a component of the texture's definition. /// /// HISTORY: New entity in IFC 2x2. -class IfcParse_EXPORT IfcTextureVertex : public IfcPresentationItem { +class IFC_PARSE_API IfcTextureVertex : public IfcPresentationItem { public: /// The first coordinate[1] is the S, the second coordinate[2] is the T parameter value. std::vector< double > /*[2:2]*/ Coordinates() const; @@ -13287,7 +13287,7 @@ public: typedef IfcTemplatedEntityList< IfcTextureVertex > list; }; -class IfcParse_EXPORT IfcTextureVertexList : public IfcPresentationItem { +class IFC_PARSE_API IfcTextureVertexList : public IfcPresentationItem { public: std::vector< std::vector< double > > TexCoordsList() const; void setTexCoordsList(std::vector< std::vector< double > > v); @@ -13309,7 +13309,7 @@ public: /// /// Use definitions /// A time period is defined by a start and an end time, which is defined by IfcTime. The given time period should be within reasonable values (for example, the start time must be before the end time). It is furthermore expected that both time definitions use the same time zone and, if given, the same daylight saving offset. -class IfcParse_EXPORT IfcTimePeriod : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTimePeriod : public IfcUtil::IfcBaseEntity { public: /// Start time of the time period. std::string StartTime() const; @@ -13334,7 +13334,7 @@ public: /// The modeling of buildings and their performance involves data that are generated and recorded over a period of time. Such data cover a large spectrum, from weather data to schedules of all kinds to status measurements to reporting to everything else that has a time related aspect. Their correct placement in time is essential for their proper understanding and use, and the IfcTimeSeries subtypes provide the appropriate data structures to accommodate these types of data. /// /// HISTORY: New entity in IFC 2x2. -class IfcParse_EXPORT IfcTimeSeries : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTimeSeries : public IfcUtil::IfcBaseEntity { public: /// An unique name for the time series. std::string Name() const; @@ -13388,7 +13388,7 @@ public: /// Figure 241 — Time series value /// /// HISTORY  New entity in IFC2x2. -class IfcParse_EXPORT IfcTimeSeriesValue : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcTimeSeriesValue : public IfcUtil::IfcBaseEntity { public: /// A list of time-series values. At least one value is required. IfcEntityList::ptr ListValues() const; @@ -13410,7 +13410,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: topological_representation_item. Please refer to ISO/IS 10303-42:1994, p.129 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5 -class IfcParse_EXPORT IfcTopologicalRepresentationItem : public IfcRepresentationItem { +class IFC_PARSE_API IfcTopologicalRepresentationItem : public IfcRepresentationItem { public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcRepresentationItem::getArgumentType(i); } @@ -13458,7 +13458,7 @@ public: /// given as a string value at the inherited attribute 'RepresentationType'. /// /// HISTORY: New entity in IFC 2x2. -class IfcParse_EXPORT IfcTopologyRepresentation : public IfcShapeModel { +class IFC_PARSE_API IfcTopologyRepresentation : public IfcShapeModel { public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcShapeModel::getArgumentType(i); } @@ -13477,7 +13477,7 @@ public: /// NOTE  A project (IfcProject) has a unit assignment which establishes a set of units which will be used globally within the project, if not otherwise defined. Other objects may have local unit assignments if there is a requirement for them to make use of units which do not fall within the project unit assignment. /// /// HISTORY  New entity in IFC Release 1.5.1. -class IfcParse_EXPORT IfcUnitAssignment : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcUnitAssignment : public IfcUtil::IfcBaseEntity { public: /// Units to be included within a unit assignment. IfcEntityList::ptr Units() const; @@ -13504,7 +13504,7 @@ public: /// /// The vertex has dimensionality 0. This is a fundamental property of the vertex. /// The extent of a vertex is defined to be zero. -class IfcParse_EXPORT IfcVertex : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcVertex : public IfcTopologicalRepresentationItem { public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcTopologicalRepresentationItem::getArgumentType(i); } @@ -13527,7 +13527,7 @@ public: /// Informal proposition: /// /// The domain of the vertex is formally defined to be the domain of its vertex point. -class IfcParse_EXPORT IfcVertexPoint : public IfcVertex { +class IFC_PARSE_API IfcVertexPoint : public IfcVertex { public: /// The geometric point, which defines the position in geometric space of the vertex. IfcPoint* VertexGeometry() const; @@ -13603,7 +13603,7 @@ public: /// OffsetDistances[1] is a negative length measure /// /// Figure 248 — Virtual grid intersection negative offset -class IfcParse_EXPORT IfcVirtualGridIntersection : public IfcUtil::IfcBaseEntity { +class IFC_PARSE_API IfcVirtualGridIntersection : public IfcUtil::IfcBaseEntity { public: /// Two grid axes which intersects at exactly one intersection (see also informal proposition at IfcGrid). If attribute OffsetDistances is omitted, the intersection defines the placement or ref direction of a grid placement directly. If OffsetDistances are given, the intersection is defined by the offset curves to the grid axes. IfcTemplatedEntityList< IfcGridAxis >::ptr IntersectingAxes() const; @@ -13631,7 +13631,7 @@ public: /// A work time should have a meaningful name that describes the time periods (for example, working week, holiday name). Non-recurring time periods should have a start date (IfcWorkTime.Start) and a finish date (IfcWorkTime.Finish). In that case it is assumed that the time period begins at 0:00 on the start date and ends at 24:00 on the finish date. /// /// The start and finish date is optional if a recurrence pattern is given (IfcWorkTime.RecurrencePattern). They then restrict never-ending recurrence patterns. -class IfcParse_EXPORT IfcWorkTime : public IfcSchedulingTime { +class IFC_PARSE_API IfcWorkTime : public IfcSchedulingTime { public: /// Whether the optional attribute RecurrencePattern is defined for this IfcWorkTime bool hasRecurrencePattern() const; @@ -13671,7 +13671,7 @@ public: /// HISTORY: New entity in Release IFC2x2. /// /// IFC2x4 CHANGE  Subtyped from IfcResourceLevelRelationship, order of attributes changed. -class IfcParse_EXPORT IfcApprovalRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcApprovalRelationship : public IfcResourceLevelRelationship { public: /// The approval that other approval is related to. IfcApproval* RelatingApproval() const; @@ -13709,7 +13709,7 @@ public: /// attribute defines a two dimensional closed bounded curve. /// /// Figure 307 — Arbitrary closed profile -class IfcParse_EXPORT IfcArbitraryClosedProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcArbitraryClosedProfileDef : public IfcProfileDef { public: /// Bounded curve, defining the outer boundaries of the arbitrary profile. IfcCurve* OuterCurve() const; @@ -13741,7 +13741,7 @@ public: /// The Curve attribute defines a two dimensional open bounded curve. /// /// Figure 308 — Arbitrary open profile -class IfcParse_EXPORT IfcArbitraryOpenProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcArbitraryOpenProfileDef : public IfcProfileDef { public: /// Open bounded curve defining the profile. IfcBoundedCurve* Curve() const; @@ -13777,7 +13777,7 @@ public: /// or in case of sectioned spines the xy plane of each list member of IfcSectionedSpine.CrossSectionPositions. The OuterCurve attribute defines a two dimensional closed bounded curve, the InnerCurves define a set of two dimensional closed bounded curves. /// /// Figure 309 — Arbitrary profile with voids -class IfcParse_EXPORT IfcArbitraryProfileDefWithVoids : public IfcArbitraryClosedProfileDef { +class IFC_PARSE_API IfcArbitraryProfileDefWithVoids : public IfcArbitraryClosedProfileDef { public: /// Set of bounded curves, defining the inner boundaries of the arbitrary profile. IfcTemplatedEntityList< IfcCurve >::ptr InnerCurves() const; @@ -13803,7 +13803,7 @@ public: /// HISTORY  New class in IFC2x3. /// /// IFC2x4 CHANGE  Data type of RasterCode has been corrected to BINARY. -class IfcParse_EXPORT IfcBlobTexture : public IfcSurfaceTexture { +class IFC_PARSE_API IfcBlobTexture : public IfcSurfaceTexture { public: /// The format of the RasterCode often using a compression. std::string RasterFormat() const; @@ -13852,7 +13852,7 @@ public: /// The Curve attribute defines a two dimensional open bounded curve. The Thickness attribute defines a constant thickness along the curve. /// /// Figure 311 — Centerline profile -class IfcParse_EXPORT IfcCenterLineProfileDef : public IfcArbitraryOpenProfileDef { +class IFC_PARSE_API IfcCenterLineProfileDef : public IfcArbitraryOpenProfileDef { public: /// Constant thickness applied along the center line. double Thickness() const; @@ -13884,7 +13884,7 @@ public: /// /// Including the classification system structure within the dataset: Here a hierarchical tree of IfcClassificationItem's is included that defines the classification system including the relationship between the classification items. An IfcClassificationNotation is used to classify an object. /// Referencing the classification system by a classification key or id: Here the IfcClassificationReference is used to assign a classification id or key to each classified object. -class IfcParse_EXPORT IfcClassification : public IfcExternalInformation { +class IFC_PARSE_API IfcClassification : public IfcExternalInformation { public: /// Whether the optional attribute Source is defined for this IfcClassification bool hasSource() const; @@ -13981,7 +13981,7 @@ public: /// The IfcClassificationReference can be used to only assign classification keys to objects, or to hold a fully classification hierarchy. The first is refered to as "lightweight classification", and the second as "full classification" /// /// The IfcClassificationReference can be used as a form of 'lightweight' classification through the 'Identification' attribute inherited from the abstract IfcExternalReference class. In this case, the 'Identification' could take (for instance) the Uniclass notation "L6814" which, if the classification was well understood by all parties and was known to be taken from a particular classification source, would be sufficient. The Name attribute could be the title "Tanking". This would remove the need for the overhead of the more complete classification structure of the model. -class IfcParse_EXPORT IfcClassificationReference : public IfcExternalReference { +class IFC_PARSE_API IfcClassificationReference : public IfcExternalReference { public: /// Whether the optional attribute ReferencedSource is defined for this IfcClassificationReference bool hasReferencedSource() const; @@ -14014,7 +14014,7 @@ public: typedef IfcTemplatedEntityList< IfcClassificationReference > list; }; -class IfcParse_EXPORT IfcColourRgbList : public IfcPresentationItem { +class IFC_PARSE_API IfcColourRgbList : public IfcPresentationItem { public: std::vector< std::vector< double > > ColourList() const; void setColourList(std::vector< std::vector< double > > v); @@ -14035,7 +14035,7 @@ public: /// NOTE  Corresponding ISO 10303 name: colour_specification. It has been made into an abstract entity in IFC. Please refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IfcParse_EXPORT IfcColourSpecification : public IfcPresentationItem { +class IFC_PARSE_API IfcColourSpecification : public IfcPresentationItem { public: /// Whether the optional attribute Name is defined for this IfcColourSpecification bool hasName() const; @@ -14093,7 +14093,7 @@ public: ///   /// double_L : IfcCompositeProfileDef := IfcCompositeProfileDef(AREA, 'double angle', ///     (single_L, IfcMirroredProfileDef(AREA, ?, single_L, ?)), 'twin profile'); -class IfcParse_EXPORT IfcCompositeProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcCompositeProfileDef : public IfcProfileDef { public: /// The profiles which are used to define the composite profile. IfcTemplatedEntityList< IfcProfileDef >::ptr Profiles() const; @@ -14124,7 +14124,7 @@ public: /// Informal proposition: /// /// The union of the domains of the faces and their bounding loops shall be arcwise connected. -class IfcParse_EXPORT IfcConnectedFaceSet : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcConnectedFaceSet : public IfcTopologicalRepresentationItem { public: /// The set of faces arcwise connected along common edges or vertices. IfcTemplatedEntityList< IfcFace >::ptr CfsFaces() const; @@ -14154,7 +14154,7 @@ public: /// /// Geometry use definitions /// The IfcCurve (or the IfcEdgeCurve with an associated IfcCurve) at the CurveOnRelatingElement attribute defines the curve where the basic geometry items of the connected elements connects. The curve geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects Subtype that utilizes the IfcConnectionCurveGeometry. Optionally, the same curve geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the CurveOnRelatedElement attribute. -class IfcParse_EXPORT IfcConnectionCurveGeometry : public IfcConnectionGeometry { +class IFC_PARSE_API IfcConnectionCurveGeometry : public IfcConnectionGeometry { public: /// The bounded curve at which the connected objects are aligned at the relating element, given in the LCS of the relating element. IfcCurveOrEdgeCurve* CurveOnRelatingElement() const; @@ -14195,7 +14195,7 @@ public: /// /// Geometry use definitions /// The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connects. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects subtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute, otherwise the distance to the point at the RelatedElement has to be given by the three eccentricity values. -class IfcParse_EXPORT IfcConnectionPointEccentricity : public IfcConnectionPointGeometry { +class IFC_PARSE_API IfcConnectionPointEccentricity : public IfcConnectionPointGeometry { public: /// Whether the optional attribute EccentricityInX is defined for this IfcConnectionPointEccentricity bool hasEccentricityInX() const; @@ -14231,7 +14231,7 @@ public: /// NOTE Corresponding ISO 10303 name: context_dependent_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5.1. -class IfcParse_EXPORT IfcContextDependentUnit : public IfcNamedUnit { +class IFC_PARSE_API IfcContextDependentUnit : public IfcNamedUnit { public: /// The word, or group of words, by which the context dependent unit is referred to. std::string Name() const; @@ -14296,7 +14296,7 @@ public: /// 'hour' Time measure equal to 3600 s /// 'day' Time measure equal to 86400 s /// 'btu' Energy measure equal to 1055.056 J, British Thermal Unit -class IfcParse_EXPORT IfcConversionBasedUnit : public IfcNamedUnit { +class IFC_PARSE_API IfcConversionBasedUnit : public IfcNamedUnit { public: /// The word, or group of words, by which the conversion based unit is referred to. std::string Name() const; @@ -14335,7 +14335,7 @@ public: ///         IfcThermodynamicTemperatureMeasure(1.8), ///         IfcSiUnit(THERMODYNAMICTEMPERATUREUNIT, ?, KELVIN)), ///     -459.67); -class IfcParse_EXPORT IfcConversionBasedUnitWithOffset : public IfcConversionBasedUnit { +class IFC_PARSE_API IfcConversionBasedUnitWithOffset : public IfcConversionBasedUnit { public: /// A positive or negative offset to add after the inherited ConversionFactor was applied. double ConversionOffset() const; @@ -14363,7 +14363,7 @@ public: /// Use definitions /// An IfcCurrencyRelationship is used where there may be a need to reference an IfcCostValue in one currency to an IfcCostValue in another currency. It takes account of fact that currency exchange rates may vary by requiring the recording the date and time of the currency exchange rate used and the source that publishes the rate. There may be many sources and there are different strategies for currency conversion (spot rate, forward buying of currency at a fixed rate). /// The source for the currency exchange is defined as an instance of IfcLibraryInformation that includes a name and a URL. -class IfcParse_EXPORT IfcCurrencyRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcCurrencyRelationship : public IfcResourceLevelRelationship { public: /// The monetary unit from which an exchange is derived. For instance, in the case of a conversion from GBP to USD, the relating monetary unit is GBP. IfcMonetaryUnit* RelatingMonetaryUnit() const; @@ -14415,7 +14415,7 @@ public: /// NOTE  Corresponding ISO 10303 name: curve_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IfcParse_EXPORT IfcCurveStyle : public IfcPresentationStyle { +class IFC_PARSE_API IfcCurveStyle : public IfcPresentationStyle { public: /// Whether the optional attribute CurveFont is defined for this IfcCurveStyle bool hasCurveFont() const; @@ -14453,7 +14453,7 @@ public: /// NOTE: Corresponding ISO 10303 name: curve_style_font. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x2. -class IfcParse_EXPORT IfcCurveStyleFont : public IfcPresentationItem { +class IFC_PARSE_API IfcCurveStyleFont : public IfcPresentationItem { public: /// Whether the optional attribute Name is defined for this IfcCurveStyleFont bool hasName() const; @@ -14486,7 +14486,7 @@ public: /// NOTE  Corresponding ISO 10303 name: curve_style_font_and_scaling. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IfcParse_EXPORT IfcCurveStyleFontAndScaling : public IfcPresentationItem { +class IFC_PARSE_API IfcCurveStyleFontAndScaling : public IfcPresentationItem { public: /// Whether the optional attribute Name is defined for this IfcCurveStyleFontAndScaling bool hasName() const; @@ -14516,7 +14516,7 @@ public: /// NOTE Corresponding ISO 10303 name: curve_style_font_pattern. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IfcParse_EXPORT IfcCurveStyleFontPattern : public IfcPresentationItem { +class IFC_PARSE_API IfcCurveStyleFontPattern : public IfcPresentationItem { public: /// The length of the visible segment in the pattern definition. /// @@ -14624,7 +14624,7 @@ public: /// show the position coordinate system of the derived profile /// /// Figure 316 — Derived profile -class IfcParse_EXPORT IfcDerivedProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcDerivedProfileDef : public IfcProfileDef { public: /// The parent profile provides the origin of the transformation. IfcProfileDef* ParentProfile() const; @@ -14652,7 +14652,7 @@ public: /// IfcDocumentInformation captures "metadata" of an external document. The actual content of the document is not defined in IFC; instead, it can be found following the reference given to IfcDocumentReference. /// /// HISTORY: New entity in IFC 2x. -class IfcParse_EXPORT IfcDocumentInformation : public IfcExternalInformation { +class IFC_PARSE_API IfcDocumentInformation : public IfcExternalInformation { public: std::string Identification() const; void setIdentification(std::string v); @@ -14772,7 +14772,7 @@ public: /// /// Use definitions /// This class can be used to describe relationships in which one document may reference one or more other sub documents or where a document is used as a replacement for another document (but where both the original and the replacing document need to be retained). -class IfcParse_EXPORT IfcDocumentInformationRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcDocumentInformationRelationship : public IfcResourceLevelRelationship { public: /// The document that acts as the parent, referencing or original document in a relationship. IfcDocumentInformation* RelatingDocument() const; @@ -14808,7 +14808,7 @@ public: /// /// HISTORY: New Entity in IFC Release 2.0. /// Modified in IFC 2x. -class IfcParse_EXPORT IfcDocumentReference : public IfcExternalReference { +class IFC_PARSE_API IfcDocumentReference : public IfcExternalReference { public: /// Whether the optional attribute Description is defined for this IfcDocumentReference bool hasDescription() const; @@ -14884,7 +14884,7 @@ public: /// /// The edge has dimensionality 1. /// The extend of an edge shall be finite and nonzero. -class IfcParse_EXPORT IfcEdge : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcEdge : public IfcTopologicalRepresentationItem { public: /// Start point (vertex) of the edge. IfcVertex* EdgeStart() const; @@ -14937,7 +14937,7 @@ public: /// The edge start is not a part of the edge domain. /// The edge end is not a part of the edge domain. /// Vertex geometry shall be consistent with edge geometry. -class IfcParse_EXPORT IfcEdgeCurve : public IfcEdge { +class IFC_PARSE_API IfcEdgeCurve : public IfcEdge { public: /// The curve which defines the shape and spatial location of the edge. This curve may be unbounded and is implicitly trimmed by the vertices of the edge; this defines the edge domain. Multiple edges can reference the same curve. IfcCurve* EdgeGeometry() const; @@ -14980,7 +14980,7 @@ public: /// resources (derived from the process graph). The data origin flag /// is provided as a single attribute applying to all date time related attributes /// of IfcEventTime. -class IfcParse_EXPORT IfcEventTime : public IfcSchedulingTime { +class IFC_PARSE_API IfcEventTime : public IfcSchedulingTime { public: /// Whether the optional attribute ActualDate is defined for this IfcEventTime bool hasActualDate() const; @@ -15017,7 +15017,7 @@ public: typedef IfcTemplatedEntityList< IfcEventTime > list; }; -class IfcParse_EXPORT IfcExtendedProperties : public IfcPropertyAbstraction { +class IFC_PARSE_API IfcExtendedProperties : public IfcPropertyAbstraction { public: /// Whether the optional attribute Name is defined for this IfcExtendedProperties bool hasName() const; @@ -15048,7 +15048,7 @@ public: /// do not inherit from IfcRoot. It has a similar functionality as the subtypes of IfcRelAssociates. /// /// HISTORY New Entity in IFC 2x4 -class IfcParse_EXPORT IfcExternalReferenceRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcExternalReferenceRelationship : public IfcResourceLevelRelationship { public: /// An external reference that can be used to tag an object within the range of IfcResourceObjectSelect. /// @@ -15114,7 +15114,7 @@ public: /// intersect. /// The face shall satisfy the Euler Equation: (number of vertices) - /// (number of edges) - (number of loops) + (sum of genus for loops) = 0. -class IfcParse_EXPORT IfcFace : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcFace : public IfcTopologicalRepresentationItem { public: /// Boundaries of the face. IfcTemplatedEntityList< IfcFaceBound >::ptr Bounds() const; @@ -15137,7 +15137,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: face_bound. Please refer to ISO/IS 10303-42:1994, p. 139 for the final definition of the formal standard. /// /// HISTORY  New class in IFC Release 1.0 -class IfcParse_EXPORT IfcFaceBound : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcFaceBound : public IfcTopologicalRepresentationItem { public: /// The loop which will be used as a face boundary. IfcLoop* Bound() const; @@ -15162,7 +15162,7 @@ public: /// NOTE Corresponding ISO 10303 entity: face_outer_bound. Please refer to ISO/IS 10303-42:1994, p. 139 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.0 -class IfcParse_EXPORT IfcFaceOuterBound : public IfcFaceBound { +class IFC_PARSE_API IfcFaceOuterBound : public IfcFaceBound { public: virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcFaceBound::getArgumentType(i); } @@ -15212,7 +15212,7 @@ public: /// that any edge - curves or vertex points used in defining the loops bounding the /// face surface shall lie on the face geometry. /// The loops of the face shall not intersect. -class IfcParse_EXPORT IfcFaceSurface : public IfcFace { +class IFC_PARSE_API IfcFaceSurface : public IfcFace { public: /// The surface which defines the internal shape of the face. This surface may be unbounded. The domain of the face is defined by this surface and the bounding loops in the inherited attribute SELF\FaceBounds. IfcSurface* FaceSurface() const; @@ -15239,7 +15239,7 @@ public: /// Point supports and connections. /// /// HISTORY: New entity in IFC 2x2. -class IfcParse_EXPORT IfcFailureConnectionCondition : public IfcStructuralConnectionCondition { +class IFC_PARSE_API IfcFailureConnectionCondition : public IfcStructuralConnectionCondition { public: /// Whether the optional attribute TensionFailureX is defined for this IfcFailureConnectionCondition bool hasTensionFailureX() const; @@ -15317,7 +15317,7 @@ public: /// NOTE  Corresponding ISO 10303 name: fill_area_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IfcParse_EXPORT IfcFillAreaStyle : public IfcPresentationStyle { +class IFC_PARSE_API IfcFillAreaStyle : public IfcPresentationStyle { public: /// The set of fill area styles to use in presenting visible curve segments, annotation fill areas or surfaces. IfcEntityList::ptr FillStyles() const; @@ -15385,7 +15385,7 @@ public: /// HISTORY ÿNew Entity in IFC Release 2.0 /// /// IFC2x3 CHANGE ÿApplicable values for ContextType are only 'Model',ÿ 'Plan', andÿ'NotDefined'. All other sub contexts are now handled by the new subtype in IFC2x Edition 2 IfcGeometricRepresentationSubContext. Upward compatibility for file based exchange is guaranteed. -class IfcParse_EXPORT IfcGeometricRepresentationContext : public IfcRepresentationContext { +class IFC_PARSE_API IfcGeometricRepresentationContext : public IfcRepresentationContext { public: /// The integer dimension count of the coordinate space modeled in a geometric representation context. int CoordinateSpaceDimension() const; @@ -15438,7 +15438,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p. 22 for the final definition of the formal standard. The following changes have been made: It does not inherit from ISO/IS 10303-43:1994 entity representation_item. The derived attribute Dim is demoted to the appropriate subtypes. The WR1 has not been incorporated. Not all subtypes that are in ISO/IS 10303-42:1994 have been added to the current IFC Release. /// /// HISTORY: New entity in IFC Release 1.5 -class IfcParse_EXPORT IfcGeometricRepresentationItem : public IfcRepresentationItem { +class IFC_PARSE_API IfcGeometricRepresentationItem : public IfcRepresentationItem { public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcRepresentationItem::getArgumentType(i); } @@ -15465,7 +15465,7 @@ public: /// EXAMPLE  Instances of IfcGeometricRepresentationSubContext can be used to handle the multi-view blocks or macros, which are used in CAD programs to store several scale and/or view dependent geometric representations of the same object. /// /// HISTORY  New entity in Release IFC 2x2. -class IfcParse_EXPORT IfcGeometricRepresentationSubContext : public IfcGeometricRepresentationContext { +class IFC_PARSE_API IfcGeometricRepresentationSubContext : public IfcGeometricRepresentationContext { public: /// Parent context from which the sub context derives its world coordinate system, precision, space coordinate dimension and true north. IfcGeometricRepresentationContext* ParentContext() const; @@ -15512,7 +15512,7 @@ public: /// NOTE: Corresponding ISO 10303-42 entity: geometric_set. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p. 190 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IfcParse_EXPORT IfcGeometricSet : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcGeometricSet : public IfcGeometricRepresentationItem { public: /// The geometric elements which make up the geometric set, these may be points, curves or surfaces; but are required to be of the same coordinate space dimensionality. IfcEntityList::ptr Elements() const; @@ -15574,7 +15574,7 @@ public: /// its x-axis direction: given by the tangent of the line between the virtual grid intersection of the PlacementLocation and the virtual grid intersection of the PlacementRefDirection. /// /// Figure 245 — Grid placement with intersection -class IfcParse_EXPORT IfcGridPlacement : public IfcObjectPlacement { +class IFC_PARSE_API IfcGridPlacement : public IfcObjectPlacement { public: /// Placement of the object coordinate system defined by the intersection of two grid axes. IfcVirtualGridIntersection* PlacementLocation() const; @@ -15613,7 +15613,7 @@ public: /// Figure 258 illustrates the definition of the IfcHalfSpaceSolid within a given coordinate system. The base surface is given by an unbounded plane, the red boundary is shown for visualization purposes only. /// /// Figure 258 — Half space solid geometry -class IfcParse_EXPORT IfcHalfSpaceSolid : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcHalfSpaceSolid : public IfcGeometricRepresentationItem { public: /// Surface defining side of half space. IfcSurface* BaseSurface() const; @@ -15668,7 +15668,7 @@ public: /// NOTE  The definitions of texturing within this standard have been developed in dependence on the texture component of X3D. See ISO/IEC 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1, 18 Texturing component for the definitions in the international standard. /// /// HISTORY  New entity in Release IFC2x2. -class IfcParse_EXPORT IfcImageTexture : public IfcSurfaceTexture { +class IFC_PARSE_API IfcImageTexture : public IfcSurfaceTexture { public: /// Location, provided as an URI, at which the image texture is electronically published. std::string URLReference() const; @@ -15686,7 +15686,7 @@ public: typedef IfcTemplatedEntityList< IfcImageTexture > list; }; -class IfcParse_EXPORT IfcIndexedColourMap : public IfcPresentationItem { +class IFC_PARSE_API IfcIndexedColourMap : public IfcPresentationItem { public: IfcTessellatedFaceSet* MappedTo() const; void setMappedTo(IfcTessellatedFaceSet* v); @@ -15711,7 +15711,7 @@ public: typedef IfcTemplatedEntityList< IfcIndexedColourMap > list; }; -class IfcParse_EXPORT IfcIndexedTextureMap : public IfcTextureCoordinate { +class IFC_PARSE_API IfcIndexedTextureMap : public IfcTextureCoordinate { public: IfcTessellatedFaceSet* MappedTo() const; void setMappedTo(IfcTessellatedFaceSet* v); @@ -15730,7 +15730,7 @@ public: typedef IfcTemplatedEntityList< IfcIndexedTextureMap > list; }; -class IfcParse_EXPORT IfcIndexedTriangleTextureMap : public IfcIndexedTextureMap { +class IFC_PARSE_API IfcIndexedTriangleTextureMap : public IfcIndexedTextureMap { public: /// Whether the optional attribute TexCoordIndex is defined for this IfcIndexedTriangleTextureMap bool hasTexCoordIndex() const; @@ -15753,7 +15753,7 @@ public: /// EXAMPLE: A circulating pump cycles on and off at unpredictable times as dictated by the demands on the piping system; the amount of light in a classroom varies depending on when the lights are manually switched on and off and and how many lamps are controlled by each switch. /// /// HISTORY: New entity in IFC 2x2. -class IfcParse_EXPORT IfcIrregularTimeSeries : public IfcTimeSeries { +class IFC_PARSE_API IfcIrregularTimeSeries : public IfcTimeSeries { public: /// The collection of time series values. IfcTemplatedEntityList< IfcIrregularTimeSeriesValue >::ptr Values() const; @@ -15807,7 +15807,7 @@ public: /// /// The time unit for the task duration may also be set and /// this may be set to any allowed unit of time measure. -class IfcParse_EXPORT IfcLagTime : public IfcSchedulingTime { +class IFC_PARSE_API IfcLagTime : public IfcSchedulingTime { public: /// Value of the time lag selected as being either a ratio or a /// time measure. @@ -15836,7 +15836,7 @@ public: /// NOTE: In addition to the attributes as defined in ISO10303-46 the following additional properties from ISO/IEC 14772-1:1997 (VRML) are added: ambientIntensity and Intensity. The attribute Name has been added as well (as it is not inherited via representation_item). /// /// HISTORY: This is a new Entity in IFC 2x, renamed and enhanced in IFC2x2. -class IfcParse_EXPORT IfcLightSource : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcLightSource : public IfcGeometricRepresentationItem { public: /// Whether the optional attribute Name is defined for this IfcLightSource bool hasName() const; @@ -15876,7 +15876,7 @@ public: /// NOTE: In addition to the attributes as defined in ISO 10303-46 the additional property from ISO/IEC 14772-1:1997 (VRML) AmbientIntensity is inherited from the supertype. /// /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. -class IfcParse_EXPORT IfcLightSourceAmbient : public IfcLightSource { +class IFC_PARSE_API IfcLightSourceAmbient : public IfcLightSource { public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcLightSource::getArgumentType(i); } @@ -15899,7 +15899,7 @@ public: /// NOTE: In addition to the attributes as defined in ISO 10303-46 the additional property from ISO/IEC 14772-1:1997 (VRML) AmbientIntensity and Intensity are inherited from the supertype. /// /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. -class IfcParse_EXPORT IfcLightSourceDirectional : public IfcLightSource { +class IFC_PARSE_API IfcLightSourceDirectional : public IfcLightSource { public: /// Definition from ISO/CD 10303-46:1992: This direction is the direction of the light source. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The direction field specifies the direction vector of the illumination emanating from the light source in the local coordinate system. Light is emitted along parallel rays from an infinite distance away. @@ -15924,7 +15924,7 @@ public: /// Figure 303 — Light source goniometric /// /// HISTORY: New entity in IFC2x2. -class IfcParse_EXPORT IfcLightSourceGoniometric : public IfcLightSource { +class IFC_PARSE_API IfcLightSourceGoniometric : public IfcLightSource { public: /// The position of the light source. It is used to orientate the light distribution curves. IfcAxis2Placement3D* Position() const; @@ -15973,7 +15973,7 @@ public: /// NOTE: In addition to the attributes as defined in ISO10303-46 the additional property from ISO/IEC 14772-1:1997 (VRML) Radius and QuadricAttenuation are added to this subtype and the AmbientIntensity and Intensity are inherited from the supertype. /// /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. -class IfcParse_EXPORT IfcLightSourcePositional : public IfcLightSource { +class IFC_PARSE_API IfcLightSourcePositional : public IfcLightSource { public: /// Definition from ISO/CD 10303-46:1992: The Cartesian point indicates the position of the light source. /// Definition from VRML97 - ISO/IEC 14772-1:1997: A Point light node illuminates geometry within radius of its location. @@ -16019,7 +16019,7 @@ public: /// NOTE  In addition to the attributes as defined in ISO10303-46 the additional property from ISO/IEC 14772-1:1997 (VRML) Radius, BeamWidth, and QuadricAttenuation are added to this subtype and the AmbientIntensity and Intensity are inherited from the supertype. /// /// HISTORY  This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. -class IfcParse_EXPORT IfcLightSourceSpot : public IfcLightSourcePositional { +class IFC_PARSE_API IfcLightSourceSpot : public IfcLightSourcePositional { public: /// Definition from ISO/CD 10303-46:1992: This is the direction of the axis of the cone of the light source specified in the coordinate space of the representation being projected.. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The direction field specifies the direction vector of the light's central axis defined in the local coordinate system. @@ -16102,7 +16102,7 @@ public: /// /// If the PlacementRelTo relationship is not given, then it defaults to an absolute placement within the world /// coordinate system established by the referenced geometric representation context within the project. -class IfcParse_EXPORT IfcLocalPlacement : public IfcObjectPlacement { +class IFC_PARSE_API IfcLocalPlacement : public IfcObjectPlacement { public: /// Whether the optional attribute PlacementRelTo is defined for this IfcLocalPlacement bool hasPlacementRelTo() const; @@ -16150,7 +16150,7 @@ public: /// A loop has a finite extent. /// A loop describes a closed (topological) curve with coincident start /// and end vertices. -class IfcParse_EXPORT IfcLoop : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcLoop : public IfcTopologicalRepresentationItem { public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcTopologicalRepresentationItem::getArgumentType(i); } @@ -16183,7 +16183,7 @@ public: /// /// A mapped item shall not be self-defining by participating in the definition of the representation being mapped. /// The dimensionality of the mapping source and the mapping target has to be the same, if the mapping source is a geometric representation item. -class IfcParse_EXPORT IfcMappedItem : public IfcRepresentationItem { +class IFC_PARSE_API IfcMappedItem : public IfcRepresentationItem { public: /// A representation map that is the source of the mapped item. It can be seen as a block (or cell or marco) definition. IfcRepresentationMap* MappingSource() const; @@ -16230,7 +16230,7 @@ public: /// HISTORYÿNew entity in IFC2x4 /// /// IFC2x4 CHANGEÿ The attributes Description and Category have been added. -class IfcParse_EXPORT IfcMaterial : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterial : public IfcMaterialDefinition { public: /// Name of the material. /// @@ -16275,7 +16275,7 @@ public: /// NOTE See the "Material Use Definition" at the individual element to which an IfcMaterialConstituentSet may apply for a required or recommended definition of such keywords as value for IfcMaterialConstituent.Name. /// /// HISTORYÿNew Entity in IFC2x4 -class IfcParse_EXPORT IfcMaterialConstituent : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterialConstituent : public IfcMaterialDefinition { public: /// Whether the optional attribute Name is defined for this IfcMaterialConstituent bool hasName() const; @@ -16327,7 +16327,7 @@ public: /// keywords. /// /// HISTORYÿNew Entity in IFC2x4. -class IfcParse_EXPORT IfcMaterialConstituentSet : public IfcMaterialDefinition { +class IFC_PARSE_API IfcMaterialConstituentSet : public IfcMaterialDefinition { public: /// Whether the optional attribute Name is defined for this IfcMaterialConstituentSet bool hasName() const; @@ -16386,7 +16386,7 @@ public: /// As shown in Figure 331, the presentation assignment can be specific to a representation context by adding one and more IfcStyledRepresentation's. Each of them includes a single IfcStyledItem with exactly zero or one style for either curve, fill area, surface, text or symbol style that is applicable. /// /// Figure 331 — Material definition representation -class IfcParse_EXPORT IfcMaterialDefinitionRepresentation : public IfcProductRepresentation { +class IFC_PARSE_API IfcMaterialDefinitionRepresentation : public IfcProductRepresentation { public: /// Reference to the material to which the representation applies. IfcMaterial* RepresentedMaterial() const; @@ -16503,7 +16503,7 @@ public: /// geometry. /// /// Figure 288 — Material layer set usage for roof slab -class IfcParse_EXPORT IfcMaterialLayerSetUsage : public IfcMaterialUsageDefinition { +class IFC_PARSE_API IfcMaterialLayerSetUsage : public IfcMaterialUsageDefinition { public: /// The IfcMaterialLayerSet set to which the usage is applied. IfcMaterialLayerSet* ForLayerSet() const; @@ -16553,7 +16553,7 @@ public: /// profile, or a composite profile with two or more material profiles. /// /// HISTORYÿNew Entity in IFC2x4. -class IfcParse_EXPORT IfcMaterialProfileSetUsage : public IfcMaterialUsageDefinition { +class IFC_PARSE_API IfcMaterialProfileSetUsage : public IfcMaterialUsageDefinition { public: /// The IfcMaterialProfileSet set to which the usage is applied. IfcMaterialProfileSet* ForProfileSet() const; @@ -16610,7 +16610,7 @@ public: /// ForProfileEndSet at its end. Start and end correspond to /// the edge direction in the topological representation of the curve /// member. -class IfcParse_EXPORT IfcMaterialProfileSetUsageTapering : public IfcMaterialProfileSetUsage { +class IFC_PARSE_API IfcMaterialProfileSetUsageTapering : public IfcMaterialProfileSetUsage { public: /// The second IfcMaterialProfileSet set to which the usage is applied. IfcMaterialProfileSet* ForProfileEndSet() const; @@ -16654,7 +16654,7 @@ public: /// HISTORY  New Entity in IFC 2x. /// /// IFC2x4 CHANGE  The subtypes that represented a fixed list of statically defined material properties, IfcMechanicalMaterialProperties, IfcThermalMaterialProperties, IfcHygroscopicMaterialProperties, IfcGeneralMaterialProperties, IfcOpticalMaterialProperties, IfcWaterProperties, IfcFuelProperties, IfcProductsOfCombustionProperties have been deleted, use the generic IfcExtendedMaterialProperties instead. -class IfcParse_EXPORT IfcMaterialProperties : public IfcExtendedProperties { +class IFC_PARSE_API IfcMaterialProperties : public IfcExtendedProperties { public: /// Reference to the material definition to which the set of properties is assigned. /// @@ -16676,7 +16676,7 @@ public: /// IfcMaterialRelationship defines a relationship between part and whole in material definitions (as in composite materials). The parts, expressed by the set of RelatedMaterials, are material constituents of which a single material aggregate is composed. /// /// HISTORYÿNew Entity in IFC2x4 -class IfcParse_EXPORT IfcMaterialRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcMaterialRelationship : public IfcResourceLevelRelationship { public: /// Reference to the relating material (the composite). IfcMaterial* RelatingMaterial() const; @@ -16728,7 +16728,7 @@ public: /// was performed. /// /// HISTORY  New entity in IFC2x4. -class IfcParse_EXPORT IfcMirroredProfileDef : public IfcDerivedProfileDef { +class IFC_PARSE_API IfcMirroredProfileDef : public IfcDerivedProfileDef { public: virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDerivedProfileDef::getArgumentType(i); } @@ -16792,7 +16792,7 @@ public: /// HISTORY New abstract entity in IFC2x3. /// /// IFC2x4 CHANGE The new subtype IfcContext and the relationship to context HasContext has been added . The decomposition relationship is split into ordered nesting (Nests, IsNestedBy) and un-ordered aggregating (Decomposes, IsDecomposedBy). -class IfcParse_EXPORT IfcObjectDefinition : public IfcRoot { +class IFC_PARSE_API IfcObjectDefinition : public IfcRoot { public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcRoot::getArgumentType(i); } @@ -16872,7 +16872,7 @@ public: /// /// The Euler equation shall be satisfied. Note: Please refer to ISO/IS /// 10303-42:1994, p.148 for the equation. -class IfcParse_EXPORT IfcOpenShell : public IfcConnectedFaceSet { +class IFC_PARSE_API IfcOpenShell : public IfcConnectedFaceSet { public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcConnectedFaceSet::getArgumentType(i); } @@ -16892,7 +16892,7 @@ public: /// /// HISTORY New entity in IFC Release 2x. /// IFC 2x4 change: attribute Name made optional. -class IfcParse_EXPORT IfcOrganizationRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcOrganizationRelationship : public IfcResourceLevelRelationship { public: /// Organization which is the relating part of the relationship between organizations. IfcOrganization* RelatingOrganization() const; @@ -16919,7 +16919,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: oriented_edge. Please refer to ISO/IS 10303-42:1994, p. 133 for the final definition of the formal standard. /// /// HISTORY  New Entity in IFC Release 2.0. -class IfcParse_EXPORT IfcOrientedEdge : public IfcEdge { +class IFC_PARSE_API IfcOrientedEdge : public IfcEdge { public: /// Edge entity used to construct this oriented edge. IfcEdge* EdgeElement() const; @@ -16981,7 +16981,7 @@ public: /// IFC2x4 CHANGE  Position attribute made optional (default: identity transformation). /// Several radius parameters in subtypes have been changed from optional IfcPositiveLengthMeasure (assumed default: 0.) to optional IfcNonNegativeLengthMeasure (default: unspecified). This change allows to explicitly specify zero radius. Sending systems shall export 0. values if parameters are known to be 0. /// Subtypes IfcCraneRailAShapeProfileDef and IfcCraneRailFShapeProfileDef deleted. Rail profiles shall be modeled as IfcArbitraryClosedProfileDef or as IfcAsymmetricIShapeProfileDef together with appropriate external reference. -class IfcParse_EXPORT IfcParameterizedProfileDef : public IfcProfileDef { +class IFC_PARSE_API IfcParameterizedProfileDef : public IfcProfileDef { public: /// Whether the optional attribute Position is defined for this IfcParameterizedProfileDef bool hasPosition() const; @@ -17014,7 +17014,7 @@ public: /// A path is arcwise connected. /// The edges of the path do not intersect except at common vertices. /// A path has a finite, non-zero extent. -class IfcParse_EXPORT IfcPath : public IfcTopologicalRepresentationItem { +class IFC_PARSE_API IfcPath : public IfcTopologicalRepresentationItem { public: /// The list of oriented edges which are concatenated together to form this path. IfcTemplatedEntityList< IfcOrientedEdge >::ptr EdgeList() const; @@ -17040,7 +17040,7 @@ public: /// HISTORY  New entity in IFC2x2 Addendum 1. /// /// IFC2x2 ADDENDUM 1 CHANGE  The entity IfcPhysicalComplexQuantity has been added. Upward compatibility for file based exchange is guaranteed. -class IfcParse_EXPORT IfcPhysicalComplexQuantity : public IfcPhysicalQuantity { +class IFC_PARSE_API IfcPhysicalComplexQuantity : public IfcPhysicalQuantity { public: /// Set of physical quantities that are grouped by this complex physical quantity according to a given discrimination. IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr HasQuantities() const; @@ -17088,7 +17088,7 @@ public: /// Note that alpha equals (1.0 -transparency), if alpha and transparency each range from 0.0 to 1.0. /// /// HISTORY: New class in IFC2x2. -class IfcParse_EXPORT IfcPixelTexture : public IfcSurfaceTexture { +class IFC_PARSE_API IfcPixelTexture : public IfcSurfaceTexture { public: /// The number of pixels in width (S) direction. int Width() const; @@ -17125,7 +17125,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: placement. Please refer to ISO/IS 10303-42:1994, p. 27 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.0 -class IfcParse_EXPORT IfcPlacement : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcPlacement : public IfcGeometricRepresentationItem { public: /// The geometric position of a reference point, such as the center of a circle, of the item to be located. IfcCartesianPoint* Location() const; @@ -17147,7 +17147,7 @@ public: /// NOTE  Corresponding ISO 10303 name: planar_extent. Please refer to ISO/IS 10303-46:1994, p. 141 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IfcParse_EXPORT IfcPlanarExtent : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcPlanarExtent : public IfcGeometricRepresentationItem { public: /// The extent in the direction of the x-axis. double SizeInX() const; @@ -17172,7 +17172,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: point. Only the subtypes cartesian_point, point_on_curve, point_on_surface have been incorporated in the current release of IFC. Please refer to ISO/IS 10303-42:1994, p. 22 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5 -class IfcParse_EXPORT IfcPoint : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcPoint : public IfcGeometricRepresentationItem { public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcGeometricRepresentationItem::getArgumentType(i); } @@ -17195,7 +17195,7 @@ public: /// Informal Propositions: /// /// The value of the point parameter shall not be outside the parametric range of the curve. -class IfcParse_EXPORT IfcPointOnCurve : public IfcPoint { +class IFC_PARSE_API IfcPointOnCurve : public IfcPoint { public: /// The curve to which point parameter relates. IfcCurve* BasisCurve() const; @@ -17224,7 +17224,7 @@ public: /// Informal Propositions: /// /// The parametric values specified for u and v shall not be outside the parametric range of the basis surface. -class IfcParse_EXPORT IfcPointOnSurface : public IfcPoint { +class IFC_PARSE_API IfcPointOnSurface : public IfcPoint { public: /// The surface to which the parameter values relate. IfcSurface* BasisSurface() const; @@ -17286,7 +17286,7 @@ public: /// /// All the points in the polygon defining the poly loop shall be coplanar. /// The first and the last Polygon shall be different by value. -class IfcParse_EXPORT IfcPolyLoop : public IfcLoop { +class IFC_PARSE_API IfcPolyLoop : public IfcLoop { public: /// List of points defining the loop. There are no repeated points in the list. IfcTemplatedEntityList< IfcCartesianPoint >::ptr Polygon() const; @@ -17359,7 +17359,7 @@ public: /// bounds the effectiveness of the half space in Boolean expressions. The BaseSurface /// is defined by a plane, and the normal of the plane together with the AgreementFlag /// defines the side of the material of the half space. -class IfcParse_EXPORT IfcPolygonalBoundedHalfSpace : public IfcHalfSpaceSolid { +class IFC_PARSE_API IfcPolygonalBoundedHalfSpace : public IfcHalfSpaceSolid { public: /// Definition of the position coordinate system for the bounding polyline and the base surface. IfcAxis2Placement3D* Position() const; @@ -17388,7 +17388,7 @@ public: /// NOTE  Corresponding ISO 10303 name: pre_defined_item. Please refer to ISO/IS 10303-41:1994, page 137 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IfcParse_EXPORT IfcPreDefinedItem : public IfcPresentationItem { +class IFC_PARSE_API IfcPreDefinedItem : public IfcPresentationItem { public: /// The string by which the pre defined item is identified. Allowable values for the string are declared at the level of subtypes. std::string Name() const; @@ -17406,7 +17406,7 @@ public: typedef IfcTemplatedEntityList< IfcPreDefinedItem > list; }; -class IfcParse_EXPORT IfcPreDefinedProperties : public IfcPropertyAbstraction { +class IFC_PARSE_API IfcPreDefinedProperties : public IfcPropertyAbstraction { public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcPropertyAbstraction::getArgumentType(i); } @@ -17431,7 +17431,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcTextStyleFontModel has been added as new subtype. -class IfcParse_EXPORT IfcPreDefinedTextFont : public IfcPreDefinedItem { +class IFC_PARSE_API IfcPreDefinedTextFont : public IfcPreDefinedItem { public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcPreDefinedItem::getArgumentType(i); } @@ -17457,7 +17457,7 @@ public: /// NOTE  The definition of this entity relates to the ISO 10303 entity product_definition_shape. Please refer to ISO/IS 10303-41:1994 for the final definition of the formal standard. /// /// HISTORY  New Entity in IFC Release 1.5 -class IfcParse_EXPORT IfcProductDefinitionShape : public IfcProductRepresentation { +class IFC_PARSE_API IfcProductDefinitionShape : public IfcProductRepresentation { public: virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcProductRepresentation::getArgumentType(i); } @@ -17484,7 +17484,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x4 CHANGE  Entity made non-abstract. Subtypes IfcGeneralProfileProperties, IfcStructuralProfileProperties, and IfcStructuralSteelProfileProperties deleted. Attribute ProfileName deleted, use ProfileDefinition.ProfileName instead. Attribute ProfileDefinition made mandatory. Attributes Name, Description, and HasProperties added. -class IfcParse_EXPORT IfcProfileProperties : public IfcExtendedProperties { +class IFC_PARSE_API IfcProfileProperties : public IfcExtendedProperties { public: /// Profile definition which is qualified by these properties. IfcProfileDef* ProfileDefinition() const; @@ -17504,7 +17504,7 @@ public: /// IfcProperty is an abstract generalization for all types of properties that can be associated with IFC objects through the property set mechanism. /// /// HISTORY  New entity in IFC Release 1.0. -class IfcParse_EXPORT IfcProperty : public IfcPropertyAbstraction { +class IFC_PARSE_API IfcProperty : public IfcPropertyAbstraction { public: /// Name for this property. This label is the significant name string that defines the semantic meaning for the property. std::string Name() const; @@ -17582,7 +17582,7 @@ public: /// Subtypes are included in more specific relationships, see /// IfcPropertySetDefinition and /// IfcPropertyTemplateDefinition for details. -class IfcParse_EXPORT IfcPropertyDefinition : public IfcRoot { +class IFC_PARSE_API IfcPropertyDefinition : public IfcRoot { public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcRoot::getArgumentType(i); } @@ -17606,7 +17606,7 @@ public: /// /// Use Definition /// Whilst the IfcPropertyDependencyRelationship may be used to describe the dependency, and it may do so in terms of the expression of how the dependency operates, it is not possible through the current IFC model for the value of the related property to be actually derived from the value of the relating property. The determination of value according to the dependency is required to be performed by an application that can then use the Expression attribute to flag the form of the dependency. -class IfcParse_EXPORT IfcPropertyDependencyRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcPropertyDependencyRelationship : public IfcResourceLevelRelationship { public: /// The property on which the relationship depends. IfcProperty* DependingProperty() const; @@ -17673,7 +17673,7 @@ public: /// with all included properties, to the object occurrence. /// /// NOTE  Properties assigned to object occurrences may override properties assigned to the object type. See IfcRelDefinesByType for further information. -class IfcParse_EXPORT IfcPropertySetDefinition : public IfcPropertyDefinition { +class IFC_PARSE_API IfcPropertySetDefinition : public IfcPropertyDefinition { public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcPropertyDefinition::getArgumentType(i); } @@ -17715,7 +17715,7 @@ public: /// using the inherited HasContext inverse attribute. /// /// HISTORY  New Entity in IFC2x4. -class IfcParse_EXPORT IfcPropertyTemplateDefinition : public IfcPropertyDefinition { +class IFC_PARSE_API IfcPropertyTemplateDefinition : public IfcPropertyDefinition { public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcPropertyDefinition::getArgumentType(i); } @@ -17730,7 +17730,7 @@ public: typedef IfcTemplatedEntityList< IfcPropertyTemplateDefinition > list; }; -class IfcParse_EXPORT IfcQuantitySet : public IfcPropertySetDefinition { +class IFC_PARSE_API IfcQuantitySet : public IfcPropertySetDefinition { public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcPropertySetDefinition::getArgumentType(i); } @@ -17778,7 +17778,7 @@ public: /// rectangle (half along the positive y-axis). /// /// Figure 323 — Rectangle profile -class IfcParse_EXPORT IfcRectangleProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcRectangleProfileDef : public IfcParameterizedProfileDef { public: /// The extent of the rectangle in the direction of the x-axis. double XDim() const; @@ -17803,7 +17803,7 @@ public: /// EXAMPLE: A smoke detector samples the concentration of particulates in a space at a fixed rate (for example, every six seconds); a control system measures the outside air temperature every hour. /// /// HISTORY: New entity in IFC 2x2. -class IfcParse_EXPORT IfcRegularTimeSeries : public IfcTimeSeries { +class IFC_PARSE_API IfcRegularTimeSeries : public IfcTimeSeries { public: /// A duration of time intervals between values. double TimeStep() const; @@ -17828,7 +17828,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// The total cross section area for the specific steel grade is always provided. Additionally also general reinforcing bar configurations as a count of bars may be provided as defined in attribute BarCount. In this case the nominal bar diameter should be identical for all given bars as defined in attribute NominalBarDiameter. -class IfcParse_EXPORT IfcReinforcementBarProperties : public IfcPreDefinedProperties { +class IFC_PARSE_API IfcReinforcementBarProperties : public IfcPreDefinedProperties { public: /// The total effective cross-section area of the reinforcement of a specific steel grade. double TotalCrossSectionArea() const; @@ -17876,7 +17876,7 @@ public: /// In case of the 1-to-many relationship, the related side of the relationship shall be an aggregate SET 1:N /// /// HISTORY: New entity in IFC Release 1.0. -class IfcParse_EXPORT IfcRelationship : public IfcRoot { +class IFC_PARSE_API IfcRelationship : public IfcRoot { public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcRoot::getArgumentType(i); } @@ -17896,7 +17896,7 @@ public: /// /// HISTORY  New /// Entity in IFC Release 2x4 -class IfcParse_EXPORT IfcResourceApprovalRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcResourceApprovalRelationship : public IfcResourceLevelRelationship { public: /// Resource objects that are approved. IfcEntityList::ptr RelatedResourceObjects() const; @@ -17936,7 +17936,7 @@ public: /// Figure 238 shows how a constraint may be applied to a property within a property set. For simplicity, only the mandatory attributes are shown as asserted. It shows how a property 'ThingWeight' which has a nominal value of 19.5 kg has two constraints that are logically aggregated by an AND connection. One of the constraints has a benchmark of 'GREATERTHANOREQUALTO' whilst the second has a benchmark of 'LESSTHANOREQUALTO'. This means that the constraint must lie between these two bounding values. The relating constraint is instantiated as an objective named as 'Weight Constraint' and qualified as a SPECIFICATION constraint. The two related constraints are both specified as metrics since they can have specific values. /// /// Figure 238 — Resource constraint relationship -class IfcParse_EXPORT IfcResourceConstraintRelationship : public IfcResourceLevelRelationship { +class IFC_PARSE_API IfcResourceConstraintRelationship : public IfcResourceLevelRelationship { public: /// The constraint that is to be related. IfcConstraint* RelatingConstraint() const; @@ -17958,7 +17958,7 @@ public: }; /// IfcResourceTime captures the time-related information about a construction resource. /// HISTORY: New entity in IFC2x4. -class IfcParse_EXPORT IfcResourceTime : public IfcSchedulingTime { +class IFC_PARSE_API IfcResourceTime : public IfcSchedulingTime { public: /// Whether the optional attribute ScheduleWork is defined for this IfcResourceTime bool hasScheduleWork() const; @@ -18084,7 +18084,7 @@ public: /// of curvature in all four corners of the rectangle. /// /// Figure 324 — Rounded rectangle profile -class IfcParse_EXPORT IfcRoundedRectangleProfileDef : public IfcRectangleProfileDef { +class IFC_PARSE_API IfcRoundedRectangleProfileDef : public IfcRectangleProfileDef { public: /// Radius of the circular arcs by which all four corners of the rectangle are equally rounded. double RoundingRadius() const; @@ -18106,7 +18106,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// The section piece may be either uniform or tapered. In the latter case an end profile should also be provided. The start and end profiles are assumed to be of the same profile type. Generally only rectangular or circular cross section profiles are assumed to be used. -class IfcParse_EXPORT IfcSectionProperties : public IfcPreDefinedProperties { +class IFC_PARSE_API IfcSectionProperties : public IfcPreDefinedProperties { public: /// An indicator whether a specific piece of a cross section is uniform or tapered in longitudinal direction. IfcSectionTypeEnum::IfcSectionTypeEnum SectionType() const; @@ -18138,7 +18138,7 @@ public: /// Several sets of cross section reinforcement properties represented by instances of IfcReinforcementProperties may be attached to the section reinforcement properties /// (IfcReinforcementDefinitionProperties of IfcStructuralElementsDomain schema), /// one for each combination of steel grades and reinforcement bar types and sizes. -class IfcParse_EXPORT IfcSectionReinforcementProperties : public IfcPreDefinedProperties { +class IFC_PARSE_API IfcSectionReinforcementProperties : public IfcPreDefinedProperties { public: /// The start position in longitudinal direction for the section reinforcement properties. double LongitudinalStartPosition() const; @@ -18225,7 +18225,7 @@ public: /// none of the cross sections, after being placed by the cross section positions, shall intersect /// none of the cross sections, after being placed by the cross section positions, shall lie in the same plane /// the local origin of each cross section position shall lie at the beginning or end of a composite curve segment. -class IfcParse_EXPORT IfcSectionedSpine : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcSectionedSpine : public IfcGeometricRepresentationItem { public: /// A single composite curve, that defines the spine curve. Each of the composite curve segments correspond to the part between two cross-sections. IfcCompositeCurve* SpineCurve() const; @@ -18260,7 +18260,7 @@ public: /// /// The dimensionality of the shell based surface model is 2. /// The shells shall not overlap or intersect except at common faces, edges or vertices. -class IfcParse_EXPORT IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { public: IfcEntityList::ptr SbsmBoundary() const; void setSbsmBoundary(IfcEntityList::ptr v); @@ -18279,7 +18279,7 @@ public: /// IfcSimpleProperty is a generalization of a single property object. The various subtypes of IfcSimpleProperty establish different ways in which a property value can be set. /// /// HISTORY  New Entity in IFC Release 1.0, definition changed in IFC Release 2x. -class IfcParse_EXPORT IfcSimpleProperty : public IfcProperty { +class IFC_PARSE_API IfcSimpleProperty : public IfcProperty { public: virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcProperty::getArgumentType(i); } @@ -18302,7 +18302,7 @@ public: /// surface supports and connections. /// /// HISTORY: New entity in IFC 2x2. -class IfcParse_EXPORT IfcSlippageConnectionCondition : public IfcStructuralConnectionCondition { +class IFC_PARSE_API IfcSlippageConnectionCondition : public IfcStructuralConnectionCondition { public: /// Whether the optional attribute SlippageX is defined for this IfcSlippageConnectionCondition bool hasSlippageX() const; @@ -18336,7 +18336,7 @@ public: /// NOTE: Corresponding ISO 10303-42 entity: solid_model, only three subtypes have been incorporated into the current IFC Release - subset of manifold_solid_brep (IfcManifoldSolidBrep, constraint to faceted B-rep), swept_area_solid (IfcSweptAreaSolid), the swept_disk_solid (IfcSweptDiskSolid) and subset of csg_solid (IfcCsgSolid). The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p. 170 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5 -class IfcParse_EXPORT IfcSolidModel : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcSolidModel : public IfcGeometricRepresentationItem { public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcGeometricRepresentationItem::getArgumentType(i); } @@ -18355,7 +18355,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IfcParse_EXPORT IfcStructuralLoadLinearForce : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadLinearForce : public IfcStructuralLoadStatic { public: /// Whether the optional attribute LinearForceX is defined for this IfcStructuralLoadLinearForce bool hasLinearForceX() const; @@ -18404,7 +18404,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IfcParse_EXPORT IfcStructuralLoadPlanarForce : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadPlanarForce : public IfcStructuralLoadStatic { public: /// Whether the optional attribute PlanarForceX is defined for this IfcStructuralLoadPlanarForce bool hasPlanarForceX() const; @@ -18438,7 +18438,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IfcParse_EXPORT IfcStructuralLoadSingleDisplacement : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadSingleDisplacement : public IfcStructuralLoadStatic { public: /// Whether the optional attribute DisplacementX is defined for this IfcStructuralLoadSingleDisplacement bool hasDisplacementX() const; @@ -18485,7 +18485,7 @@ public: /// Definition from IAI: Defines a displacement with warping. /// /// HISTORY: New entity in IFC 2x2. -class IfcParse_EXPORT IfcStructuralLoadSingleDisplacementDistortion : public IfcStructuralLoadSingleDisplacement { +class IFC_PARSE_API IfcStructuralLoadSingleDisplacementDistortion : public IfcStructuralLoadSingleDisplacement { public: /// Whether the optional attribute Distortion is defined for this IfcStructuralLoadSingleDisplacementDistortion bool hasDistortion() const; @@ -18510,7 +18510,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IfcParse_EXPORT IfcStructuralLoadSingleForce : public IfcStructuralLoadStatic { +class IFC_PARSE_API IfcStructuralLoadSingleForce : public IfcStructuralLoadStatic { public: /// Whether the optional attribute ForceX is defined for this IfcStructuralLoadSingleForce bool hasForceX() const; @@ -18562,7 +18562,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// edition 2. -class IfcParse_EXPORT IfcStructuralLoadSingleForceWarping : public IfcStructuralLoadSingleForce { +class IFC_PARSE_API IfcStructuralLoadSingleForceWarping : public IfcStructuralLoadSingleForce { public: /// Whether the optional attribute WarpingMoment is defined for this IfcStructuralLoadSingleForceWarping bool hasWarpingMoment() const; @@ -18591,7 +18591,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: subedge. Please refer to ISO/DIS 10303-42:1999(E), p. 194 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IfcParse_EXPORT IfcSubedge : public IfcEdge { +class IFC_PARSE_API IfcSubedge : public IfcEdge { public: /// The Edge, or Subedge, which contains the Subedge. IfcEdge* ParentEdge() const; @@ -18618,7 +18618,7 @@ public: /// /// A surface has non zero area. /// A surface is arcwise connected. -class IfcParse_EXPORT IfcSurface : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcSurface : public IfcGeometricRepresentationItem { public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcGeometricRepresentationItem::getArgumentType(i); } @@ -18677,7 +18677,7 @@ public: /// In addition to the attributes as defined in ISO 10303-46, (ambient_reflectance, diffuse_reflectance, specular_reflectance, specular_exponent, and specular_colour), the current IFC definition adds other colours, reflectance factors and specular roughness. /// /// HISTORY: New Entity in IFC 2x. -class IfcParse_EXPORT IfcSurfaceStyleRendering : public IfcSurfaceStyleShading { +class IFC_PARSE_API IfcSurfaceStyleRendering : public IfcSurfaceStyleShading { public: /// Whether the optional attribute DiffuseColour is defined for this IfcSurfaceStyleRendering bool hasDiffuseColour() const; @@ -18752,7 +18752,7 @@ public: /// NOTE Corresponding ISO 10303-42 entity: swept_area_solid, The data type of SweptArea is modified and given by a profile definition (IfcProfileDef). A position coordinate system is defined by the Position attribute has been added. Please refer to ISO/IS 10303-42:1994, p. 183 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 1.5, the capabilities have been enhanced in IFC Release 2x. -class IfcParse_EXPORT IfcSweptAreaSolid : public IfcSolidModel { +class IFC_PARSE_API IfcSweptAreaSolid : public IfcSolidModel { public: /// The surface defining the area to be swept. It is given as a profile definition within the xy plane of the position coordinate system. IfcProfileDef* SweptArea() const; @@ -18827,7 +18827,7 @@ public: /// disk Radius /// The Directrix shall not be based on an intersecting /// curve. -class IfcParse_EXPORT IfcSweptDiskSolid : public IfcSolidModel { +class IFC_PARSE_API IfcSweptDiskSolid : public IfcSolidModel { public: /// The curve used to define the sweeping operation. The solid is generated by sweeping a circular disk along the Directrix. IfcCurve* Directrix() const; @@ -18876,7 +18876,7 @@ public: /// or equal to the length of the start and end segment of the /// IfcPolyline, and smaller then or equal to one half of the /// lenght of the shortest inner segment. -class IfcParse_EXPORT IfcSweptDiskSolidPolygonal : public IfcSweptDiskSolid { +class IFC_PARSE_API IfcSweptDiskSolidPolygonal : public IfcSweptDiskSolid { public: /// Whether the optional attribute FilletRadius is defined for this IfcSweptDiskSolidPolygonal bool hasFilletRadius() const; @@ -18900,7 +18900,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: swept_surface. Please refer to ISO/IS 10303-42:1994, p.76 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IfcParse_EXPORT IfcSweptSurface : public IfcSurface { +class IFC_PARSE_API IfcSweptSurface : public IfcSurface { public: /// The curve to be swept in defining the surface. The curve is defined as a profile within the position coordinate system. IfcProfileDef* SweptCurve() const; @@ -18950,7 +18950,7 @@ public: /// relative to the profile. /// /// Figure 326 — T-shape profile -class IfcParse_EXPORT IfcTShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcTShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web lengths, see illustration above (= h). double Depth() const; @@ -19002,7 +19002,7 @@ public: typedef IfcTemplatedEntityList< IfcTShapeProfileDef > list; }; -class IfcParse_EXPORT IfcTessellatedItem : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcTessellatedItem : public IfcGeometricRepresentationItem { public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcGeometricRepresentationItem::getArgumentType(i); } @@ -19026,7 +19026,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcTextLiteral has been changed by removing Font and Alignment. -class IfcParse_EXPORT IfcTextLiteral : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcTextLiteral : public IfcGeometricRepresentationItem { public: /// The text literal to be presented. std::string Literal() const; @@ -19059,7 +19059,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcTextLiteralWithExtent has been changed by adding BoxAlignment. -class IfcParse_EXPORT IfcTextLiteralWithExtent : public IfcTextLiteral { +class IFC_PARSE_API IfcTextLiteralWithExtent : public IfcTextLiteral { public: /// The extent in the x and y direction of the text literal. IfcPlanarExtent* Extent() const; @@ -19144,7 +19144,7 @@ public: /// NOTE  Corresponding CSS1 definitions are Font properties ('font-family', 'font-style', 'font-variant',  'font-weight'). /// /// HISTORY  New entity in IFC2x3. -class IfcParse_EXPORT IfcTextStyleFontModel : public IfcPreDefinedTextFont { +class IFC_PARSE_API IfcTextStyleFontModel : public IfcPreDefinedTextFont { public: /// The value is a prioritized list of font family names and/or generic family names. The first list entry has the highest priority, if this font fails, the next list item shall be used. The last list item should (if possible) be a generic family. std::vector< std::string > /*[1:?]*/ FontFamily() const; @@ -19220,7 +19220,7 @@ public: /// the positive x-axis. /// /// Figure 325 — Trapezium profile -class IfcParse_EXPORT IfcTrapeziumProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcTrapeziumProfileDef : public IfcParameterizedProfileDef { public: /// The extent of the bottom line measured along the implicit x-axis. double BottomXDim() const; @@ -19277,7 +19277,7 @@ public: /// IFC2x3 CHANGE The IfcTypeObject is now subtyped from the new supertype IfcObjectDefinition, and the attribute HasPropertySets has been changed from a LIST into a SET. /// /// IFC2x4 CHANGE (1) The entity IfcTypeObject shall not be instantiated from IFC2x4 onwards. It will be changed into an ABSTRACT supertype in future releases of IFC. (2) The inverse attribute Types has been renamed from ObjectTypeOf. -class IfcParse_EXPORT IfcTypeObject : public IfcObjectDefinition { +class IFC_PARSE_API IfcTypeObject : public IfcObjectDefinition { public: /// Whether the optional attribute ApplicableOccurrence is defined for this IfcTypeObject bool hasApplicableOccurrence() const; @@ -19338,7 +19338,7 @@ public: /// occurrence property set that is assigned at the process /// occurrence, overrides the same property assigned to the process /// type. -class IfcParse_EXPORT IfcTypeProcess : public IfcTypeObject { +class IFC_PARSE_API IfcTypeProcess : public IfcTypeObject { public: /// Whether the optional attribute Identification is defined for this IfcTypeProcess bool hasIdentification() const; @@ -19436,7 +19436,7 @@ public: /// multiple placement. /// /// Figure 11 — Product type geometry with multiple placement -class IfcParse_EXPORT IfcTypeProduct : public IfcTypeObject { +class IFC_PARSE_API IfcTypeProduct : public IfcTypeObject { public: /// Whether the optional attribute RepresentationMaps is defined for this IfcTypeProduct bool hasRepresentationMaps() const; @@ -19473,7 +19473,7 @@ public: /// An IfcTypeResource may have a list of property sets attached, accessible by the attribute SELF\IfcTypeObject.HasPropertySets. Currently there are no predefined property sets defined as part of the IFC specification. /// /// NOTE: For property sets, a property within an occurrence property set that is assigned at the resource occurrence, overrides the same property assigned to the resource type. -class IfcParse_EXPORT IfcTypeResource : public IfcTypeObject { +class IFC_PARSE_API IfcTypeResource : public IfcTypeObject { public: /// Whether the optional attribute Identification is defined for this IfcTypeResource bool hasIdentification() const; @@ -19533,7 +19533,7 @@ public: /// relative to the profile. /// /// Figure 327 — U-shape profile -class IfcParse_EXPORT IfcUShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcUShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web lengths, see illustration above (= h). double Depth() const; @@ -19581,7 +19581,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: vector. Please refer to ISO/IS 10303-42:1994, p.27 for the final definition of the formal standard. The derived attribute Dim has been added (see also note at IfcGeometricRepresentationItem). /// /// HISTORY: New entity in IFC Release 1.0 -class IfcParse_EXPORT IfcVector : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcVector : public IfcGeometricRepresentationItem { public: /// The direction of the vector. IfcDirection* Orientation() const; @@ -19613,7 +19613,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: vertex_loop. Please refer to ISO/IS 10303-42:1994, p. 121 for the final definition of the formal standard. /// /// HISTORY  New Entity in IFC2x2. -class IfcParse_EXPORT IfcVertexLoop : public IfcLoop { +class IFC_PARSE_API IfcVertexLoop : public IfcLoop { public: /// The vertex which defines the entire loop. IfcVertex* LoopVertex() const; @@ -19648,7 +19648,7 @@ public: /// The IfcWindowStyleOperationTypeEnum defines the general layout of the window style. Depending on the enumerator, the /// appropriate instances of IfcWindowLiningProperties and IfcWindowPanelProperties are attached in the list of /// HasPropertySets. See geometry use definitions there. -class IfcParse_EXPORT IfcWindowStyle : public IfcTypeProduct { +class IFC_PARSE_API IfcWindowStyle : public IfcTypeProduct { public: /// Type defining the basic construction and material type of the window. IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum ConstructionType() const; @@ -19699,7 +19699,7 @@ public: /// relative to the profile. /// /// Figure 328 — Z-shape profile -class IfcParse_EXPORT IfcZShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcZShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web length, see illustration above (= h). double Depth() const; @@ -19748,7 +19748,7 @@ public: /// the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x4 -class IfcParse_EXPORT IfcAdvancedFace : public IfcFaceSurface { +class IFC_PARSE_API IfcAdvancedFace : public IfcFaceSurface { public: virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcFaceSurface::getArgumentType(i); } @@ -19782,7 +19782,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The two attributes OuterBoundary and InnerBoundaries are added and replace the previous single boundary. -class IfcParse_EXPORT IfcAnnotationFillArea : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcAnnotationFillArea : public IfcGeometricRepresentationItem { public: /// A closed curve that defines the outer boundary of the fill area. The areas defined by the outer boundary (minus potentially defined inner boundaries) is filled by the fill area style. /// @@ -19845,7 +19845,7 @@ public: /// relative to the profile. The parameterized profile is defined by a set of parameter attributes. In the illustrated example, the 'CentreOfGravityInY' property in IfcExtendedProfileProperties, if provided, is negative. /// /// Figure 310 — Assymetric I-shape profile -class IfcParse_EXPORT IfcAsymmetricIShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcAsymmetricIShapeProfileDef : public IfcParameterizedProfileDef { public: double BottomFlangeWidth() const; void setBottomFlangeWidth(double v); @@ -19909,7 +19909,7 @@ public: /// Figure 274 illustrates the definition of the IfcAxis1Placement within the three-dimensional coordinate system. /// /// Figure 274 — Axis1 placement -class IfcParse_EXPORT IfcAxis1Placement : public IfcPlacement { +class IFC_PARSE_API IfcAxis1Placement : public IfcPlacement { public: /// Whether the optional attribute Axis is defined for this IfcAxis1Placement bool hasAxis() const; @@ -19939,7 +19939,7 @@ public: /// Figure 275 illustrates the definition of the IfcAxis2Placement2D within the two-dimensional coordinate system. /// /// Figure 275 — Axis2 placement 2D -class IfcParse_EXPORT IfcAxis2Placement2D : public IfcPlacement { +class IFC_PARSE_API IfcAxis2Placement2D : public IfcPlacement { public: /// Whether the optional attribute RefDirection is defined for this IfcAxis2Placement2D bool hasRefDirection() const; @@ -19971,7 +19971,7 @@ public: /// Figure 276 illustrates the definition of the IfcAxis2Placement3D within the three-dimensional coordinate system. /// /// Figure 276 — Axis2 placement 3D -class IfcParse_EXPORT IfcAxis2Placement3D : public IfcPlacement { +class IFC_PARSE_API IfcAxis2Placement3D : public IfcPlacement { public: /// Whether the optional attribute Axis is defined for this IfcAxis2Placement3D bool hasAxis() const; @@ -20021,7 +20021,7 @@ public: /// NOTE Corresponding ISO 10303-42 entity: boolean_result. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p.175 for the final definition of the formal standard. /// /// HISTORY: New class in IFC Release 1.5.1. -class IfcParse_EXPORT IfcBooleanResult : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcBooleanResult : public IfcGeometricRepresentationItem { public: /// The Boolean operator used in the operation to create the result. IfcBooleanOperator::IfcBooleanOperator Operator() const; @@ -20056,7 +20056,7 @@ public: /// /// A bounded surface has finite non-zero surface area. /// A bounded surface has boundary curves. -class IfcParse_EXPORT IfcBoundedSurface : public IfcSurface { +class IFC_PARSE_API IfcBoundedSurface : public IfcSurface { public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcSurface::getArgumentType(i); } @@ -20092,7 +20092,7 @@ public: /// As shown in Figure 252, the IfcBoundingBox is defined with its own location which can be used to place the IfcBoundingBox relative to the geometric coordinate system. The IfcBoundingBox is defined by the lower left corner (Corner) and the upper right corner (XDim, YDim, ZDim measured within the parent co-ordinate system). /// /// Figure 252 — Bounding box -class IfcParse_EXPORT IfcBoundingBox : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcBoundingBox : public IfcGeometricRepresentationItem { public: /// Location of the bottom left corner (having the minimum values). IfcCartesianPoint* Corner() const; @@ -20148,7 +20148,7 @@ public: /// The Enclosure therefore helps to prevent dealing with infinite-size related issues. The enclosure box is positioned within the object coordinate system, established by the ObjectPlacement of the element represented (for example, by IfcLocalPlacement). Figure 254 shows the Enclosure box being sufficiently large to fully enclose the Boolean result. /// /// Figure 254 — Boxed half space geometry -class IfcParse_EXPORT IfcBoxedHalfSpace : public IfcHalfSpaceSolid { +class IFC_PARSE_API IfcBoxedHalfSpace : public IfcHalfSpaceSolid { public: /// The box which bounds the resulting solid of the Boolean operation involving the half space solid for computational purposes only. IfcBoundingBox* Enclosure() const; @@ -20187,7 +20187,7 @@ public: /// By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. The parameterized profile is defined by a set of parameter attributes. In the illustrated example, the 'CentreOfGravityInX' property in IfcExtendedProfileProperties, if provided, is negative. /// /// Figure 315 — C-shape profile -class IfcParse_EXPORT IfcCShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcCShapeProfileDef : public IfcParameterizedProfileDef { public: /// Profile depth, see illustration above (= h). double Depth() const; @@ -20225,7 +20225,7 @@ public: /// NOTE: Corresponding STEP entity: cartesian_point, please refer to ISO/IS 10303-42:1994, p. 23 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.0 -class IfcParse_EXPORT IfcCartesianPoint : public IfcPoint { +class IFC_PARSE_API IfcCartesianPoint : public IfcPoint { public: /// The first, second, and third coordinate of the point location. If placed in a two or three dimensional rectangular Cartesian coordinate system, Coordinates[1] is the X coordinate, Coordinates[2] is the Y coordinate, and Coordinates[3] is the Z coordinate. std::vector< double > /*[1:3]*/ Coordinates() const; @@ -20243,7 +20243,7 @@ public: typedef IfcTemplatedEntityList< IfcCartesianPoint > list; }; -class IfcParse_EXPORT IfcCartesianPointList : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcCartesianPointList : public IfcGeometricRepresentationItem { public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcGeometricRepresentationItem::getArgumentType(i); } @@ -20258,7 +20258,7 @@ public: typedef IfcTemplatedEntityList< IfcCartesianPointList > list; }; -class IfcParse_EXPORT IfcCartesianPointList2D : public IfcCartesianPointList { +class IFC_PARSE_API IfcCartesianPointList2D : public IfcCartesianPointList { public: std::vector< std::vector< double > > CoordList() const; void setCoordList(std::vector< std::vector< double > > v); @@ -20275,7 +20275,7 @@ public: typedef IfcTemplatedEntityList< IfcCartesianPointList2D > list; }; -class IfcParse_EXPORT IfcCartesianPointList3D : public IfcCartesianPointList { +class IFC_PARSE_API IfcCartesianPointList3D : public IfcCartesianPointList { public: std::vector< std::vector< double > > CoordList() const; void setCoordList(std::vector< std::vector< double > > v); @@ -20321,7 +20321,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: cartesian_transformation_operator, please refer to ISO/IS 10303-42:1994, p. 32 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IfcParse_EXPORT IfcCartesianTransformationOperator : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcCartesianTransformationOperator : public IfcGeometricRepresentationItem { public: /// Whether the optional attribute Axis1 is defined for this IfcCartesianTransformationOperator bool hasAxis1() const; @@ -20358,7 +20358,7 @@ public: /// NOTE: Corresponding ISO 10303 entity : cartesian_transformation_operator_2d, please refer to ISO/IS 10303-42:1994, p. 36 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IfcParse_EXPORT IfcCartesianTransformationOperator2D : public IfcCartesianTransformationOperator { +class IFC_PARSE_API IfcCartesianTransformationOperator2D : public IfcCartesianTransformationOperator { public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcCartesianTransformationOperator::getArgumentType(i); } @@ -20382,7 +20382,7 @@ public: /// NOTE: The scale factor (Scl) defined at the supertype IfcCartesianTransformationOperator is used to express the calculated Scale factor (normally x axis scale factor). /// /// HISTORY: New entity in IFC Release 2x. -class IfcParse_EXPORT IfcCartesianTransformationOperator2DnonUniform : public IfcCartesianTransformationOperator2D { +class IFC_PARSE_API IfcCartesianTransformationOperator2DnonUniform : public IfcCartesianTransformationOperator2D { public: /// Whether the optional attribute Scale2 is defined for this IfcCartesianTransformationOperator2DnonUniform bool hasScale2() const; @@ -20406,7 +20406,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: cartesian_transformation_operator_3d, please refer to ISO/IS 10303-42:1994, p. 33 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 2x. -class IfcParse_EXPORT IfcCartesianTransformationOperator3D : public IfcCartesianTransformationOperator { +class IFC_PARSE_API IfcCartesianTransformationOperator3D : public IfcCartesianTransformationOperator { public: /// Whether the optional attribute Axis3 is defined for this IfcCartesianTransformationOperator3D bool hasAxis3() const; @@ -20436,7 +20436,7 @@ public: /// NOTE: The scale factor (Scl) defined at the supertype IfcCartesianTransformationOperator is used to express the calculated Scale factor (normally x axis scale factor). /// /// HISTORY: New entity in IFC Release 2x. -class IfcParse_EXPORT IfcCartesianTransformationOperator3DnonUniform : public IfcCartesianTransformationOperator3D { +class IFC_PARSE_API IfcCartesianTransformationOperator3DnonUniform : public IfcCartesianTransformationOperator3D { public: /// Whether the optional attribute Scale2 is defined for this IfcCartesianTransformationOperator3DnonUniform bool hasScale2() const; @@ -20472,7 +20472,7 @@ public: /// Or in case of sectioned spines, it is the xy plane of each list member of IfcSectionedSpine.CrossSectionPositions. By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. Explicit coordinate offsets are used to define cardinal points (e.g. upper-left bound). The Position attribute defines the 2D position coordinate system of the circle. The Radius attribute defines the radius of the circle. /// /// Figure 313 — Circle profile -class IfcParse_EXPORT IfcCircleProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcCircleProfileDef : public IfcParameterizedProfileDef { public: /// The radius of the circle. double Radius() const; @@ -20538,7 +20538,7 @@ public: /// The closed shell shall be an oriented arcwise connected 2-manifold. /// The Euler equation shall be satisfied. Note: Please refer to ISO/IS /// 10303-42:1994, p.149 for the equation. -class IfcParse_EXPORT IfcClosedShell : public IfcConnectedFaceSet { +class IFC_PARSE_API IfcClosedShell : public IfcConnectedFaceSet { public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcConnectedFaceSet::getArgumentType(i); } @@ -20560,7 +20560,7 @@ public: /// refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IfcParse_EXPORT IfcColourRgb : public IfcColourSpecification { +class IFC_PARSE_API IfcColourRgb : public IfcColourSpecification { public: /// The intensity of the red colour component. /// @@ -20594,7 +20594,7 @@ public: /// NOTE  Since an IfcComplexProperty may contain other complex properties, sets of properties can be nested. This nesting may be restricted by view definitions and implementer agreements. /// /// HISTORY New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. -class IfcParse_EXPORT IfcComplexProperty : public IfcProperty { +class IFC_PARSE_API IfcComplexProperty : public IfcProperty { public: /// Usage description of the IfcComplexProperty within the property set which references the IfcComplexProperty. /// NOTE: Consider a complex property for glazing properties. The Name attribute of the IfcComplexProperty could be Pset_GlazingProperties, and the UsageName attribute could be OuterGlazingPane. @@ -20622,7 +20622,7 @@ public: /// NOTE Corresponding ISO 10303 entity: composite_curve_segment. Please refer to ISO/IS 10303-42:1994, p.57 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.0 -class IfcParse_EXPORT IfcCompositeCurveSegment : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcCompositeCurveSegment : public IfcGeometricRepresentationItem { public: /// The state of transition (i.e., geometric continuity from the last point of this segment to the first point of the next segment) in a composite curve. IfcTransitionCode::IfcTransitionCode Transition() const; @@ -20663,7 +20663,7 @@ public: /// Resource types may be assigned to process types (IfcTypeProcess subtypes) using the IfcRelAssignsToProcess relationship as shown in Figure 193. Such relationship indicates that the resource type applies to the process type for the use indicated (e.g. IfcTaskType.PredefinedType). Such relationship enables a scenario of placing an IfcProduct of a particular IfcTypeProduct, querying for a set of IfcTypeProcess process types for constructing such product (e.g. IfcTaskTypeEnum.CONSTRUCTION), querying each IfcTypeProcess for a set of IfcTypeResource resource types for carrying out the process, and finally choosing an IfcTypeProcess and IfcTypeResource combination resulting in the shortest time for instantiated IfcTask occurrence(s) and/or lowest-cost for instantiated IfcConstructionResource occurrence(s). /// /// Figure 193 — Construction resource type assignment -class IfcParse_EXPORT IfcConstructionResourceType : public IfcTypeResource { +class IFC_PARSE_API IfcConstructionResourceType : public IfcTypeResource { public: /// Whether the optional attribute BaseCosts is defined for this IfcConstructionResourceType bool hasBaseCosts() const; @@ -20698,7 +20698,7 @@ public: /// IfcContext) by using IfcRelDeclares /// /// More specific relationships are introduced at the level of subtypes. -class IfcParse_EXPORT IfcContext : public IfcObjectDefinition { +class IFC_PARSE_API IfcContext : public IfcObjectDefinition { public: /// Whether the optional attribute ObjectType is defined for this IfcContext bool hasObjectType() const; @@ -20753,7 +20753,7 @@ public: /// Occurrences of the IfcCrewResourceType are represented by instances of IfcCrewResource. /// /// HISTORY New entity in IFC2x4. -class IfcParse_EXPORT IfcCrewResourceType : public IfcConstructionResourceType { +class IFC_PARSE_API IfcCrewResourceType : public IfcConstructionResourceType { public: /// Defines types of crew resources. IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum PredefinedType() const; @@ -20775,7 +20775,7 @@ public: /// NOTEÿ No directly corresponding ISO 10303-42 entity, the select type primitive_3d covers the same individual 3D CSG primitives, the position attribute has been added to apply equally to all subtypes. Please refer to ISO/IS 10303-42:1994, p. 234 for the final definition of the formal standard. /// /// HISTORYÿ New entity in IFC2x3. -class IfcParse_EXPORT IfcCsgPrimitive3D : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcCsgPrimitive3D : public IfcGeometricRepresentationItem { public: /// The placement coordinate system to which the parameters of each individual CSG primitive apply. IfcAxis2Placement3D* Position() const; @@ -20833,7 +20833,7 @@ public: /// NOTE Corresponding ISO 10303-42 entity: csg_solid, please refer to ISO/IS 10303-42:1994, p.174 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.5.1 -class IfcParse_EXPORT IfcCsgSolid : public IfcSolidModel { +class IFC_PARSE_API IfcCsgSolid : public IfcSolidModel { public: /// Boolean expression of primitives and regularized operators describing the solid. The root of the tree of Boolean expressions is given explicitly as an IfcBooleanResult entitiy or as a primitive (subtypes of IfcCsgPrimitive3D). IfcCsgSelect* TreeRootExpression() const; @@ -20860,7 +20860,7 @@ public: /// /// A curve shall be arcwise connected /// A curve shall have an arc length greater than zero. -class IfcParse_EXPORT IfcCurve : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcCurve : public IfcGeometricRepresentationItem { public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcGeometricRepresentationItem::getArgumentType(i); } @@ -20887,7 +20887,7 @@ public: /// HISTORY  New entity in IFC Release 1.5 /// /// IFC2x PLATFORM CHANGE: The data type of the attribute OuterBoundary and InnerBoundaries has been changed from Ifc2DCompositeCurve to its supertype IfcCurve with upward compatibility for file based exchange. -class IfcParse_EXPORT IfcCurveBoundedPlane : public IfcBoundedSurface { +class IFC_PARSE_API IfcCurveBoundedPlane : public IfcBoundedSurface { public: /// The surface to be bound. IfcPlane* BasisSurface() const; @@ -20931,7 +20931,7 @@ public: /// Each curve in the set of Boundaries shall be closed. /// No two curves in the set of Boundaries shall intersect. /// At most one of the boundary curves may enclose any other boundary curve. If an IfcOuterBoundaryCurve is designated, only that curve may enclose any other boundary curve. -class IfcParse_EXPORT IfcCurveBoundedSurface : public IfcBoundedSurface { +class IFC_PARSE_API IfcCurveBoundedSurface : public IfcBoundedSurface { public: /// The surface to be bounded. IfcSurface* BasisSurface() const; @@ -20960,7 +20960,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: direction. Please refer to ISO/IS 10303-42:1994, p.26 for the final definition of the formal standard. The derived attribute Dim has been added (see also note at IfcGeometricRepresentationItem). /// /// HISTORY: New entity in IFC Release 1.0 -class IfcParse_EXPORT IfcDirection : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcDirection : public IfcGeometricRepresentationItem { public: /// The components in the direction of X axis (DirectionRatios[1]), of Y axis (DirectionRatios[2]), and of Z axis (DirectionRatios[3]) std::vector< double > /*[2:3]*/ DirectionRatios() const; @@ -21003,7 +21003,7 @@ public: /// operation (swinging, sliding, folding, etc.)ÿand the number of panels. /// /// See geometry use definitions at IfcDoorStyleOperationTypeEnum for the correct usage of opening symbols for different operation types. -class IfcParse_EXPORT IfcDoorStyle : public IfcTypeProduct { +class IFC_PARSE_API IfcDoorStyle : public IfcTypeProduct { public: /// Type defining the general layout and operation of the door style. IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum OperationType() const; @@ -21040,7 +21040,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: edge_loop. Please refer to ISO/IS 10303-42:1994, p. 122 for the final definition of the formal standard. /// /// HISTORY  New Entity in IFC2x2. -class IfcParse_EXPORT IfcEdgeLoop : public IfcLoop { +class IFC_PARSE_API IfcEdgeLoop : public IfcLoop { public: /// A list of oriented edge entities which are concatenated together to form this path. IfcTemplatedEntityList< IfcOrientedEdge >::ptr EdgeList() const; @@ -21134,7 +21134,7 @@ public: /// IfcElementQuantity.Quantities = SET of subtypes of /// IfcPhysicalSimpleQuantity with values for the Name /// attribute as published as part of the IFC specifciation. -class IfcParse_EXPORT IfcElementQuantity : public IfcQuantitySet { +class IFC_PARSE_API IfcElementQuantity : public IfcQuantitySet { public: /// Whether the optional attribute MethodOfMeasurement is defined for this IfcElementQuantity bool hasMethodOfMeasurement() const; @@ -21180,7 +21180,7 @@ public: /// /// HISTORY New entity in /// Release IFC2x Edition 2 -class IfcParse_EXPORT IfcElementType : public IfcTypeProduct { +class IFC_PARSE_API IfcElementType : public IfcTypeProduct { public: /// Whether the optional attribute ElementType is defined for this IfcElementType bool hasElementType() const; @@ -21204,7 +21204,7 @@ public: /// NOTE Corresponding ISO 10303 entity: elementary_surface. Only the subtype plane is incorporated as IfcPlane. The derived attribute Dim has been added (see also note at IfcGeometricRepresentationItem). Please refer to ISO/IS 10303-42:1994, p. 69 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.5 -class IfcParse_EXPORT IfcElementarySurface : public IfcSurface { +class IFC_PARSE_API IfcElementarySurface : public IfcSurface { public: /// The position and orientation of the surface. This attribute is used in the definition of the parameterization of the surface. IfcAxis2Placement3D* Position() const; @@ -21237,7 +21237,7 @@ public: /// NOTE  The semi axes of the ellipse are rectangular to each other by definition. /// /// Figure 317 — Ellipse profile -class IfcParse_EXPORT IfcEllipseProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcEllipseProfileDef : public IfcParameterizedProfileDef { public: /// The first radius of the ellipse. It is measured along the direction of Position.P[1]. double SemiAxis1() const; @@ -21263,7 +21263,7 @@ public: /// /// An IfcEventType provides for all forms of types of event that may be specified. /// Usage of IfcEventType defines the parameters for one or more occurrences of IfcEvent. Parameters may be specified through property sets that may be enumerated in the IfcEventTypeEnum data type or through explicit attributes of IfcEvent. Event occurrences (IfcEvent entities) are linked to the event type through the IfcRelDefinesByType relationship. -class IfcParse_EXPORT IfcEventType : public IfcTypeProcess { +class IFC_PARSE_API IfcEventType : public IfcTypeProcess { public: /// Identifies the predefined types of an event from which /// the type required may be set. @@ -21360,7 +21360,7 @@ public: /// -0.5*IfcIShapeProfileDef.OverallDepth). /// /// Figure 256 — Extruded area solid textures -class IfcParse_EXPORT IfcExtrudedAreaSolid : public IfcSweptAreaSolid { +class IFC_PARSE_API IfcExtrudedAreaSolid : public IfcSweptAreaSolid { public: /// The direction in which the surface, provided by SweptArea is to be swept. IfcDirection* ExtrudedDirection() const; @@ -21479,7 +21479,7 @@ public: /// /// Mirroring within IfcDerivedProfileDef.Operator shall /// not be used -class IfcParse_EXPORT IfcExtrudedAreaSolidTapered : public IfcExtrudedAreaSolid { +class IFC_PARSE_API IfcExtrudedAreaSolidTapered : public IfcExtrudedAreaSolid { public: /// The surface defining the end of the swept area. It is given as a profile definition. The position coordinate system of the EndSwptArea is generated by translating the SELF\IfcSweptAreaSolid.Position along the SELF\IfcExtrudedAreaSolid.ExtrudedDirection by the distance of SELF\IfcExtrudedAreaSolid.Depth. IfcProfileDef* EndSweptArea() const; @@ -21508,7 +21508,7 @@ public: /// /// The connected face sets shall not overlap or intersect except at common faces, edges or vertices. /// The fbsm faces have dimensionality 2. -class IfcParse_EXPORT IfcFaceBasedSurfaceModel : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcFaceBasedSurfaceModel : public IfcGeometricRepresentationItem { public: /// The set of connected face sets comprising the face based surface model. IfcTemplatedEntityList< IfcConnectedFaceSet >::ptr FbsmFaces() const; @@ -21572,7 +21572,7 @@ public: /// HISTORY  New entity in IFC2x2. /// /// IFC2x3 CHANGE  The IfcFillAreaStyleHatching has been changed by making the attributes PatternStart and PointOfReferenceHatchLine OPTIONAL. The attribute StartOfNextHatchLine has changed to a SELECT with the additional choice of IfcPositiveLengthMeasure. Upward compatibility for file based exchange is guaranteed. -class IfcParse_EXPORT IfcFillAreaStyleHatching : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcFillAreaStyleHatching : public IfcGeometricRepresentationItem { public: /// The curve style of the hatching lines. Any curve style pattern shall start at the origin of each hatch line. IfcCurveStyle* HatchLineAppearance() const; @@ -21618,7 +21618,7 @@ public: /// NOTE Corresponding ISO 10303 name: fill_area_style_tiles. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IfcParse_EXPORT IfcFillAreaStyleTiles : public IfcGeometricRepresentationItem { +class IFC_PARSE_API IfcFillAreaStyleTiles : public IfcGeometricRepresentationItem { public: /// A two direction repeat factor defining the shape and relative positioning of the tiles. IfcTemplatedEntityList< IfcVector >::ptr TilingPattern() const; @@ -21699,7 +21699,7 @@ public: /// The FixedReference shall not be parallel to a tangent /// vector to the directrix at any point along this curve. /// The Directrix curve shall be tangent continuous. -class IfcParse_EXPORT IfcFixedReferenceSweptAreaSolid : public IfcSweptAreaSolid { +class IFC_PARSE_API IfcFixedReferenceSweptAreaSolid : public IfcSweptAreaSolid { public: /// The curve used to define the sweeping operation. The solid is generated by sweeping the SELF\IfcSweptAreaSolid.SweptArea along the Directrix. IfcCurve* Directrix() const; @@ -21757,7 +21757,7 @@ public: /// IFC2x4 CHANGE The entity is marked /// as deprecated for instantiation - will be made ABSTRACT after /// IFC2x4. -class IfcParse_EXPORT IfcFurnishingElementType : public IfcElementType { +class IFC_PARSE_API IfcFurnishingElementType : public IfcElementType { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElementType::getArgumentType(i); } @@ -21808,7 +21808,7 @@ public: /// The IfcFurnitureType may be decomposed into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcFurnitureType and RelatedObjects contains one or more components. Components are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Composition use is defined for the following predefined types: /// /// (All Types): May contain IfcSystemFurnitureElement components. Modular furniture may be aggregated into components. -class IfcParse_EXPORT IfcFurnitureType : public IfcFurnishingElementType { +class IFC_PARSE_API IfcFurnitureType : public IfcFurnishingElementType { public: /// A designation of where the assembly is intended to take place. A selection of alternatives s provided in an enumerated list. IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum AssemblyPlace() const; @@ -21890,7 +21890,7 @@ public: /// notation and additional description; in which case, any /// further attributes required would still need to be captured /// in property sets. -class IfcParse_EXPORT IfcGeographicElementType : public IfcElementType { +class IFC_PARSE_API IfcGeographicElementType : public IfcElementType { public: /// Predefined types to define the particular type of the geographic element. There may be property set definitions available for each predefined type. IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum PredefinedType() const; @@ -21914,7 +21914,7 @@ public: /// NOTE: Corresponding ISO 10303-42 entity: geometric_set. Please refer to ISO/IS 10303-42:1994, p. 190 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x2. -class IfcParse_EXPORT IfcGeometricCurveSet : public IfcGeometricSet { +class IFC_PARSE_API IfcGeometricCurveSet : public IfcGeometricSet { public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcGeometricSet::getArgumentType(i); } @@ -21991,7 +21991,7 @@ public: /// and flanges. /// /// Figure 318 — I-shape profile -class IfcParse_EXPORT IfcIShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcIShapeProfileDef : public IfcParameterizedProfileDef { public: /// Total extent of the width, defined parallel to the x axis of the position coordinate system. double OverallWidth() const; @@ -22081,7 +22081,7 @@ public: /// In the illustrated example, the x and y value of Position.Location, i.e. the measures |CentreOfGravityInX| and |CentreOfGravityInY| are both positive. On the other hand, the properties named 'CentreOfGravityInX' and 'CentreOfGravityInY' in IfcExtendedProfileProperties, if provided, must both be set to 0 now because the centre of gravity of the resulting profile definition is located in the coordinate origin. /// /// Figure 319 — L-shape profile -class IfcParse_EXPORT IfcLShapeProfileDef : public IfcParameterizedProfileDef { +class IFC_PARSE_API IfcLShapeProfileDef : public IfcParameterizedProfileDef { public: /// Leg length, see illustration above (= h). Same as the overall depth. double Depth() const; @@ -22132,7 +22132,7 @@ public: /// Occurrences of the IfcLaborResourceType are represented by instances of IfcLaborResource. /// /// HISTORY New entity in IFC2x4. -class IfcParse_EXPORT IfcLaborResourceType : public IfcConstructionResourceType { +class IFC_PARSE_API IfcLaborResourceType : public IfcConstructionResourceType { public: /// Defines types of labor resources. IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum PredefinedType() const; @@ -22162,7 +22162,7 @@ public: /// NOTE Corresponding ISO 10303 entity: line. Please refer to ISO/IS 10303-42:1994, p.37 for the final definition of the formal standard. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. /// /// HISTORY New class in IFC Release 1.0 -class IfcParse_EXPORT IfcLine : public IfcCurve { +class IFC_PARSE_API IfcLine : public IfcCurve { public: /// The location of the line. IfcCartesianPoint* Pnt() const; @@ -22245,7 +22245,7 @@ public: /// The Euler equation shall be satisfied for the boundary /// representation, where the genus term "shell term" us the sum of /// the genus values for the shells of the brep. -class IfcParse_EXPORT IfcManifoldSolidBrep : public IfcSolidModel { +class IFC_PARSE_API IfcManifoldSolidBrep : public IfcSolidModel { public: /// A closed shell defining the exterior boundary of the solid. The shell normal shall point away from the interior of the solid. IfcClosedShell* Outer() const; @@ -22344,7 +22344,7 @@ public: /// IsDeclaredBy, or Declares shall only be used, if /// the object is part of a decomposition, i.e. if either /// IsDecomposedBy, or Decomposes is exerted. -class IfcParse_EXPORT IfcObject : public IfcObjectDefinition { +class IFC_PARSE_API IfcObject : public IfcObjectDefinition { public: /// Whether the optional attribute ObjectType is defined for this IfcObject bool hasObjectType() const; @@ -22378,7 +22378,7 @@ public: /// NOTE Corresponding ISO 10303 entity: offset_curve_2d, Please refer to ISO/IS 10303-42:1994, p.65 for the final definition of the formal standard. /// /// HISTORY New entity in IFC Release 2.x -class IfcParse_EXPORT IfcOffsetCurve2D : public IfcCurve { +class IFC_PARSE_API IfcOffsetCurve2D : public IfcCurve { public: /// The curve that is being offset. IfcCurve* BasisCurve() const; @@ -22416,7 +22416,7 @@ public: /// Informal propositions: /// /// At no point on the curve shall ref direction be parallel, or opposite to, the direction of the tangent vector. -class IfcParse_EXPORT IfcOffsetCurve3D : public IfcCurve { +class IFC_PARSE_API IfcOffsetCurve3D : public IfcCurve { public: /// The curve that is being offset. IfcCurve* BasisCurve() const; @@ -22449,7 +22449,7 @@ public: /// NOTE Corresponding ISO 10303 entity: pcurve. Please refer to ISO/IS 10303-42:1994, p.59 for the final definition of the formal standard. The definition of IfcPCurve derivates from pcurve. The following changes have been made: The BasisCurve replaces the definition of reference_to_curve since there is no requirement of having same dimensionality within the representation context. /// /// HISTORY New class in IFC2x4. -class IfcParse_EXPORT IfcPcurve : public IfcCurve { +class IFC_PARSE_API IfcPcurve : public IfcCurve { public: IfcSurface* BasisSurface() const; void setBasisSurface(IfcSurface* v); @@ -22473,7 +22473,7 @@ public: /// ISO/IS 10303-46:1994, p. 141 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IfcParse_EXPORT IfcPlanarBox : public IfcPlanarExtent { +class IFC_PARSE_API IfcPlanarBox : public IfcPlanarExtent { public: /// The IfcAxis2Placement positions a local coordinate system for the definition of the rectangle. The origin of this local coordinate system serves as the lower left corner of the rectangular box. /// NOTE  In case of a 3D placement by IfcAxisPlacement3D the IfcPlanarBox is defined within the xy plane of the definition coordinate system. @@ -22527,7 +22527,7 @@ public: /// NOTE Corresponding ISO 10303 entity: plane. Please refer to ISO/IS 10303-42:1994, p.69 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.5 -class IfcParse_EXPORT IfcPlane : public IfcElementarySurface { +class IFC_PARSE_API IfcPlane : public IfcElementarySurface { public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElementarySurface::getArgumentType(i); } @@ -22546,7 +22546,7 @@ public: /// NOTE  Corresponding ISO 10303 name: pre_defined_colour. It has been made into an abstract entity in IFC. Please refer to ISO/IS 10303-46:1994, p. 141 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IfcParse_EXPORT IfcPreDefinedColour : public IfcPreDefinedItem { +class IFC_PARSE_API IfcPreDefinedColour : public IfcPreDefinedItem { public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcPreDefinedItem::getArgumentType(i); } @@ -22567,7 +22567,7 @@ public: /// NOTE: Corresponding ISO 10303 name: pre_defined_curve_font. Please refer to ISO/IS 10303-46:1994, p. 103 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x2. -class IfcParse_EXPORT IfcPreDefinedCurveFont : public IfcPreDefinedItem { +class IFC_PARSE_API IfcPreDefinedCurveFont : public IfcPreDefinedItem { public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcPreDefinedItem::getArgumentType(i); } @@ -22601,7 +22601,7 @@ public: /// using the inverse attribute DefinesOccurrence. /// Type Object: using a direct link by inverse attribute /// DefinesType. -class IfcParse_EXPORT IfcPreDefinedPropertySet : public IfcPropertySetDefinition { +class IFC_PARSE_API IfcPreDefinedPropertySet : public IfcPropertySetDefinition { public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcPropertySetDefinition::getArgumentType(i); } @@ -22628,7 +22628,7 @@ public: /// through explict attributes of IfcProcedure. Procedure occurrences /// (IfcProcedure entities) are linked to the procedure type /// through the IfcRelDefinesByType relationship. -class IfcParse_EXPORT IfcProcedureType : public IfcTypeProcess { +class IFC_PARSE_API IfcProcedureType : public IfcTypeProcess { public: /// Identifies the predefined types of a procedure from which /// the type required may be set. @@ -22686,7 +22686,7 @@ public: /// control onto the process can be assigned to a process, such as for cost management (a cost item assigned to a work task). /// Having a resource assigned to the process as consumed by the process : IfcRelAssignsToProcess - Items that act /// as a mechanism to a process, such as labor, material and equipment in cost calculations. -class IfcParse_EXPORT IfcProcess : public IfcObject { +class IFC_PARSE_API IfcProcess : public IfcObject { public: /// Whether the optional attribute Identification is defined for this IfcProcess bool hasIdentification() const; @@ -22809,7 +22809,7 @@ public: /// IfcProductDefinitionShape being either a geometric shape /// representation, or a topology representation (with or without /// underlying geometry of the topological items). -class IfcParse_EXPORT IfcProduct : public IfcObject { +class IFC_PARSE_API IfcProduct : public IfcObject { public: /// Whether the optional attribute ObjectPlacement is defined for this IfcProduct bool hasObjectPlacement() const; @@ -22878,7 +22878,7 @@ public: /// Informal propositions: /// /// There shall only be one project within the exchange context. This is enforced by the global rule IfcSingleProjectInstance. -class IfcParse_EXPORT IfcProject : public IfcContext { +class IFC_PARSE_API IfcProject : public IfcContext { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcContext::getArgumentType(i); } @@ -22916,7 +22916,7 @@ public: /// Instances of IfcProjectLibrary are assigned to the project context using the IfcRelDeclares relationship and accessible through the inverse attribute HasContext. Individual object types and property (set) templates are assigned to the IfcProjectLibrary using the IfcRelDeclares relationship and are accessible through the inverse attribute Declares. /// /// An IfcProjectLibrary may be decomposed into sub libraries using the relationship IfcRelNests. Sub libraries are accessed by the IfcProjectLibrary through the inverse attribute IsNestedBy. -class IfcParse_EXPORT IfcProjectLibrary : public IfcContext { +class IFC_PARSE_API IfcProjectLibrary : public IfcContext { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcContext::getArgumentType(i); } @@ -23034,7 +23034,7 @@ public: /// If the measure type for the upper and lover bound value /// is a numeric measure, then the following shall be true: /// UpperBoundValue > LowerBoundValue. -class IfcParse_EXPORT IfcPropertyBoundedValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyBoundedValue : public IfcSimpleProperty { public: /// Whether the optional attribute UpperBoundValue is defined for this IfcPropertyBoundedValue bool hasUpperBoundValue() const; @@ -23147,7 +23147,7 @@ public: /// /// IFC2x4 CHANGE Attribute EnumerationValues has been made OPTIONAL with upward /// compatibility for file based exchange. -class IfcParse_EXPORT IfcPropertyEnumeratedValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyEnumeratedValue : public IfcSimpleProperty { public: /// Whether the optional attribute EnumerationValues is defined for this IfcPropertyEnumeratedValue bool hasEnumerationValues() const; @@ -23238,7 +23238,7 @@ public: /// HISTORY  New Entity in Release IFC 2x Edition 2. /// /// IFC2x4 CHANGE  Attribute ListValues has been made OPTIONAL with upward compatibility for file based exchange. -class IfcParse_EXPORT IfcPropertyListValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyListValue : public IfcSimpleProperty { public: /// Whether the optional attribute ListValues is defined for this IfcPropertyListValue bool hasListValues() const; @@ -23279,7 +23279,7 @@ public: /// IFC2x4 CHANGE  Attribute /// PropertyReference has been made OPTIONAL with upward /// compatibility for file based exchange. -class IfcParse_EXPORT IfcPropertyReferenceValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyReferenceValue : public IfcSimpleProperty { public: /// Whether the optional attribute UsageName is defined for this IfcPropertyReferenceValue bool hasUsageName() const; @@ -23358,7 +23358,7 @@ public: /// Property sets that are not declared as part of the IFC /// specification shall have a Name value not including the /// "Pset_" prefix. -class IfcParse_EXPORT IfcPropertySet : public IfcPropertySetDefinition { +class IFC_PARSE_API IfcPropertySet : public IfcPropertySetDefinition { public: /// Contained set of properties. For property sets defined as part of the IFC Object model, the property objects within a property set are defined as part of the standard. If a property is not contained within the set of predefined properties, its value has not been set at this time. IfcTemplatedEntityList< IfcProperty >::ptr HasProperties() const; @@ -23406,7 +23406,7 @@ public: /// Figure 5 illustrates relationships used for property set templates. /// /// Figure 5 — Property set template relationships -class IfcParse_EXPORT IfcPropertySetTemplate : public IfcPropertyTemplateDefinition { +class IFC_PARSE_API IfcPropertySetTemplate : public IfcPropertyTemplateDefinition { public: /// Whether the optional attribute TemplateType is defined for this IfcPropertySetTemplate bool hasTemplateType() const; @@ -23488,7 +23488,7 @@ public: /// HISTORY ÿNew entity in IFC Release 1.0. The entity has been renamed from IfcSimpleProperty in IFC Release 2x. /// /// IFC2x3 CHANGE ÿAttribute NominalValue has been made OPTIONAL with upward compatibility for file based exchange. -class IfcParse_EXPORT IfcPropertySingleValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertySingleValue : public IfcSimpleProperty { public: /// Whether the optional attribute NominalValue is defined for this IfcPropertySingleValue bool hasNominalValue() const; @@ -23662,7 +23662,7 @@ public: /// /// The list of DefinedValues and the list of /// DefiningValues are corresponding lists. -class IfcParse_EXPORT IfcPropertyTableValue : public IfcSimpleProperty { +class IFC_PARSE_API IfcPropertyTableValue : public IfcSimpleProperty { public: /// Whether the optional attribute DefiningValues is defined for this IfcPropertyTableValue bool hasDefiningValues() const; @@ -23736,7 +23736,7 @@ public: /// NOTE Property templates can form part of a property library used and attached as part of a project library. In general the IfcPropertySetTemplate, containing the subtypes of IfcPropertyTemplate would be directly linked to the IfcProjectLibrary. /// /// HISTORY New Entity in IFC2x4. -class IfcParse_EXPORT IfcPropertyTemplate : public IfcPropertyTemplateDefinition { +class IFC_PARSE_API IfcPropertyTemplate : public IfcPropertyTemplateDefinition { public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcPropertyTemplateDefinition::getArgumentType(i); } @@ -23768,7 +23768,7 @@ public: /// representations assigned. /// /// HISTORY  New entity in IFC Release 1.5. -class IfcParse_EXPORT IfcProxy : public IfcProduct { +class IFC_PARSE_API IfcProxy : public IfcProduct { public: /// High level (and only) semantic meaning attached to the IfcProxy, defining the basic construct type behind the Proxy, e.g. Product or Process. IfcObjectTypeEnum::IfcObjectTypeEnum ProxyType() const; @@ -23810,7 +23810,7 @@ public: /// relative to the profile. /// /// Figure 322 — Rectangle hollow profile -class IfcParse_EXPORT IfcRectangleHollowProfileDef : public IfcRectangleProfileDef { +class IFC_PARSE_API IfcRectangleHollowProfileDef : public IfcRectangleProfileDef { public: /// Thickness of the material. double WallThickness() const; @@ -23925,7 +23925,7 @@ public: /// +Y /// /// Figure 261 — Right circular cone textures -class IfcParse_EXPORT IfcRectangularPyramid : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcRectangularPyramid : public IfcCsgPrimitive3D { public: /// The length of the base measured along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. double XLength() const; @@ -23963,7 +23963,7 @@ public: /// Informal propositions: /// /// The domain of the trimmed surface shall be within the domain of the surface being trimmed. -class IfcParse_EXPORT IfcRectangularTrimmedSurface : public IfcBoundedSurface { +class IFC_PARSE_API IfcRectangularTrimmedSurface : public IfcBoundedSurface { public: /// Surface being trimmed. IfcSurface* BasisSurface() const; @@ -24024,7 +24024,7 @@ public: /// bar role), which in turn have a section cross section property defined as a /// profile and a number of reinforcement properties, one for each steel grade / /// bar type. -class IfcParse_EXPORT IfcReinforcementDefinitionProperties : public IfcPreDefinedPropertySet { +class IFC_PARSE_API IfcReinforcementDefinitionProperties : public IfcPreDefinedPropertySet { public: /// Whether the optional attribute DefinitionType is defined for this IfcReinforcementDefinitionProperties bool hasDefinitionType() const; @@ -24057,7 +24057,7 @@ public: /// The assignment relationship establishs a bi-directional relationship among the participating objects and does not imply any dependency. The subtypes of IfcRelAssigns establishes the particular semantic meaning of the assignment relationship. /// /// HISTORY: New entity in IFC Release 2x. -class IfcParse_EXPORT IfcRelAssigns : public IfcRelationship { +class IFC_PARSE_API IfcRelAssigns : public IfcRelationship { public: /// Related objects, which are assigned to a single object. The type of the single (or relating) object is defined in the subtypes of IfcRelAssigns. IfcTemplatedEntityList< IfcObjectDefinition >::ptr RelatedObjects() const; @@ -24089,7 +24089,7 @@ public: /// Reference to the objects (or single object) on which the actor acts upon in a certain role (if given) is specified in the inherited RelatedObjects attribute. /// /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelActsUpon in IFC Release 2x. -class IfcParse_EXPORT IfcRelAssignsToActor : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToActor : public IfcRelAssigns { public: /// Reference to the information about the actor. It comprises the information about the person or organization and its addresses. IfcActor* RelatingActor() const; @@ -24116,7 +24116,7 @@ public: /// EXAMPLEÿ The assignment of a performance history (as subtype of IfcControl) for a building service element (as subtype of IfcObject) is an application of this generic relationship. /// /// HISTORYÿ New Entity in IFC Release 2.0. Has been renamed from IfcRelControls in IFC Release 2x. -class IfcParse_EXPORT IfcRelAssignsToControl : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToControl : public IfcRelAssigns { public: /// Reference to the IfcControl that applies a control upon objects. IfcControl* RelatingControl() const; @@ -24146,7 +24146,7 @@ public: /// The group assignment relationship shall be acyclic, that is, a group shall not participate in its own grouping relationship. /// /// HISTORY New entity in IFC Release 1.0. It has been renamed from IfcRelGroups in IFC Release 2x. -class IfcParse_EXPORT IfcRelAssignsToGroup : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToGroup : public IfcRelAssigns { public: /// Reference to group that contains all assigned group members. IfcGroup* RelatingGroup() const; @@ -24172,7 +24172,7 @@ public: /// The same object or object type may be included with the same or different Factor values to many groups. Grouping relationships are not hierarchical. /// /// HISTORY New entity in IFC2x4. -class IfcParse_EXPORT IfcRelAssignsToGroupByFactor : public IfcRelAssignsToGroup { +class IFC_PARSE_API IfcRelAssignsToGroupByFactor : public IfcRelAssignsToGroup { public: /// Factor provided as a ratio measure that identifies the fraction or weighted factor that applies to the group assignment. double Factor() const; @@ -24211,7 +24211,7 @@ public: /// HISTORY New entity in IFC Release 1.5. Has been renamed from IfcRelProcessOperatesOn in IFC Release 2x. /// /// IFC2x4 CHANGE The data type RelatingProcess has been extended to cover also IfcTypeProcess -class IfcParse_EXPORT IfcRelAssignsToProcess : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToProcess : public IfcRelAssigns { public: /// Reference to the process to which the objects are assigned to. /// @@ -24243,7 +24243,7 @@ public: /// HISTORY New Entity in IFC Release 2x /// /// IFC2x3 CHANGE ÿThe reference of a product within a spatial structure is now handled by a new relationship object IfcRelReferencedInSpatialStructure. The IfcRelAssignsToProduct shall not be used to represent this relation from IFC2x3 onwards. -class IfcParse_EXPORT IfcRelAssignsToProduct : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToProduct : public IfcRelAssigns { public: /// Reference to the product or product type to which the objects are assigned to. /// @@ -24268,7 +24268,7 @@ public: /// EXAMPLE The assignment of a resource usage to a construction resource is an application of this generic relationship. It could be an actor, as person or organization assigned to a labor resource, or a raw product assigned to a construction product or material resource). /// /// HISTORY New Entity in IFC Release 2x. -class IfcParse_EXPORT IfcRelAssignsToResource : public IfcRelAssigns { +class IFC_PARSE_API IfcRelAssignsToResource : public IfcRelAssigns { public: /// Reference to the resource to which the objects are assigned to. /// @@ -24328,7 +24328,7 @@ public: /// HISTORY New entity in IFC Release 2x. /// /// IFC2x4 CHANGE Entity has been changed into an ABSTRACT supertype -class IfcParse_EXPORT IfcRelAssociates : public IfcRelationship { +class IFC_PARSE_API IfcRelAssociates : public IfcRelationship { public: /// Set of object or property definitions to which the external references or information is associated. It includes object and type objects, property set templates, property templates and property sets and contexts. /// @@ -24350,7 +24350,7 @@ public: /// The entity IfcRelAssociatesApproval is used to apply approval information defined by IfcApproval, in IfcApprovalResource schema, to subtypes of IfcRoot. /// /// HISTORY: New entity in IFC2x2. -class IfcParse_EXPORT IfcRelAssociatesApproval : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesApproval : public IfcRelAssociates { public: /// Reference to approval that is being applied using this relationship. IfcApproval* RelatingApproval() const; @@ -24397,7 +24397,7 @@ public: /// multiple objects. /// /// HISTORY New entity in IFC Release 2x. -class IfcParse_EXPORT IfcRelAssociatesClassification : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesClassification : public IfcRelAssociates { public: /// Classification applied to the objects. IfcClassificationSelect* RelatingClassification() const; @@ -24417,7 +24417,7 @@ public: /// The entity IfcRelAssociatesConstraint is used to apply constraint information defined by IfcConstraint, in the IfcConstraintResource schema, to subtypes of IfcRoot. /// /// HISTORY: New entity in IFC2x2. -class IfcParse_EXPORT IfcRelAssociatesConstraint : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesConstraint : public IfcRelAssociates { public: /// Whether the optional attribute Intent is defined for this IfcRelAssociatesConstraint bool hasIntent() const; @@ -24446,7 +24446,7 @@ public: /// The inherited attribute RelatedObjects define the objects to which the document association is applied. The attribute RelatingDocument is the reference to a document reference, applied to the object(s). /// /// HISTORY: New entity in IFC Release 2x. -class IfcParse_EXPORT IfcRelAssociatesDocument : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesDocument : public IfcRelAssociates { public: /// Document information or reference which is applied to the objects. IfcDocumentSelect* RelatingDocument() const; @@ -24470,7 +24470,7 @@ public: /// The inherited attribute RelatedObjects define the items to which the library association is applied. The attribute RelatingLibrary is the reference to a library reference, applied to the item(s). /// /// HISTORY: New entity in IFC Release 2x. -class IfcParse_EXPORT IfcRelAssociatesLibrary : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesLibrary : public IfcRelAssociates { public: /// Reference to a library, from which the definition of the property set is taken. IfcLibrarySelect* RelatingLibrary() const; @@ -24581,7 +24581,7 @@ public: /// An IfcMaterialProfileSetUsage shall not be associated /// with a subtype of IfcElementType, it should only be /// associated with individual occurrences -class IfcParse_EXPORT IfcRelAssociatesMaterial : public IfcRelAssociates { +class IFC_PARSE_API IfcRelAssociatesMaterial : public IfcRelAssociates { public: /// Material definition assigned to the elements or element types. IfcMaterialSelect* RelatingMaterial() const; @@ -24601,7 +24601,7 @@ public: /// IfcRelConnects is a connectivity relationship that connects objects under some criteria. As a general connectivity it does not imply constraints, however subtypes of the relationship define the applicable object types for the connectivity relationship and the semantics of the particular connectivity. /// /// HISTORY: New entity in IFC Release 2x. -class IfcParse_EXPORT IfcRelConnects : public IfcRelationship { +class IFC_PARSE_API IfcRelConnects : public IfcRelationship { public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcRelationship::getArgumentType(i); } @@ -24637,7 +24637,7 @@ public: /// /// HISTORY New entity in IFC /// Release 1.0. -class IfcParse_EXPORT IfcRelConnectsElements : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsElements : public IfcRelConnects { public: /// Whether the optional attribute ConnectionGeometry is defined for this IfcRelConnectsElements bool hasConnectionGeometry() const; @@ -24694,7 +24694,7 @@ public: /// /// Figure 116 — Path connection T-Type /// Figure 117 — Path connection L-Type -class IfcParse_EXPORT IfcRelConnectsPathElements : public IfcRelConnectsElements { +class IFC_PARSE_API IfcRelConnectsPathElements : public IfcRelConnectsElements { public: /// Priorities for connection. It refers to the layers of the RelatingObject. std::vector< int > /*[0:?]*/ RelatingPriorities() const; @@ -24745,7 +24745,7 @@ public: /// entity in Release IFC2x Edition 2. /// IFC2x4 CHANGE  The /// definition has been extended to include element types. -class IfcParse_EXPORT IfcRelConnectsPortToElement : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsPortToElement : public IfcRelConnects { public: /// Reference to an Port that is connected by the objectified relationship. IfcPort* RelatingPort() const; @@ -24780,7 +24780,7 @@ public: /// /// HISTORY New entity in IFC /// 2.0, modified in IFC2x. -class IfcParse_EXPORT IfcRelConnectsPorts : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsPorts : public IfcRelConnects { public: /// Reference to the first port that is connected by the objectified relationship. IfcPort* RelatingPort() const; @@ -24808,7 +24808,7 @@ public: /// Definition from IAI: The IfcRelConnectsStructuralActivity relationship connects a structural activity (either an action or reaction) to a structural member, structural connection, or element. /// /// HISTORY: New entity in IFC 2x2. -class IfcParse_EXPORT IfcRelConnectsStructuralActivity : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsStructuralActivity : public IfcRelConnects { public: /// Reference to a structural item or element to which the specified activity is applied. IfcStructuralActivityAssignmentSelect* RelatingElement() const; @@ -24852,7 +24852,7 @@ public: /// Figure 235 illustrates the appropriate definition of support lengths. /// /// Figure 235 — Structural member support lengths -class IfcParse_EXPORT IfcRelConnectsStructuralMember : public IfcRelConnects { +class IFC_PARSE_API IfcRelConnectsStructuralMember : public IfcRelConnects { public: /// Reference to an instance of IfcStructuralMember (or its subclasses) which is connected to the specified structural connection. IfcStructuralMember* RelatingStructuralMember() const; @@ -24909,7 +24909,7 @@ public: /// /// Surface Connection /// ConnectionConstraint shall be of type IfcConnectionSurfaceGeometry and shall refer to two instances of IfcFaceSurface. -class IfcParse_EXPORT IfcRelConnectsWithEccentricity : public IfcRelConnectsStructuralMember { +class IFC_PARSE_API IfcRelConnectsWithEccentricity : public IfcRelConnectsStructuralMember { public: /// The connection constraint explicitly states the eccentricity between a structural member and a structural connection by means of two topological objects (vertex and vertex, or edge and edge, or face and face). IfcConnectionGeometry* ConnectionConstraint() const; @@ -24949,7 +24949,7 @@ public: /// /// HISTORY: New entity in /// Release IFC2x Edition 2. -class IfcParse_EXPORT IfcRelConnectsWithRealizingElements : public IfcRelConnectsElements { +class IFC_PARSE_API IfcRelConnectsWithRealizingElements : public IfcRelConnectsElements { public: /// Defines the elements that realize a connection relationship. IfcTemplatedEntityList< IfcElement >::ptr RealizingElements() const; @@ -25033,7 +25033,7 @@ public: /// ÿ /// /// Figure 39 — Relationship for spatial structure containment -class IfcParse_EXPORT IfcRelContainedInSpatialStructure : public IfcRelConnects { +class IFC_PARSE_API IfcRelContainedInSpatialStructure : public IfcRelConnects { public: /// Set of elements products, which are contained within this level of the spatial structure hierarchy. /// @@ -25071,7 +25071,7 @@ public: /// type of the attribute RelatingElement has been changed /// from IfcElement to its subtype /// IfcBuildingElement. -class IfcParse_EXPORT IfcRelCoversBldgElements : public IfcRelConnects { +class IFC_PARSE_API IfcRelCoversBldgElements : public IfcRelConnects { public: /// Relationship to the building element that is covered. /// @@ -25119,7 +25119,7 @@ public: /// /// HISTORYÿ New Entity in Release /// IFC 2x Edition 3. -class IfcParse_EXPORT IfcRelCoversSpaces : public IfcRelConnects { +class IFC_PARSE_API IfcRelCoversSpaces : public IfcRelConnects { public: /// Relationship to the space object that is covered. /// @@ -25152,7 +25152,7 @@ public: /// The RelatingContext is the project, or project library that comprises all elements. The unit assignments and the presentation contexts defined at IfcProject or IfcProjectLibrary apply to all these elements. /// /// HISTORY New entity in Release IFC2x4. -class IfcParse_EXPORT IfcRelDeclares : public IfcRelationship { +class IFC_PARSE_API IfcRelDeclares : public IfcRelationship { public: /// Reference to the IfcProject to which additional information is assigned. IfcContext* RelatingContext() const; @@ -25202,7 +25202,7 @@ public: /// HISTORY New entity in IFC Release 1.5, it is a generalisation of the IFC2.0 entity IfcRelNests. /// /// IFC2x4 CHANGE The differentiation between the aggregation and nesting is determined to be a non-ordered or an ordered collection of parts. The attributes RelatingObject and RelatedObjects have been demoted to the subtypes. -class IfcParse_EXPORT IfcRelDecomposes : public IfcRelationship { +class IFC_PARSE_API IfcRelDecomposes : public IfcRelationship { public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcRelationship::getArgumentType(i); } @@ -25243,7 +25243,7 @@ public: /// /// IFC2x4 CHANGE The attribute RelatedObjects had been demoted to the subtypes IfcRelDefinesByProperties and /// IfcRelDefinesByType. -class IfcParse_EXPORT IfcRelDefines : public IfcRelationship { +class IFC_PARSE_API IfcRelDefines : public IfcRelationship { public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcRelationship::getArgumentType(i); } @@ -25272,7 +25272,7 @@ public: /// The IfcRelDefinesByObject can be used together with the shape representations of the product type as shown in Figure 7. The IfcShapeRepresentation of the "declaring part" is referenced by the "reflected part". The IfcObjectPlacement of the model occurrence (the whole) determines the position within the project context. /// /// Figure 7 — Part definition relationships with shape representation -class IfcParse_EXPORT IfcRelDefinesByObject : public IfcRelDefines { +class IFC_PARSE_API IfcRelDefinesByObject : public IfcRelDefines { public: /// Objects being part of an object occurrence decomposition, acting as the "reflecting parts" in the relationship. IfcTemplatedEntityList< IfcObject >::ptr RelatedObjects() const; @@ -25307,7 +25307,7 @@ public: /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelAssignsProperties in IFC Release 2x. /// /// IFC2x4 CHANGE The attribute RelatedObjects had been demoted from the supertype IfcRelDefines to IfcRelDefinesByProperties. -class IfcParse_EXPORT IfcRelDefinesByProperties : public IfcRelDefines { +class IFC_PARSE_API IfcRelDefinesByProperties : public IfcRelDefines { public: /// Reference to the objects (or single object) to which the property definition applies. IfcTemplatedEntityList< IfcObjectDefinition >::ptr RelatedObjects() const; @@ -25339,7 +25339,7 @@ public: /// the same property set template definition. /// /// HISTORY New Entity in IFC2x4. -class IfcParse_EXPORT IfcRelDefinesByTemplate : public IfcRelDefines { +class IFC_PARSE_API IfcRelDefinesByTemplate : public IfcRelDefines { public: /// One or many property sets defined by a single property set template. IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr RelatedPropertySets() const; @@ -25430,7 +25430,7 @@ public: /// ÿ-ÿExtendToStructure = FALSE /// ÿ-ÿExtendToStructure = TRUE /// FALSE -class IfcParse_EXPORT IfcRelDefinesByType : public IfcRelDefines { +class IFC_PARSE_API IfcRelDefinesByType : public IfcRelDefines { public: IfcTemplatedEntityList< IfcObject >::ptr RelatedObjects() const; void setRelatedObjects(IfcTemplatedEntityList< IfcObject >::ptr v); @@ -25458,7 +25458,7 @@ public: /// As shown in Figure 40, the insertion of a door into a wall is represented by two separate relationships. First the door opening is created within the wall by IfcWall(StandardCase) o-- IfcRelVoidsElement --o IfcOpeningElement, then the door is inserted within the opening by IfcOpeningElement o-- IfcRelFillsElement --o IfcDoor. /// /// Figure 40 — Relationships for element filling -class IfcParse_EXPORT IfcRelFillsElement : public IfcRelConnects { +class IFC_PARSE_API IfcRelFillsElement : public IfcRelConnects { public: /// Opening Element being filled by virtue of this relationship. IfcOpeningElement* RelatingOpeningElement() const; @@ -25487,7 +25487,7 @@ public: /// This relationship implies a sensing or controlling relationship; if elements are merely connected without any control relationship, then IfcRelConnectsElements should be used. /// /// HISTORY: New entity in IFC R2x. -class IfcParse_EXPORT IfcRelFlowControlElements : public IfcRelConnects { +class IFC_PARSE_API IfcRelFlowControlElements : public IfcRelConnects { public: /// References control elements which may be used to impart control on the Distribution Element. IfcTemplatedEntityList< IfcDistributionControlElement >::ptr RelatedControlElements() const; @@ -25554,7 +25554,7 @@ public: /// /// HISTORYÿ New entity in /// IFC2x4. -class IfcParse_EXPORT IfcRelInterferesElements : public IfcRelConnects { +class IFC_PARSE_API IfcRelInterferesElements : public IfcRelConnects { public: /// Reference to a subtype of IfcElement that is the RelatingElement in the interference relationship. Depending on the value of ImpliedOrder the RelatingElement may carry the notion to be the element from which the interference geometry should be subtracted. IfcElement* RelatingElement() const; @@ -25612,7 +25612,7 @@ public: /// HISTORY New entity in IFC Release 2.0 /// /// IFC2x4 CHANGE The attributes RelatingObject and RelatedObjects are demoted from the supertype IfcRelDecomposes, and RelatedObjects is refined to be a list. The use of IfcRelNests is repurposed to be a nesting of an ordered collections of parts. -class IfcParse_EXPORT IfcRelNests : public IfcRelDecomposes { +class IFC_PARSE_API IfcRelNests : public IfcRelDecomposes { public: /// The object definition, either an non-product object type or a non-product object occurrence, that represents the nest. It is the whole within the whole/part relationship. /// @@ -25668,7 +25668,7 @@ public: /// Release IFC2x Edition 2. /// IFC2x4 CHANGE  /// Supertype changed to IfcRelDecomposes. -class IfcParse_EXPORT IfcRelProjectsElement : public IfcRelDecomposes { +class IFC_PARSE_API IfcRelProjectsElement : public IfcRelDecomposes { public: /// Element at which a projection is created by the associated IfcProjectionElement. IfcElement* RelatingElement() const; @@ -25737,7 +25737,7 @@ public: /// Figure 41 shows the use of IfcRelContainedInSpatialStructure and IfcRelReferencedInSpatialStructure to assign an IfcCurtainWallÿto two different levels within the spatial structure. It is primarily contained within the ground floor, and additionally referenced within the first and second floor. /// /// Figure 41 — Relationship for spatial structure referencing -class IfcParse_EXPORT IfcRelReferencedInSpatialStructure : public IfcRelConnects { +class IFC_PARSE_API IfcRelReferencedInSpatialStructure : public IfcRelConnects { public: /// Set of products, which are referenced within this level of the spatial structure hierarchy. /// NOTE  Referenced elements are contained elsewhere within the spatial structure, they are referenced additionally by this spatial structure element, e.g., because they span several stories. @@ -25814,7 +25814,7 @@ public: /// depending on the setting of the sequence type since there /// is no checking that the time lag value is in keeping with /// the sequence type set. -class IfcParse_EXPORT IfcRelSequence : public IfcRelConnects { +class IFC_PARSE_API IfcRelSequence : public IfcRelConnects { public: /// Reference to the process, that is the predecessor. IfcProcess* RelatingProcess() const; @@ -25880,7 +25880,7 @@ public: /// for file based exchange. The name /// IfcRelServicesBuildings is a knownÿanomaly, as the /// relationship is not restricted to buildings anymore. -class IfcParse_EXPORT IfcRelServicesBuildings : public IfcRelConnects { +class IFC_PARSE_API IfcRelServicesBuildings : public IfcRelConnects { public: /// System that services the Buildings. IfcSystem* RelatingSystem() const; @@ -26066,7 +26066,7 @@ public: /// /// Curve: IfcPolyline, IfcTrimmedCurve or /// IfcCompositeCurve -class IfcParse_EXPORT IfcRelSpaceBoundary : public IfcRelConnects { +class IFC_PARSE_API IfcRelSpaceBoundary : public IfcRelConnects { public: /// Reference to one spaces that is delimited by this boundary. IfcSpaceBoundarySelect* RelatingSpace() const; @@ -26150,7 +26150,7 @@ public: /// See the definition at the supertype IfcRelSpaceBoundary for /// guidance on using the connection geometry for first level space /// boundaries. -class IfcParse_EXPORT IfcRelSpaceBoundary1stLevel : public IfcRelSpaceBoundary { +class IFC_PARSE_API IfcRelSpaceBoundary1stLevel : public IfcRelSpaceBoundary { public: /// Whether the optional attribute ParentBoundary is defined for this IfcRelSpaceBoundary1stLevel bool hasParentBoundary() const; @@ -26202,7 +26202,7 @@ public: /// See the definition at the supertype IfcRelSpaceBoundary /// for guidance on using the connection geometry for second level /// space boundaries. -class IfcParse_EXPORT IfcRelSpaceBoundary2ndLevel : public IfcRelSpaceBoundary1stLevel { +class IFC_PARSE_API IfcRelSpaceBoundary2ndLevel : public IfcRelSpaceBoundary1stLevel { public: /// Whether the optional attribute CorrespondingBoundary is defined for this IfcRelSpaceBoundary2ndLevel bool hasCorrespondingBoundary() const; @@ -26229,7 +26229,7 @@ public: /// Figure 50 — Relationship for element voiding /// /// HISTORY New entity in IFC Release 1.0 -class IfcParse_EXPORT IfcRelVoidsElement : public IfcRelDecomposes { +class IFC_PARSE_API IfcRelVoidsElement : public IfcRelDecomposes { public: IfcElement* RelatingBuildingElement() const; void setRelatingBuildingElement(IfcElement* v); @@ -26270,7 +26270,7 @@ public: /// NOTE Corresponding STEP entity: reparametrised_composite_curve_segment. Please refer to ISO/IS 10303-42:1994, p.59 for the final definition of the formal standard. /// /// HISTORY New class in IFC2x4 -class IfcParse_EXPORT IfcReparametrisedCompositeCurveSegment : public IfcCompositeCurveSegment { +class IFC_PARSE_API IfcReparametrisedCompositeCurveSegment : public IfcCompositeCurveSegment { public: double ParamLength() const; void setParamLength(double v); @@ -26299,7 +26299,7 @@ public: /// HISTORY New entity in IFC Release 1.0 /// /// IFC2x PLATFORM CHANGE: The attributes BaseUnit and ResourceConsumption have been removed from the abstract entity; they are reintroduced at a lower level in the hierarchy. -class IfcParse_EXPORT IfcResource : public IfcObject { +class IFC_PARSE_API IfcResource : public IfcObject { public: /// Whether the optional attribute Identification is defined for this IfcResource bool hasIdentification() const; @@ -26405,7 +26405,7 @@ public: /// Figure 263 illustrates default texture mapping with a repeated texture (RepeatS=True and RepeatT=True). The image on the left shows the texture where the S axis points to the right and the T axis points up. The image on the right shows the texture applied to the geometry where the X axis points back to the right, the Y axis points back to the left, and the Z axis points up. For an IfcRevolvedAreaSolid having a profile of IfcTShapeProfileDef and revolved at 22.5 degrees, the side texture coordinate origin is the first corner counter-clockwise from the +Y axis, which equals (-0.5*IfcTShapeProfileDef.OverallWidth, +0.5*IfcTShapeProfileDef.OverallDepth), while the top (end cap) texture coordinates start at (-0.5*IfcTShapeProfileDef.OverallWidth, -0.5*IfcTShapeProfileDef.OverallDepth). /// /// Figure 263 — Revolved area solid textures -class IfcParse_EXPORT IfcRevolvedAreaSolid : public IfcSweptAreaSolid { +class IFC_PARSE_API IfcRevolvedAreaSolid : public IfcSweptAreaSolid { public: /// Axis about which revolution will take place. IfcAxis1Placement* Axis() const; @@ -26483,7 +26483,7 @@ public: /// /// Mirroring within IfcDerivedProfileDef.Operator shall /// not be used -class IfcParse_EXPORT IfcRevolvedAreaSolidTapered : public IfcRevolvedAreaSolid { +class IFC_PARSE_API IfcRevolvedAreaSolidTapered : public IfcRevolvedAreaSolid { public: IfcProfileDef* EndSweptArea() const; void setEndSweptArea(IfcProfileDef* v); @@ -26564,7 +26564,7 @@ public: /// +Y /// /// Figure 265 — Right circular cone textures -class IfcParse_EXPORT IfcRightCircularCone : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcRightCircularCone : public IfcCsgPrimitive3D { public: /// The distance between the base of the cone and the apex. double Height() const; @@ -26665,7 +26665,7 @@ public: /// +Y /// /// Figure 267 — Right circular cylinder textures -class IfcParse_EXPORT IfcRightCircularCylinder : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcRightCircularCylinder : public IfcCsgPrimitive3D { public: /// The distance between the planar circular faces of the cylinder. double Height() const; @@ -26730,7 +26730,7 @@ public: /// are unique. /// /// Figure 9 — Property template relationships -class IfcParse_EXPORT IfcSimplePropertyTemplate : public IfcPropertyTemplate { +class IFC_PARSE_API IfcSimplePropertyTemplate : public IfcPropertyTemplate { public: /// Whether the optional attribute TemplateType is defined for this IfcSimplePropertyTemplate bool hasTemplateType() const; @@ -26838,7 +26838,7 @@ public: /// /// HISTORY New entity in IFC /// Release 2x Edition 4. -class IfcParse_EXPORT IfcSpatialElement : public IfcProduct { +class IFC_PARSE_API IfcSpatialElement : public IfcProduct { public: /// Whether the optional attribute LongName is defined for this IfcSpatialElement bool hasLongName() const; @@ -26893,7 +26893,7 @@ public: /// /// HISTORY ÿNew entity in Release /// IFC2x Edition 4. -class IfcParse_EXPORT IfcSpatialElementType : public IfcTypeProduct { +class IFC_PARSE_API IfcSpatialElementType : public IfcTypeProduct { public: /// Whether the optional attribute ElementType is defined for this IfcSpatialElementType bool hasElementType() const; @@ -26986,7 +26986,7 @@ public: /// Figure 62 shows the use of IfcRelAggregates to establish a spatial structure including site, building, building section and storey. More information is provided at the level of the subtypes. /// /// Figure 62 — Spatial structure element composition -class IfcParse_EXPORT IfcSpatialStructureElement : public IfcSpatialElement { +class IFC_PARSE_API IfcSpatialStructureElement : public IfcSpatialElement { public: /// Whether the optional attribute CompositionType is defined for this IfcSpatialStructureElement bool hasCompositionType() const; @@ -27042,7 +27042,7 @@ public: /// /// HISTORY ÿNew entity in /// Release IFC2x Edition 3. -class IfcParse_EXPORT IfcSpatialStructureElementType : public IfcSpatialElementType { +class IFC_PARSE_API IfcSpatialStructureElementType : public IfcSpatialElementType { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcSpatialElementType::getArgumentType(i); } @@ -27105,7 +27105,7 @@ public: /// /// HISTORY New entity in /// IFC Release 2x Edition 4. -class IfcParse_EXPORT IfcSpatialZone : public IfcSpatialElement { +class IFC_PARSE_API IfcSpatialZone : public IfcSpatialElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcSpatialZone bool hasPredefinedType() const; @@ -27154,7 +27154,7 @@ public: /// /// HISTORY ÿNew entity in Release /// IFC2x Edition 4. -class IfcParse_EXPORT IfcSpatialZoneType : public IfcSpatialElementType { +class IFC_PARSE_API IfcSpatialZoneType : public IfcSpatialElementType { public: /// Predefined types to define the particular type of the spatial zone. There may be property set definitions available for each predefined type. IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum PredefinedType() const; @@ -27225,7 +27225,7 @@ public: /// (+Y, then curving towards top) /// /// Figure 271 — Sphere textures -class IfcParse_EXPORT IfcSphere : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcSphere : public IfcCsgPrimitive3D { public: /// The radius of the sphere. double Radius() const; @@ -27335,7 +27335,7 @@ public: /// /// RepresentationIdentifier: 'Level set' /// RepresentationType: 'GeometricCurveSet' -class IfcParse_EXPORT IfcStructuralActivity : public IfcProduct { +class IFC_PARSE_API IfcStructuralActivity : public IfcProduct { public: /// Load or result resource object which defines the load type, direction, and load values. /// @@ -27461,7 +27461,7 @@ public: /// NOTE  This rule is necessary to achieve consistent topology representations. The topology representations of structural items in an analysis model are meant to share vertices and edges und must therefore have the same object placement. /// /// NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. -class IfcParse_EXPORT IfcStructuralItem : public IfcProduct { +class IFC_PARSE_API IfcStructuralItem : public IfcProduct { public: virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcProduct::getArgumentType(i); } @@ -27480,7 +27480,7 @@ public: /// /// HISTORY: New entity in IFC 2x2. /// IFC 2x4 change: Use definitions moved to supertype and subtypes. -class IfcParse_EXPORT IfcStructuralMember : public IfcStructuralItem { +class IFC_PARSE_API IfcStructuralMember : public IfcStructuralItem { public: virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcStructuralItem::getArgumentType(i); } @@ -27515,7 +27515,7 @@ public: /// IfcRelAssignsToProduct relationship object. IfcRelAssignsToProduct.Name is set to /// 'Causes' and IfcRelAssignsToProduct.RelatingProduct refers to an instance of a subtype of /// IfcStructuralAction. -class IfcParse_EXPORT IfcStructuralReaction : public IfcStructuralActivity { +class IFC_PARSE_API IfcStructuralReaction : public IfcStructuralActivity { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcStructuralActivity::getArgumentType(i); } @@ -27549,7 +27549,7 @@ public: /// Topology Use Definitions: /// /// Direct instances of IfcStructuralSurfaceMember shall have a topology representation which consists of one IfcFaceSurface, representing the reference surface of the surface member. See definitions at IfcStructuralItem for further specifications. -class IfcParse_EXPORT IfcStructuralSurfaceMember : public IfcStructuralMember { +class IFC_PARSE_API IfcStructuralSurfaceMember : public IfcStructuralMember { public: /// Type of member with respect to its load carrying behavior in this analysis idealization. IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum PredefinedType() const; @@ -27589,7 +27589,7 @@ public: /// Topology Use Definitions: /// /// In case of aggregation, instances of IfcStructuralSurfaceMemberVarying may have a topology representation which contains a single IfcConnectedFaceSet, based upon the faces of the parts. Otherwise, definitions at IfcStructuralSurfaceMember apply. -class IfcParse_EXPORT IfcStructuralSurfaceMemberVarying : public IfcStructuralSurfaceMember { +class IFC_PARSE_API IfcStructuralSurfaceMemberVarying : public IfcStructuralSurfaceMember { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcStructuralSurfaceMember::getArgumentType(i); } @@ -27625,7 +27625,7 @@ public: /// NOTE  Isocontours are represented as IfcPCurves which are defined in terms of surface parameters u,v, while result locations are given in local surface item coordinates x,y. It is strongly recommended that the surface parameterization u,v is scaled 1:1 in order to avoid different scales of u,v versus x,y. If u,v are scaled 1:1 and the IfcPCurve's base surface is identical with the surface item's base surface, u,v and local x,y are identical. /// /// All items in SELF\IfcStructuralActivity.AppliedLoad\IfcStructuralLoadConfiguration.Values shall be of the same entity type. -class IfcParse_EXPORT IfcStructuralSurfaceReaction : public IfcStructuralReaction { +class IFC_PARSE_API IfcStructuralSurfaceReaction : public IfcStructuralReaction { public: /// Type of reaction according to its distribution of load values. IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum PredefinedType() const; @@ -27653,7 +27653,7 @@ public: /// Occurrences of the IfcSubContractResourceType are represented by instances of IfcSubContractResource. /// /// HISTORY New entity in IFC2x4. -class IfcParse_EXPORT IfcSubContractResourceType : public IfcConstructionResourceType { +class IFC_PARSE_API IfcSubContractResourceType : public IfcConstructionResourceType { public: /// Defines types of subcontract resources. IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum PredefinedType() const; @@ -27732,7 +27732,7 @@ public: /// The SweptArea shall lie in the plane z = 0. /// The Directrix shall lie on the /// ReferenceSurface. -class IfcParse_EXPORT IfcSurfaceCurveSweptAreaSolid : public IfcSweptAreaSolid { +class IFC_PARSE_API IfcSurfaceCurveSweptAreaSolid : public IfcSweptAreaSolid { public: /// The curve used to define the sweeping operation. The solid is generated by sweeping the SELF\IfcSweptAreaSolid.SweptArea along the Directrix. IfcCurve* Directrix() const; @@ -27779,7 +27779,7 @@ public: /// Informal propositions: /// /// The surface shall not self-intersect -class IfcParse_EXPORT IfcSurfaceOfLinearExtrusion : public IfcSweptSurface { +class IFC_PARSE_API IfcSurfaceOfLinearExtrusion : public IfcSweptSurface { public: /// The direction of the extrusion. IfcDirection* ExtrudedDirection() const; @@ -27816,7 +27816,7 @@ public: /// /// The surface shall not self-intersect /// The swept curve shall not be coincident with the axis line for any finite part of its legth. -class IfcParse_EXPORT IfcSurfaceOfRevolution : public IfcSweptSurface { +class IFC_PARSE_API IfcSurfaceOfRevolution : public IfcSweptSurface { public: /// A point on the axis of revolution and the direction of the axis of revolution. IfcAxis1Placement* AxisPosition() const; @@ -27863,7 +27863,7 @@ public: /// 'Hardware': Finish hardware such as knobs or handles. /// 'Padding': Padding such as cushions. /// 'Panel': Panels such as glass. -class IfcParse_EXPORT IfcSystemFurnitureElementType : public IfcFurnishingElementType { +class IFC_PARSE_API IfcSystemFurnitureElementType : public IfcFurnishingElementType { public: /// Whether the optional attribute PredefinedType is defined for this IfcSystemFurnitureElementType bool hasPredefinedType() const; @@ -28126,7 +28126,7 @@ public: /// require attention. /// Use LongDescription or else identify sub-tasks to /// track punch list items individually via IfcRelNests. -class IfcParse_EXPORT IfcTask : public IfcProcess { +class IFC_PARSE_API IfcTask : public IfcProcess { public: /// Whether the optional attribute Status is defined for this IfcTask bool hasStatus() const; @@ -28229,7 +28229,7 @@ public: /// define task times (for example, duration) and/or a task sequence. /// /// Figure 16 — Task type relationships -class IfcParse_EXPORT IfcTaskType : public IfcTypeProcess { +class IFC_PARSE_API IfcTaskType : public IfcTypeProcess { public: /// Identifies the predefined types of a task type from which /// the type required may be set. @@ -28253,7 +28253,7 @@ public: typedef IfcTemplatedEntityList< IfcTaskType > list; }; -class IfcParse_EXPORT IfcTessellatedFaceSet : public IfcTessellatedItem { +class IFC_PARSE_API IfcTessellatedFaceSet : public IfcTessellatedItem { public: IfcCartesianPointList3D* Coordinates() const; void setCoordinates(IfcCartesianPointList3D* v); @@ -28342,7 +28342,7 @@ public: /// RepresentationIdentifier and RepresentationType of /// IfcShapeRepresentation are restricted in the same way as /// those for IfcTransportElementType. -class IfcParse_EXPORT IfcTransportElementType : public IfcElementType { +class IFC_PARSE_API IfcTransportElementType : public IfcElementType { public: /// Predefined types to define the particular type of the transport element. There may be property set definitions available for each predefined type. IfcTransportElementTypeEnum::IfcTransportElementTypeEnum PredefinedType() const; @@ -28360,7 +28360,7 @@ public: typedef IfcTemplatedEntityList< IfcTransportElementType > list; }; -class IfcParse_EXPORT IfcTriangulatedFaceSet : public IfcTessellatedFaceSet { +class IFC_PARSE_API IfcTriangulatedFaceSet : public IfcTessellatedFaceSet { public: std::vector< std::vector< int > > CoordIndex() const; void setCoordIndex(std::vector< std::vector< int > > v); @@ -28478,7 +28478,7 @@ public: /// NOTE /// /// All offsets are given as a normalized ratio measure. -class IfcParse_EXPORT IfcWindowLiningProperties : public IfcPreDefinedPropertySet { +class IFC_PARSE_API IfcWindowLiningProperties : public IfcPreDefinedPropertySet { public: /// Whether the optional attribute LiningDepth is defined for this IfcWindowLiningProperties bool hasLiningDepth() const; @@ -28605,7 +28605,7 @@ public: /// As shown in Figure 176, the panel is applied to the position within the lining as defined by the panel position attribute. The following parameter apply to that panel: FrameDepth, FrameThickness. /// /// Figure 176 — Window panel properties -class IfcParse_EXPORT IfcWindowPanelProperties : public IfcPreDefinedPropertySet { +class IFC_PARSE_API IfcWindowPanelProperties : public IfcPreDefinedPropertySet { public: /// Types of window panel operations. Also used to assign standard symbolic presentations according to national building standards. IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum OperationType() const; @@ -28657,7 +28657,7 @@ public: /// IfcRelDefinesByProperties relationship. They are accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to IfcActor are part of this IFC release: /// /// Pset_ActorCommon: common property set for all actor occurrences -class IfcParse_EXPORT IfcActor : public IfcObject { +class IFC_PARSE_API IfcActor : public IfcObject { public: /// Information about the actor. IfcActorSelect* TheActor() const; @@ -28708,7 +28708,7 @@ public: /// Figure 249 illustrates use of IfcAdvancedBrep for boundary representation models with b-spline surfaces. The diagram shows the topological and geometric representation items that are used for advanced B-reps, based on IfcAdvancedFace. /// /// Figure 249 — Advanced Brep -class IfcParse_EXPORT IfcAdvancedBrep : public IfcManifoldSolidBrep { +class IFC_PARSE_API IfcAdvancedBrep : public IfcManifoldSolidBrep { public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcManifoldSolidBrep::getArgumentType(i); } @@ -28743,7 +28743,7 @@ public: /// All the faces of all the shells in the IfcAdvancedBrep /// and the IfcAdvancedBrepWithVoids.Voids shall be of type /// IfcAdvancedFace. -class IfcParse_EXPORT IfcAdvancedBrepWithVoids : public IfcAdvancedBrep { +class IFC_PARSE_API IfcAdvancedBrepWithVoids : public IfcAdvancedBrep { public: IfcTemplatedEntityList< IfcClosedShell >::ptr Voids() const; void setVoids(IfcTemplatedEntityList< IfcClosedShell >::ptr v); @@ -28932,7 +28932,7 @@ public: /// RepresentationIdentifier : 'Annotation' /// /// RepresentationType : 'GeometricSet' -class IfcParse_EXPORT IfcAnnotation : public IfcProduct { +class IFC_PARSE_API IfcAnnotation : public IfcProduct { public: virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcProduct::getArgumentType(i); } @@ -29016,7 +29016,7 @@ public: /// NOTE Corresponding ISO 10303 entity: b_spline_surface. Please refer to ISO/IS 10303-42:1994, p. 78 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x4. -class IfcParse_EXPORT IfcBSplineSurface : public IfcBoundedSurface { +class IFC_PARSE_API IfcBSplineSurface : public IfcBoundedSurface { public: /// Algebraic degree of basis functions in u. int UDegree() const; @@ -29058,7 +29058,7 @@ public: /// NOTE Corresponding ISO 10303 entity: b_spline_surface_with_knots. Please refer to ISO/IS 10303-42:1994, p. 81 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x4. -class IfcParse_EXPORT IfcBSplineSurfaceWithKnots : public IfcBSplineSurface { +class IFC_PARSE_API IfcBSplineSurfaceWithKnots : public IfcBSplineSurface { public: /// The multiplicities of the knots in the u parameter direction. std::vector< int > /*[2:?]*/ UMultiplicities() const; @@ -29184,7 +29184,7 @@ public: /// +Y /// /// Figure 251 — Block textures -class IfcParse_EXPORT IfcBlock : public IfcCsgPrimitive3D { +class IFC_PARSE_API IfcBlock : public IfcCsgPrimitive3D { public: /// The size of the block along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. double XLength() const; @@ -29214,7 +29214,7 @@ public: /// NOTE The IfcBooleanClippingResult is defined as a special case of the boolean_result, as defined in ISO 10303-42:1994, p. 175. It has been added to apply further constraints to the CSG representation type. /// /// HISTORY New entity in IFC Release 2.x. -class IfcParse_EXPORT IfcBooleanClippingResult : public IfcBooleanResult { +class IFC_PARSE_API IfcBooleanClippingResult : public IfcBooleanResult { public: virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcBooleanResult::getArgumentType(i); } @@ -29238,7 +29238,7 @@ public: /// /// A bounded curve has finite arc length. /// A bounded curve has a start point and an end point. -class IfcParse_EXPORT IfcBoundedCurve : public IfcCurve { +class IFC_PARSE_API IfcBoundedCurve : public IfcCurve { public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcCurve::getArgumentType(i); } @@ -29427,7 +29427,7 @@ public: /// building elements, an independent shape representation shall only /// be given, if the building is exposed independently from its /// constituting elements. -class IfcParse_EXPORT IfcBuilding : public IfcSpatialStructureElement { +class IFC_PARSE_API IfcBuilding : public IfcSpatialStructureElement { public: /// Whether the optional attribute ElevationOfRefHeight is defined for this IfcBuilding bool hasElevationOfRefHeight() const; @@ -29485,7 +29485,7 @@ public: /// /// HISTORY New entity in /// Release IFC2x Edition 2. -class IfcParse_EXPORT IfcBuildingElementType : public IfcElementType { +class IFC_PARSE_API IfcBuildingElementType : public IfcElementType { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElementType::getArgumentType(i); } @@ -29676,7 +29676,7 @@ public: /// exterior building elements, an independent shape representation /// shall only be given, if the building storey is exposed /// independently from its constituting elements. -class IfcParse_EXPORT IfcBuildingStorey : public IfcSpatialStructureElement { +class IFC_PARSE_API IfcBuildingStorey : public IfcSpatialStructureElement { public: /// Whether the optional attribute Elevation is defined for this IfcBuildingStorey bool hasElevation() const; @@ -29720,7 +29720,7 @@ public: /// /// HISTORY New entity in Release /// IFC2x4. -class IfcParse_EXPORT IfcChimneyType : public IfcBuildingElementType { +class IFC_PARSE_API IfcChimneyType : public IfcBuildingElementType { public: /// Identifies the predefined types of a chimney element from which the type required may be set. IfcChimneyTypeEnum::IfcChimneyTypeEnum PredefinedType() const; @@ -29755,7 +29755,7 @@ public: /// By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. Explicit coordinate offsets are used to define cardinal points (for example, upper-left bound). The parameterized profile is defined by a set of parameter attributes. /// /// Figure 312 — Circle hollow profile -class IfcParse_EXPORT IfcCircleHollowProfileDef : public IfcCircleProfileDef { +class IFC_PARSE_API IfcCircleHollowProfileDef : public IfcCircleProfileDef { public: /// Thickness of the material, it is the difference between the outer and inner radius. double WallThickness() const; @@ -29773,7 +29773,7 @@ public: typedef IfcTemplatedEntityList< IfcCircleHollowProfileDef > list; }; -class IfcParse_EXPORT IfcCivilElementType : public IfcElementType { +class IFC_PARSE_API IfcCivilElementType : public IfcElementType { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElementType::getArgumentType(i); } @@ -29885,7 +29885,7 @@ public: /// IfcShapeRepresentation are restricted in the same way as /// those for IfcColumn and /// IfcColumnStandardCase -class IfcParse_EXPORT IfcColumnType : public IfcBuildingElementType { +class IFC_PARSE_API IfcColumnType : public IfcBuildingElementType { public: /// Identifies the predefined types of a column element from which the type required may be set. IfcColumnTypeEnum::IfcColumnTypeEnum PredefinedType() const; @@ -29910,7 +29910,7 @@ public: /// attribute. /// /// HISTORY  New entity in IFC2x4. -class IfcParse_EXPORT IfcComplexPropertyTemplate : public IfcPropertyTemplate { +class IFC_PARSE_API IfcComplexPropertyTemplate : public IfcPropertyTemplate { public: /// Whether the optional attribute UsageName is defined for this IfcComplexPropertyTemplate bool hasUsageName() const; @@ -30003,7 +30003,7 @@ public: /// correctly specifies the senses of the component curves. /// When traversed in the direction indicated by /// SameSense, the segments shall join end-to-end. -class IfcParse_EXPORT IfcCompositeCurve : public IfcBoundedCurve { +class IFC_PARSE_API IfcCompositeCurve : public IfcBoundedCurve { public: /// The component bounded curves, their transitions and senses. The transition attribute for the last segment defines the transition between the end of the last segment and the start of the first; this transition attribute may take the value discontinuous, which indicates an open curve. IfcTemplatedEntityList< IfcCompositeCurveSegment >::ptr Segments() const; @@ -30034,7 +30034,7 @@ public: /// NOTE Corresponding ISO 10303 entity: composite_curve_on_surface. Please refer to ISO/IS 10303-42:1994, p.64 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x4. -class IfcParse_EXPORT IfcCompositeCurveOnSurface : public IfcCompositeCurve { +class IFC_PARSE_API IfcCompositeCurveOnSurface : public IfcCompositeCurve { public: virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcCompositeCurve::getArgumentType(i); } @@ -30053,7 +30053,7 @@ public: /// NOTE Corresponding ISO 10303 entity: conic, only the following subtypes have been incorporated into IFC 1.0, 1.5 & 2.0: circle as IfcCircle, ellipse as IfcEllipse. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p. 38 for the final definition of the formal standard. /// /// HISTORY New class in IFC Release 1.0 -class IfcParse_EXPORT IfcConic : public IfcCurve { +class IFC_PARSE_API IfcConic : public IfcCurve { public: /// The location and orientation of the conic. Further details of the interpretation of this attribute are given for the individual subtypes." IfcAxis2Placement* Position() const; @@ -30083,7 +30083,7 @@ public: /// /// Assignment use definition /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction equipment resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionEquipmentResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates the type of equipment to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. There may be multiple chains of production where such product type may have its own task and resource types assigned indicating how to assemble such equipment. -class IfcParse_EXPORT IfcConstructionEquipmentResourceType : public IfcConstructionResourceType { +class IFC_PARSE_API IfcConstructionEquipmentResourceType : public IfcConstructionResourceType { public: /// Defines types of construction equipment resources. IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum PredefinedType() const; @@ -30113,7 +30113,7 @@ public: /// /// Assignment Use Definition /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction material resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionMaterialResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates material specifications to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. The IfcGeographicElementType product type may be used to hold the material representation (via IfcRelAssociatesMaterial. There may be multiple chains of production where such product type may have its own task and resource types assigned indicating how to transport or extract such material. -class IfcParse_EXPORT IfcConstructionMaterialResourceType : public IfcConstructionResourceType { +class IFC_PARSE_API IfcConstructionMaterialResourceType : public IfcConstructionResourceType { public: /// Defines types of construction material resources. IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum PredefinedType() const; @@ -30143,7 +30143,7 @@ public: /// /// Assignment use definition /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction product resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionProductResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates the type of product to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. There may be multiple chains of production where such product type may have its own task and resource types assigned. -class IfcParse_EXPORT IfcConstructionProductResourceType : public IfcConstructionResourceType { +class IFC_PARSE_API IfcConstructionProductResourceType : public IfcConstructionResourceType { public: /// Defines types of construction product resources. IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum PredefinedType() const; @@ -30232,7 +30232,7 @@ public: /// IfcWorkSchedule.Name indicating the name of the baseline. /// /// Figure 192 — Construction resource baseline use -class IfcParse_EXPORT IfcConstructionResource : public IfcResource { +class IFC_PARSE_API IfcConstructionResource : public IfcResource { public: /// Whether the optional attribute Usage is defined for this IfcConstructionResource bool hasUsage() const; @@ -30268,7 +30268,7 @@ public: /// /// Relationship use definition /// Controls have assignments from products, processes, or other objects by using the relationship object IfcRelAssignsToControl. -class IfcParse_EXPORT IfcControl : public IfcObject { +class IFC_PARSE_API IfcControl : public IfcObject { public: /// Whether the optional attribute Identification is defined for this IfcControl bool hasIdentification() const; @@ -30327,7 +30327,7 @@ public: /// Figure 158 illustrates cost item assignment derived from building elements. The IfcRelAssignsToControl relationship indicates building elements for which quantities are derived. Not shown, costs may also be derived from building elements by traversing assignment relationships from the assigned IfcProduct to IfcProcess to IfcResource, where all costs ultimately originate at resources. It is also possible for cost items to have assignments from processes or resources directly. /// /// Figure 168 — Cost assignment -class IfcParse_EXPORT IfcCostItem : public IfcControl { +class IFC_PARSE_API IfcCostItem : public IfcControl { public: /// Whether the optional attribute PredefinedType is defined for this IfcCostItem bool hasPredefinedType() const; @@ -30389,7 +30389,7 @@ public: /// /// Approval Use Definition /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcCostSchedule. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. -class IfcParse_EXPORT IfcCostSchedule : public IfcControl { +class IFC_PARSE_API IfcCostSchedule : public IfcControl { public: /// Whether the optional attribute PredefinedType is defined for this IfcCostSchedule bool hasPredefinedType() const; @@ -30514,7 +30514,7 @@ public: /// RepresentationIdentifier and RepresentationType of /// IfcShapeRepresentation are restricted in the same way as /// those for IfcCoveringType. -class IfcParse_EXPORT IfcCoveringType : public IfcBuildingElementType { +class IFC_PARSE_API IfcCoveringType : public IfcBuildingElementType { public: /// Predefined types to define the particular type of the covering. There may be property set definitions available for each predefined type. IfcCoveringTypeEnum::IfcCoveringTypeEnum PredefinedType() const; @@ -30541,7 +30541,7 @@ public: /// /// Type use definition /// IfcCrewResource defines the occurrence of any crew resource; common information about crew resource types is handled by IfcCrewResourceType. The IfcCrewResourceType (if present) may establish the common type name, common properties, and common productivities for various task types using IfcRelAssignsToProcess. The IfcCrewResourceType is attached using the IfcRelDefinesByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute. -class IfcParse_EXPORT IfcCrewResource : public IfcConstructionResource { +class IFC_PARSE_API IfcCrewResource : public IfcConstructionResource { public: /// Whether the optional attribute PredefinedType is defined for this IfcCrewResource bool hasPredefinedType() const; @@ -30582,7 +30582,7 @@ public: /// /// HISTORY /// New entity in Release IFC2x Editon 3. -class IfcParse_EXPORT IfcCurtainWallType : public IfcBuildingElementType { +class IFC_PARSE_API IfcCurtainWallType : public IfcBuildingElementType { public: /// Identifies the predefined types of a curtain wall element from which the type required may be set. IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum PredefinedType() const; @@ -30653,7 +30653,7 @@ public: /// NOTE Corresponding ISO 10303 entity: plane. Please refer to ISO/IS 10303-42:1994, p.70 for the final definition of the formal standard. /// /// HISTORY New class in IFC2x4. -class IfcParse_EXPORT IfcCylindricalSurface : public IfcElementarySurface { +class IFC_PARSE_API IfcCylindricalSurface : public IfcElementarySurface { public: /// The radius of the cylindrical surface. double Radius() const; @@ -30698,7 +30698,7 @@ public: /// IFC2x4 CHANGE The entity is marked /// as deprecated for instantiation - will be made ABSTRACT after /// IFC2x4. -class IfcParse_EXPORT IfcDistributionElementType : public IfcElementType { +class IFC_PARSE_API IfcDistributionElementType : public IfcElementType { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElementType::getArgumentType(i); } @@ -30777,7 +30777,7 @@ public: /// If an element type is defined parametrically (such as a flow segment type defining common material profile but no particular length or path), then no representations shall be asserted at the type. /// /// NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem. -class IfcParse_EXPORT IfcDistributionFlowElementType : public IfcDistributionElementType { +class IFC_PARSE_API IfcDistributionFlowElementType : public IfcDistributionElementType { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionElementType::getArgumentType(i); } @@ -30886,7 +30886,7 @@ public: /// Figure 172 — Door lining properties /// /// NOTE LiningDepth describes the length of the lining along the reveal of the door opening. It can be given by an absolute value if the door lining has a specific depth depending on the door style. However often it is equal to the wall thickness. If the same door style is used (like the same type of single swing door), but inserted into different walls with different thicknesses, it would be necessary to create a special door style for each wall thickness. Therefore several CAD systems allow to set the value to "automatically aligned" to wall thickness. This should be exchanged by leaving the optional attribute LiningDepth unassigned. The same agreement applies to ThresholdDepth. -class IfcParse_EXPORT IfcDoorLiningProperties : public IfcPreDefinedPropertySet { +class IFC_PARSE_API IfcDoorLiningProperties : public IfcPreDefinedPropertySet { public: /// Whether the optional attribute LiningDepth is defined for this IfcDoorLiningProperties bool hasLiningDepth() const; @@ -31016,7 +31016,7 @@ public: /// PanelWidth /// /// Figure 173 — Door panel properties -class IfcParse_EXPORT IfcDoorPanelProperties : public IfcPreDefinedPropertySet { +class IFC_PARSE_API IfcDoorPanelProperties : public IfcPreDefinedPropertySet { public: /// Whether the optional attribute PanelDepth is defined for this IfcDoorPanelProperties bool hasPanelDepth() const; @@ -31181,7 +31181,7 @@ public: /// IfcShapeRepresentation are restricted in the same way as /// those for IfcDoor and /// IfcDoorStandardCase -class IfcParse_EXPORT IfcDoorType : public IfcBuildingElementType { +class IFC_PARSE_API IfcDoorType : public IfcBuildingElementType { public: /// Identifies the predefined types of a door element from which the type required may be set. IfcDoorTypeEnum::IfcDoorTypeEnum PredefinedType() const; @@ -31281,7 +31281,7 @@ public: /// Informal proposition /// /// The value 'by layer' shall only be inserted, if the geometric representation item using the colour definition has an association to IfcPresentationLayerWithStyle, and if that instance of IfcPresentationLayerWithStyle has a valid colour definition for IfcCurveStyle, IfcSymbolStyle, or IfcSurfaceStyle (depending on what is applicable). -class IfcParse_EXPORT IfcDraughtingPreDefinedColour : public IfcPreDefinedColour { +class IFC_PARSE_API IfcDraughtingPreDefinedColour : public IfcPreDefinedColour { public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcPreDefinedColour::getArgumentType(i); } @@ -31308,7 +31308,7 @@ public: /// NOTE  Corresponding ISO 10303 name: pre_defined_curve_font. Please refer to ISO/IS 10303-46:1994 TC2, page 12 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IfcParse_EXPORT IfcDraughtingPreDefinedCurveFont : public IfcPreDefinedCurveFont { +class IFC_PARSE_API IfcDraughtingPreDefinedCurveFont : public IfcPreDefinedCurveFont { public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcPreDefinedCurveFont::getArgumentType(i); } @@ -31375,7 +31375,7 @@ public: /// representations. A detailed specification for the local placement /// and shape representaion is introduced at the level of subtypes of /// IfcElement. -class IfcParse_EXPORT IfcElement : public IfcProduct { +class IFC_PARSE_API IfcElement : public IfcProduct { public: /// Whether the optional attribute Tag is defined for this IfcElement bool hasTag() const; @@ -31500,7 +31500,7 @@ public: /// The IfcElementAssembly shall have an aggregation /// relationship to the contained parts, i.e. the (INV) /// IsDecomposedBy relationship shall be utilzed. -class IfcParse_EXPORT IfcElementAssembly : public IfcElement { +class IFC_PARSE_API IfcElementAssembly : public IfcElement { public: /// Whether the optional attribute AssemblyPlace is defined for this IfcElementAssembly bool hasAssemblyPlace() const; @@ -31548,7 +31548,7 @@ public: /// represented by instances of IfcElementAssembly. /// HISTORYÿ New entity in /// Release IFC2x Edition 4. -class IfcParse_EXPORT IfcElementAssemblyType : public IfcElementType { +class IFC_PARSE_API IfcElementAssemblyType : public IfcElementType { public: /// Predefined types to define the particular type of the transport element. There may be property set definitions available for each predefined type. IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum PredefinedType() const; @@ -31642,7 +31642,7 @@ public: /// Representation identifier and type are the same as in single mapped representation. /// The number of mapped items in the representation corresponds with the count of /// element components in the IfcElementQuantity. -class IfcParse_EXPORT IfcElementComponent : public IfcElement { +class IFC_PARSE_API IfcElementComponent : public IfcElement { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElement::getArgumentType(i); } @@ -31665,7 +31665,7 @@ public: /// /// HISTORY New entity in IFC /// Release 2x2 -class IfcParse_EXPORT IfcElementComponentType : public IfcElementType { +class IFC_PARSE_API IfcElementComponentType : public IfcElementType { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElementType::getArgumentType(i); } @@ -31706,7 +31706,7 @@ public: /// Figure 280 illustrates the definition of the IfcEllipse within the (in this case three-dimensional) position coordinate system. /// /// Figure 280 — Ellipse geometry -class IfcParse_EXPORT IfcEllipse : public IfcConic { +class IFC_PARSE_API IfcEllipse : public IfcConic { public: /// The first radius of the ellipse which shall be positive. Placement.Axes[1] gives the direction of the SemiAxis1. double SemiAxis1() const; @@ -31751,7 +31751,7 @@ public: /// by instances of IfcEnergyConversionDevice. /// /// HISTORY: New entity in IFC Release 2x2. -class IfcParse_EXPORT IfcEnergyConversionDeviceType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcEnergyConversionDeviceType : public IfcDistributionFlowElementType { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElementType::getArgumentType(i); } @@ -31791,7 +31791,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcEngineType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcEngine for standard port definitions. -class IfcParse_EXPORT IfcEngineType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcEngineType : public IfcEnergyConversionDeviceType { public: IfcEngineTypeEnum::IfcEngineTypeEnum PredefinedType() const; void setPredefinedType(IfcEngineTypeEnum::IfcEngineTypeEnum v); @@ -31833,7 +31833,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcEvaporativeCoolerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcEvaporativeCooler for standard port definitions. -class IfcParse_EXPORT IfcEvaporativeCoolerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcEvaporativeCoolerType : public IfcEnergyConversionDeviceType { public: /// Defines the type of evaporative cooler. IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum PredefinedType() const; @@ -31876,7 +31876,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcEvaporatorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcEvaporator for standard port definitions. -class IfcParse_EXPORT IfcEvaporatorType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcEvaporatorType : public IfcEnergyConversionDeviceType { public: /// Defines the type of evaporator. IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum PredefinedType() const; @@ -31970,7 +31970,7 @@ public: /// IfcRelAssignsToProduct), then the IfcEvent must be assigned /// to one or more occurrences of the specified product type /// using IfcRelAssignsToProduct. -class IfcParse_EXPORT IfcEvent : public IfcProcess { +class IFC_PARSE_API IfcEvent : public IfcProcess { public: /// Whether the optional attribute PredefinedType is defined for this IfcEvent bool hasPredefinedType() const; @@ -32013,7 +32013,7 @@ public: /// external spaces, regions, and volumes. /// HISTORY New entity in /// IFC2x4. -class IfcParse_EXPORT IfcExternalSpatialStructureElement : public IfcSpatialElement { +class IFC_PARSE_API IfcExternalSpatialStructureElement : public IfcSpatialElement { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcSpatialElement::getArgumentType(i); } @@ -32051,7 +32051,7 @@ public: /// Figure 257 illustrates use of IfcFacetedBrep for boundary representation models with planar surfaces only. The diagram shows the topological and geometric representation items that are used for faceted breps. Each IfcCartesianPoint, used within the IfcFacetedBrep shall be referenced three times by an IfcPolyLoop bounding a different IfcFace. /// /// Figure 257 — Faceted B-rep -class IfcParse_EXPORT IfcFacetedBrep : public IfcManifoldSolidBrep { +class IFC_PARSE_API IfcFacetedBrep : public IfcManifoldSolidBrep { public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcManifoldSolidBrep::getArgumentType(i); } @@ -32089,7 +32089,7 @@ public: /// All the bounding loops of all the faces of all the shells in /// the IfcFacetedBrep shall be of type /// IfcPolyLoop. -class IfcParse_EXPORT IfcFacetedBrepWithVoids : public IfcFacetedBrep { +class IFC_PARSE_API IfcFacetedBrepWithVoids : public IfcFacetedBrep { public: /// Set of closed shells defining voids within the solid. IfcTemplatedEntityList< IfcClosedShell >::ptr Voids() const; @@ -32114,7 +32114,7 @@ public: /// /// IFC 2x4 change: /// Attribute PredefinedType added. -class IfcParse_EXPORT IfcFastener : public IfcElementComponent { +class IFC_PARSE_API IfcFastener : public IfcElementComponent { public: /// Whether the optional attribute PredefinedType is defined for this IfcFastener bool hasPredefinedType() const; @@ -32156,7 +32156,7 @@ public: /// The following property set definitions are applicable to this entity according to the PredefinedType attribute: /// /// Pset_FastenerWeld (WELD) -class IfcParse_EXPORT IfcFastenerType : public IfcElementComponentType { +class IFC_PARSE_API IfcFastenerType : public IfcElementComponentType { public: /// Subtype of fastener IfcFastenerTypeEnum::IfcFastenerTypeEnum PredefinedType() const; @@ -32267,7 +32267,7 @@ public: /// In some cases it may be useful to also expose a simple /// representation as a bounding box representation of the same /// complex shape. -class IfcParse_EXPORT IfcFeatureElement : public IfcElement { +class IFC_PARSE_API IfcFeatureElement : public IfcElement { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElement::getArgumentType(i); } @@ -32336,7 +32336,7 @@ public: /// The geometry use definitions for the shape representation /// of the IfcFeatureElementAddition is given at the /// level of its subtypes. -class IfcParse_EXPORT IfcFeatureElementAddition : public IfcFeatureElement { +class IFC_PARSE_API IfcFeatureElementAddition : public IfcFeatureElement { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcFeatureElement::getArgumentType(i); } @@ -32401,7 +32401,7 @@ public: /// The geometry use definitions for the shape representation of the /// IfcFeatureElementSubtraction is given at the level of its /// subtypes. -class IfcParse_EXPORT IfcFeatureElementSubtraction : public IfcFeatureElement { +class IFC_PARSE_API IfcFeatureElementSubtraction : public IfcFeatureElement { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcFeatureElement::getArgumentType(i); } @@ -32440,7 +32440,7 @@ public: /// by instances of IfcFlowController or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IfcParse_EXPORT IfcFlowControllerType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowControllerType : public IfcDistributionFlowElementType { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElementType::getArgumentType(i); } @@ -32479,7 +32479,7 @@ public: /// by instances of IfcFlowFitting or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IfcParse_EXPORT IfcFlowFittingType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowFittingType : public IfcDistributionFlowElementType { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElementType::getArgumentType(i); } @@ -32525,7 +32525,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFlowMeterType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFlowMeter for standard port definitions. -class IfcParse_EXPORT IfcFlowMeterType : public IfcFlowControllerType { +class IFC_PARSE_API IfcFlowMeterType : public IfcFlowControllerType { public: /// Defines the type of flow meter. IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum PredefinedType() const; @@ -32565,7 +32565,7 @@ public: /// by instances of IfcFlowMovingDevice. /// /// HISTORY: New entity in IFC Release 2x2. -class IfcParse_EXPORT IfcFlowMovingDeviceType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowMovingDeviceType : public IfcDistributionFlowElementType { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElementType::getArgumentType(i); } @@ -32611,7 +32611,7 @@ public: /// IfcMaterialConstituentSet : For elements containing multiple materials where profiles are not applicable, this indicates materials at named aspects. /// /// IfcMaterial : For elements comprised of a single material where profiles are not applicable, this indicates the material. -class IfcParse_EXPORT IfcFlowSegmentType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowSegmentType : public IfcDistributionFlowElementType { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElementType::getArgumentType(i); } @@ -32632,7 +32632,7 @@ public: /// The occurrences of the IfcFlowStorageDeviceType are represented by instances of IfcFlowStorageDevice or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IfcParse_EXPORT IfcFlowStorageDeviceType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowStorageDeviceType : public IfcDistributionFlowElementType { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElementType::getArgumentType(i); } @@ -32653,7 +32653,7 @@ public: /// The occurrences of the IfcFlowTerminalType are represented by instances of IfcFlowTerminal or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IfcParse_EXPORT IfcFlowTerminalType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowTerminalType : public IfcDistributionFlowElementType { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElementType::getArgumentType(i); } @@ -32676,7 +32676,7 @@ public: /// The occurrences of the IfcFlowTreatmentDeviceType are represented by instances of IfcFlowTreatmentDevice or its subtypes. /// /// HISTORY: New entity in IFC Release 2x2. -class IfcParse_EXPORT IfcFlowTreatmentDeviceType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcFlowTreatmentDeviceType : public IfcDistributionFlowElementType { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElementType::getArgumentType(i); } @@ -32699,7 +32699,7 @@ public: /// Material Use Definition: /// /// Material profile set or material layer set association analogous to IfcBeamStandardCase or IfcSlabStandardCase should be used when applicable. -class IfcParse_EXPORT IfcFootingType : public IfcBuildingElementType { +class IFC_PARSE_API IfcFootingType : public IfcBuildingElementType { public: /// Subtype of footing. IfcFootingTypeEnum::IfcFootingTypeEnum PredefinedType() const; @@ -32820,7 +32820,7 @@ public: /// 'FootPrint', or 'Body' (depending of the representation map) /// IfcShapeRepresentation.RepresentationType = /// 'MappedRepresentation' -class IfcParse_EXPORT IfcFurnishingElement : public IfcElement { +class IFC_PARSE_API IfcFurnishingElement : public IfcElement { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElement::getArgumentType(i); } @@ -32865,7 +32865,7 @@ public: /// The IfcFurniture may be decomposed into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcFurniture and RelatedObjects contains one or more components. Composition use is defined for the following predefined types: /// /// (All Types): May contain IfcSystemFurnitureElement components. Modular furniture may be aggregated into components. -class IfcParse_EXPORT IfcFurniture : public IfcFurnishingElement { +class IFC_PARSE_API IfcFurniture : public IfcFurnishingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcFurniture bool hasPredefinedType() const; @@ -33023,7 +33023,7 @@ public: /// RepresentationIdentifier : 'FootPrint' for 2D /// representation, 'Body' for 3D representation /// RepresentationType :ÿ'MappedRepresentation' -class IfcParse_EXPORT IfcGeographicElement : public IfcElement { +class IFC_PARSE_API IfcGeographicElement : public IfcElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcGeographicElement bool hasPredefinedType() const; @@ -33138,7 +33138,7 @@ public: /// As shown in Figure 33, the attributes UAxes and VAxes define lists of IfcGridAxis within the context of the grid. Each instance of IfcGridAxis refers to the same instance of IfcCurve (here the subtype IfcPolyline) that is contained within the IfcGeometricCurveSet that represents the IfcGrid. /// /// Figure 33 — Grid representation -class IfcParse_EXPORT IfcGrid : public IfcProduct { +class IFC_PARSE_API IfcGrid : public IfcProduct { public: /// List of grid axes defining the first row of grid lines. IfcTemplatedEntityList< IfcGridAxis >::ptr UAxes() const; @@ -33198,7 +33198,7 @@ public: /// Groups can be subjected to a control. The control information is then assigned: /// /// Controls: affecting the group using IfcRelAssignsToControl -class IfcParse_EXPORT IfcGroup : public IfcObject { +class IFC_PARSE_API IfcGroup : public IfcObject { public: virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcObject::getArgumentType(i); } @@ -33242,7 +33242,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcHeatExchangerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcHeatExchanger for standard port definitions. -class IfcParse_EXPORT IfcHeatExchangerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcHeatExchangerType : public IfcEnergyConversionDeviceType { public: /// Defines the basic types of heat exchanger (e.g., plate, shell and tube, etc.). IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum PredefinedType() const; @@ -33285,7 +33285,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcHumidifierType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcHumidifier for standard port definitions. -class IfcParse_EXPORT IfcHumidifierType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcHumidifierType : public IfcEnergyConversionDeviceType { public: /// Defines the type of humidifier. IfcHumidifierTypeEnum::IfcHumidifierTypeEnum PredefinedType() const; @@ -33303,7 +33303,7 @@ public: typedef IfcTemplatedEntityList< IfcHumidifierType > list; }; -class IfcParse_EXPORT IfcIndexedPolyCurve : public IfcBoundedCurve { +class IFC_PARSE_API IfcIndexedPolyCurve : public IfcBoundedCurve { public: IfcCartesianPointList* Points() const; void setPoints(IfcCartesianPointList* v); @@ -33360,7 +33360,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcInterceptorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcInterceptor for standard port definitions. -class IfcParse_EXPORT IfcInterceptorType : public IfcFlowTreatmentDeviceType { +class IFC_PARSE_API IfcInterceptorType : public IfcFlowTreatmentDeviceType { public: IfcInterceptorTypeEnum::IfcInterceptorTypeEnum PredefinedType() const; void setPredefinedType(IfcInterceptorTypeEnum::IfcInterceptorTypeEnum v); @@ -33387,7 +33387,7 @@ public: /// IfcElement: Elements such as furniture included in the inventory. /// /// IfcSpace: Spaces included in the inventory. -class IfcParse_EXPORT IfcInventory : public IfcGroup { +class IFC_PARSE_API IfcInventory : public IfcGroup { public: /// Whether the optional attribute PredefinedType is defined for this IfcInventory bool hasPredefinedType() const; @@ -33462,7 +33462,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcJunctionBoxType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcJunctionBox for standard port definitions. -class IfcParse_EXPORT IfcJunctionBoxType : public IfcFlowFittingType { +class IFC_PARSE_API IfcJunctionBoxType : public IfcFlowFittingType { public: /// Identifies the predefined types of junction boxes from which the type required may be set. IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum PredefinedType() const; @@ -33503,7 +33503,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a labor resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcLaborResource and RelatedObjects contains one or more IfcActor subtypes as shown in Figure 194. Such relationship indicates the specific people used as input for the resource. Such actors are nested according to organizational structure with the root organization assigned to the IfcProject. The IfcActor entity is used to represent the people or organizations. /// /// Figure 194 — Labor resource assignment use -class IfcParse_EXPORT IfcLaborResource : public IfcConstructionResource { +class IFC_PARSE_API IfcLaborResource : public IfcConstructionResource { public: /// Whether the optional attribute PredefinedType is defined for this IfcLaborResource bool hasPredefinedType() const; @@ -33552,7 +33552,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcLampType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcLamp for standard port definitions. -class IfcParse_EXPORT IfcLampType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcLampType : public IfcFlowTerminalType { public: /// Identifies the predefined types of lamp from which the type required may be set. IfcLampTypeEnum::IfcLampTypeEnum PredefinedType() const; @@ -33600,7 +33600,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcLightFixtureType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcLightFixture for standard port definitions. -class IfcParse_EXPORT IfcLightFixtureType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcLightFixtureType : public IfcFlowTerminalType { public: /// Identifies the predefined types of light fixture from which the type required may be set. IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum PredefinedType() const; @@ -33646,7 +33646,7 @@ public: /// the IfcMechanicalFastener via IfcRelDefinesByProperties. The quantity should contain an /// IfcQuantityCount named 'Count' with the number of fasteners and an IfcQuantityLength /// named 'Spacing' which expresses the center-to-center distances of fasteners. -class IfcParse_EXPORT IfcMechanicalFastener : public IfcElementComponent { +class IFC_PARSE_API IfcMechanicalFastener : public IfcElementComponent { public: /// Whether the optional attribute NominalDiameter is defined for this IfcMechanicalFastener bool hasNominalDiameter() const; @@ -33708,7 +33708,7 @@ public: /// The following property set definitions are applicable to this entity according to the PredefinedType attribute: /// /// Pset_MechanicalFastenerBolt (BOLT) -class IfcParse_EXPORT IfcMechanicalFastenerType : public IfcElementComponentType { +class IFC_PARSE_API IfcMechanicalFastenerType : public IfcElementComponentType { public: /// Subtype of mechanical fastener IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum PredefinedType() const; @@ -33761,7 +33761,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcMedicalDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcMedicalDevice for standard port definitions. -class IfcParse_EXPORT IfcMedicalDeviceType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcMedicalDeviceType : public IfcFlowTerminalType { public: IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum PredefinedType() const; void setPredefinedType(IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum v); @@ -33878,7 +33878,7 @@ public: /// IfcShapeRepresentation are restricted in the same way as /// those for IfcMember and /// IfcMemberStandardCase -class IfcParse_EXPORT IfcMemberType : public IfcBuildingElementType { +class IFC_PARSE_API IfcMemberType : public IfcBuildingElementType { public: /// Identifies the predefined types of a linear structural member element from which the type required may be set. IfcMemberTypeEnum::IfcMemberTypeEnum PredefinedType() const; @@ -33922,7 +33922,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcMotorConnectionType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcMotorConnection for standard port definitions. -class IfcParse_EXPORT IfcMotorConnectionType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcMotorConnectionType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of motor connection from which the type required may be set. IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum PredefinedType() const; @@ -33946,7 +33946,7 @@ public: /// Assignment Use Definition /// The IfcOccupant may have assignments of its own using the IfcRelAssignsToActor relationship where RelatingActor refers to the IfcOccupant and RelatedObjects contains one or more objects of the following types: /// IfcSpatialStructureElement: Indicates the property to be occupied. Particular details of the agreement relating to the occupancy of a property are dealt within the Pset_PropertyAgreement that is defined for the instance of IfcSpatialStructureElement. This means that an occupant may be related to a site, building, building storey or space through the IfcSpatialStructureElement.ElementComposition attribute. For instance, if the property concerned is several office spaces on a building storey, it might be appropriate to reference IfcBuildingStorey.ElementComposition=PARTIAL. Occupants of a property may be considered to be the parties to an agreement. The roles that the occupant may play in respect to an agreement are defined in the IfcOccupantTypeEnum enumeration. If the role is not specified by the predefined contents of this enumeration, the value USERDEFINED may be set and the ObjectType attribute asserted. -class IfcParse_EXPORT IfcOccupant : public IfcActor { +class IFC_PARSE_API IfcOccupant : public IfcActor { public: /// Whether the optional attribute PredefinedType is defined for this IfcOccupant bool hasPredefinedType() const; @@ -34169,7 +34169,7 @@ public: /// NOTE The local placement directions for the IfcOpeningElement are only given as an example, other directions are valid as well. /// /// Figure 36 — Opening with multiple extrusions -class IfcParse_EXPORT IfcOpeningElement : public IfcFeatureElementSubtraction { +class IFC_PARSE_API IfcOpeningElement : public IfcFeatureElementSubtraction { public: /// Whether the optional attribute PredefinedType is defined for this IfcOpeningElement bool hasPredefinedType() const; @@ -34284,7 +34284,7 @@ public: /// opening height /// /// Figure 37 — Opening standard representation -class IfcParse_EXPORT IfcOpeningStandardCase : public IfcOpeningElement { +class IFC_PARSE_API IfcOpeningStandardCase : public IfcOpeningElement { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcOpeningElement::getArgumentType(i); } @@ -34327,7 +34327,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcOutletType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcOutlet for standard port definitions. -class IfcParse_EXPORT IfcOutletType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcOutletType : public IfcFlowTerminalType { public: /// Identifies the predefined types of outlet from which the type required may be set. IfcOutletTypeEnum::IfcOutletTypeEnum PredefinedType() const; @@ -34349,7 +34349,7 @@ public: /// IfcPerformanceHistory is assigned to other objects (represented by subtypes of IfcObjectDefinition, excluding subtypes of IfcControl), by the objectified relationship IfcRelAssignsToControl. /// /// HISTORY: New entity in Release IFC2x Edition 2. -class IfcParse_EXPORT IfcPerformanceHistory : public IfcControl { +class IFC_PARSE_API IfcPerformanceHistory : public IfcControl { public: /// Describes the applicable building life-cycle phase. Typical values should be DESIGNDEVELOPMENT, SCHEMATICDEVELOPMENT, CONSTRUCTIONDOCUMENT, CONSTRUCTION, ASBUILT, COMMISSIONING, OPERATION, etc. std::string LifeCyclePhase() const; @@ -34404,7 +34404,7 @@ public: /// As shown in Figure 174, the panel is applied to the position within the lining, as defined by the panel position attribute. The following parameters apply to that panel: FrameDepth, FrameThickness. /// /// Figure 174 — Permeable covering properties -class IfcParse_EXPORT IfcPermeableCoveringProperties : public IfcPreDefinedPropertySet { +class IFC_PARSE_API IfcPermeableCoveringProperties : public IfcPreDefinedPropertySet { public: /// Types of permeable covering operations. Also used to assign standard symbolic presentations according to national building standards. IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum OperationType() const; @@ -34476,7 +34476,7 @@ public: /// /// Approval Use Definition /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcPermit. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. -class IfcParse_EXPORT IfcPermit : public IfcControl { +class IFC_PARSE_API IfcPermit : public IfcControl { public: /// Whether the optional attribute PredefinedType is defined for this IfcPermit bool hasPredefinedType() const; @@ -34518,7 +34518,7 @@ public: /// Material Use Definition: /// /// Material profile set association analogous to IfcColumnStandardCase should be used when applicable. -class IfcParse_EXPORT IfcPileType : public IfcBuildingElementType { +class IFC_PARSE_API IfcPileType : public IfcBuildingElementType { public: /// Subtype of pile. IfcPileTypeEnum::IfcPileTypeEnum PredefinedType() const; @@ -34564,7 +34564,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcPipeFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcPipeFitting for standard port definitions. -class IfcParse_EXPORT IfcPipeFittingType : public IfcFlowFittingType { +class IFC_PARSE_API IfcPipeFittingType : public IfcFlowFittingType { public: /// The type of pipe fitting. IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum PredefinedType() const; @@ -34614,7 +34614,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcPipeSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcPipeSegment for standard port definitions. -class IfcParse_EXPORT IfcPipeSegmentType : public IfcFlowSegmentType { +class IFC_PARSE_API IfcPipeSegmentType : public IfcFlowSegmentType { public: /// The type of pipe segment. IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum PredefinedType() const; @@ -34708,7 +34708,7 @@ public: /// /// Pset_PlateCommon: common property set for all /// plate types. -class IfcParse_EXPORT IfcPlateType : public IfcBuildingElementType { +class IFC_PARSE_API IfcPlateType : public IfcBuildingElementType { public: /// Identifies the predefined types of a planar member element from which the type required may be set. IfcPlateTypeEnum::IfcPlateTypeEnum PredefinedType() const; @@ -34739,7 +34739,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: polyline. Please refer to ISO/IS 10303-42:1994, p. 45 for the final definition of the formal standard. /// /// HISTORY  New class in IFC Release 1.0 -class IfcParse_EXPORT IfcPolyline : public IfcBoundedCurve { +class IFC_PARSE_API IfcPolyline : public IfcBoundedCurve { public: /// The points defining the polyline. IfcTemplatedEntityList< IfcCartesianPoint >::ptr Points() const; @@ -34809,7 +34809,7 @@ public: /// The geometry use definitions for the shape representation /// of the IfcPort is given at the level of /// its subtypes. -class IfcParse_EXPORT IfcPort : public IfcProduct { +class IFC_PARSE_API IfcPort : public IfcProduct { public: virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcProduct::getArgumentType(i); } @@ -34930,7 +34930,7 @@ public: /// item as a whole but provides inner detail of the item. /// /// Figure 12 — Procedure relationships -class IfcParse_EXPORT IfcProcedure : public IfcProcess { +class IFC_PARSE_API IfcProcedure : public IfcProcess { public: /// Whether the optional attribute PredefinedType is defined for this IfcProcedure bool hasPredefinedType() const; @@ -34993,7 +34993,7 @@ public: /// /// Approval Use Definition /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcProjectOrder. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. -class IfcParse_EXPORT IfcProjectOrder : public IfcControl { +class IFC_PARSE_API IfcProjectOrder : public IfcControl { public: /// Whether the optional attribute PredefinedType is defined for this IfcProjectOrder bool hasPredefinedType() const; @@ -35139,7 +35139,7 @@ public: /// /// RepresentationIdentifier : 'Body' /// RepresentationType : 'Brep' -class IfcParse_EXPORT IfcProjectionElement : public IfcFeatureElementAddition { +class IFC_PARSE_API IfcProjectionElement : public IfcFeatureElementAddition { public: /// Whether the optional attribute PredefinedType is defined for this IfcProjectionElement bool hasPredefinedType() const; @@ -35195,7 +35195,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcProtectiveDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcProtectiveDevice for standard port definitions. -class IfcParse_EXPORT IfcProtectiveDeviceType : public IfcFlowControllerType { +class IFC_PARSE_API IfcProtectiveDeviceType : public IfcFlowControllerType { public: /// Identifies the predefined types of protective device from which the type required may be set. IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum PredefinedType() const; @@ -35240,7 +35240,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcPumpType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcPump for standard port definitions. -class IfcParse_EXPORT IfcPumpType : public IfcFlowMovingDeviceType { +class IFC_PARSE_API IfcPumpType : public IfcFlowMovingDeviceType { public: /// Defines the type of pump typically used in building services. IfcPumpTypeEnum::IfcPumpTypeEnum PredefinedType() const; @@ -35277,7 +35277,7 @@ public: /// /// HISTORY New entity in Release IFC2x /// Editon 2. -class IfcParse_EXPORT IfcRailingType : public IfcBuildingElementType { +class IFC_PARSE_API IfcRailingType : public IfcBuildingElementType { public: /// Identifies the predefined types of a railing element from which the type required may be set. IfcRailingTypeEnum::IfcRailingTypeEnum PredefinedType() const; @@ -35314,7 +35314,7 @@ public: /// /// HISTORY New entity in Release IFC2x /// Edition 2. -class IfcParse_EXPORT IfcRampFlightType : public IfcBuildingElementType { +class IFC_PARSE_API IfcRampFlightType : public IfcBuildingElementType { public: /// Identifies the predefined types of a ramp flight element from which the type required may be set. IfcRampFlightTypeEnum::IfcRampFlightTypeEnum PredefinedType() const; @@ -35364,7 +35364,7 @@ public: /// /// HISTORY New entity in Release /// IFC2x Edition 4. -class IfcParse_EXPORT IfcRampType : public IfcBuildingElementType { +class IFC_PARSE_API IfcRampType : public IfcBuildingElementType { public: /// Identifies the predefined types of a ramp element from which the type required may be set. IfcRampTypeEnum::IfcRampTypeEnum PredefinedType() const; @@ -35394,7 +35394,7 @@ public: /// NOTE: Corresponding ISO 10303 entity: rational_b_spline_surface. Please refer to ISO/IS 10303-42:1994, p. 85 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC2x4. -class IfcParse_EXPORT IfcRationalBSplineSurfaceWithKnots : public IfcBSplineSurfaceWithKnots { +class IFC_PARSE_API IfcRationalBSplineSurfaceWithKnots : public IfcBSplineSurfaceWithKnots { public: /// The weights associated with the control points in the rational case. std::vector< std::vector< double > > WeightsData() const; @@ -35419,7 +35419,7 @@ public: /// Subtypes IfcTendon and IfcTendonAnchor removed. /// Attribute SteelGrade removed. /// Attributes PredefinedType and Role added. -class IfcParse_EXPORT IfcReinforcingElement : public IfcElementComponent { +class IFC_PARSE_API IfcReinforcingElement : public IfcElementComponent { public: /// Whether the optional attribute SteelGrade is defined for this IfcReinforcingElement bool hasSteelGrade() const; @@ -35440,7 +35440,7 @@ public: /// Definition from IAI: Types of bars, wires, strands, meshes, tendons, and other components embedded in concrete in such a manner that the reinforcement and the concrete act together in resisting forces. /// /// HISTORY New entity in IFC Release 2x4 -class IfcParse_EXPORT IfcReinforcingElementType : public IfcElementComponentType { +class IFC_PARSE_API IfcReinforcingElementType : public IfcElementComponentType { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElementComponentType::getArgumentType(i); } @@ -35478,7 +35478,7 @@ public: /// /// Simplified Geometric Representation /// Simplified geometric representations may be used based on local agreements. -class IfcParse_EXPORT IfcReinforcingMesh : public IfcReinforcingElement { +class IFC_PARSE_API IfcReinforcingMesh : public IfcReinforcingElement { public: /// Whether the optional attribute MeshLength is defined for this IfcReinforcingMesh bool hasMeshLength() const; @@ -35540,7 +35540,7 @@ public: /// Geometry Use Definition: /// /// The IfcReinforcingMeshType may define the shared geometric representation for all mesh occurrences. The RepresentationMaps attribute refers to a list of IfcRepresentationMap's, that allow for multiple geometric representations. -class IfcParse_EXPORT IfcReinforcingMeshType : public IfcReinforcingElementType { +class IFC_PARSE_API IfcReinforcingMeshType : public IfcReinforcingElementType { public: /// The predefined type is always MESH. IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum PredefinedType() const; @@ -35627,7 +35627,7 @@ public: /// HISTORY New entity in IFC Release 2x. /// /// IFC2x4 CHANGE The attributes RelatingObject and RelatedObjects are demoted from the supertype IfcRelDecomposes. -class IfcParse_EXPORT IfcRelAggregates : public IfcRelDecomposes { +class IFC_PARSE_API IfcRelAggregates : public IfcRelDecomposes { public: /// The object definition, either an object type or an object occurrence, that represents the aggregation. It is the whole within the whole/part relationship. /// @@ -35683,7 +35683,7 @@ public: /// /// HISTORY New entity in Release /// IFC2x Edition 4. -class IfcParse_EXPORT IfcRoofType : public IfcBuildingElementType { +class IFC_PARSE_API IfcRoofType : public IfcBuildingElementType { public: /// Identifies the predefined types of a roof element from which the type required may be set. IfcRoofTypeEnum::IfcRoofTypeEnum PredefinedType() const; @@ -35737,7 +35737,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcSanitaryTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSanitaryTerminal for standard port definitions. -class IfcParse_EXPORT IfcSanitaryTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcSanitaryTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of sanitary terminal from which the type required may be set. IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum PredefinedType() const; @@ -35775,7 +35775,7 @@ public: /// represented by instances of IfcShadingDevice. /// HISTORY New entity in /// Release IFC2x4. -class IfcParse_EXPORT IfcShadingDeviceType : public IfcBuildingElementType { +class IFC_PARSE_API IfcShadingDeviceType : public IfcBuildingElementType { public: /// Identifies the predefined types of a shading device element from which the type required may be set. IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum PredefinedType() const; @@ -35981,7 +35981,7 @@ public: /// 'Body' /// IfcShapeRepresentation.RepresentationType = 'Brep', or /// 'SurfaceModel' -class IfcParse_EXPORT IfcSite : public IfcSpatialStructureElement { +class IFC_PARSE_API IfcSite : public IfcSpatialStructureElement { public: /// Whether the optional attribute RefLatitude is defined for this IfcSite bool hasRefLatitude() const; @@ -36100,7 +36100,7 @@ public: /// /// Pset_SlabCommon: common property set for all /// slab types. -class IfcParse_EXPORT IfcSlabType : public IfcBuildingElementType { +class IFC_PARSE_API IfcSlabType : public IfcBuildingElementType { public: /// Identifies the predefined types of a slab element from which the type required may be set. IfcSlabTypeEnum::IfcSlabTypeEnum PredefinedType() const; @@ -36143,7 +36143,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcSolarDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSolarDevice for standard port definitions. -class IfcParse_EXPORT IfcSolarDeviceType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcSolarDeviceType : public IfcEnergyConversionDeviceType { public: IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum PredefinedType() const; void setPredefinedType(IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum v); @@ -36409,7 +36409,7 @@ public: /// 'Body' /// IfcShapeRepresentation.RepresentationType : /// 'Brep' -class IfcParse_EXPORT IfcSpace : public IfcSpatialStructureElement { +class IFC_PARSE_API IfcSpace : public IfcSpatialStructureElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcSpace bool hasPredefinedType() const; @@ -36469,7 +36469,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcSpaceHeaterType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSpaceHeater for standard port definitions. -class IfcParse_EXPORT IfcSpaceHeaterType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcSpaceHeaterType : public IfcFlowTerminalType { public: /// Enumeration of possible types of space heater (e.g., baseboard heater, convector, radiator, etc.). IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum PredefinedType() const; @@ -36567,7 +36567,7 @@ public: /// agreements may prevent the usage of shared geometry for /// spaces. /// . -class IfcParse_EXPORT IfcSpaceType : public IfcSpatialStructureElementType { +class IFC_PARSE_API IfcSpaceType : public IfcSpatialStructureElementType { public: /// Predefined types to define the particular type of space. There may be property set definitions available for each predefined type. IfcSpaceTypeEnum::IfcSpaceTypeEnum PredefinedType() const; @@ -36614,7 +36614,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcStackTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcStackTerminal for standard port definitions. -class IfcParse_EXPORT IfcStackTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcStackTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of stack terminal from which the type required may be set. IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum PredefinedType() const; @@ -36651,7 +36651,7 @@ public: /// /// HISTORY: New entity in Release IFC2x /// Edition 2. -class IfcParse_EXPORT IfcStairFlightType : public IfcBuildingElementType { +class IFC_PARSE_API IfcStairFlightType : public IfcBuildingElementType { public: /// Identifies the predefined types of a stair flight element from which the type required may be set. IfcStairFlightTypeEnum::IfcStairFlightTypeEnum PredefinedType() const; @@ -36701,7 +36701,7 @@ public: /// /// HISTORY New entity in Release /// IFC2x Edition 4. -class IfcParse_EXPORT IfcStairType : public IfcBuildingElementType { +class IFC_PARSE_API IfcStairType : public IfcBuildingElementType { public: /// Identifies the predefined types of a stair element from which the type required may be set. IfcStairTypeEnum::IfcStairTypeEnum PredefinedType() const; @@ -36737,7 +36737,7 @@ public: /// IfcRelAssignsToProduct relationship object. IfcRelAssignsToProduct.Name is set to /// 'Causes' and IfcRelAssignsToProduct.RelatedObjects refers to an instance of a subtype of /// IfcStructuralReaction. -class IfcParse_EXPORT IfcStructuralAction : public IfcStructuralActivity { +class IFC_PARSE_API IfcStructuralAction : public IfcStructuralActivity { public: /// Whether the optional attribute DestabilizingLoad is defined for this IfcStructuralAction bool hasDestabilizingLoad() const; @@ -36759,7 +36759,7 @@ public: /// Definition from IAI: An IfcStructuralConnection represents a structural connection object (node i.e. vertex connection, or edge connection, or surface connection) or supports. /// /// HISTORY: New entity in IFC 2x2. -class IfcParse_EXPORT IfcStructuralConnection : public IfcStructuralItem { +class IFC_PARSE_API IfcStructuralConnection : public IfcStructuralItem { public: /// Whether the optional attribute AppliedCondition is defined for this IfcStructuralConnection bool hasAppliedCondition() const; @@ -36835,7 +36835,7 @@ public: /// (Single point loads are modeled by IfcStructuralPointAction.) /// All items in SELF\IfcStructuralActivity.AppliedLoad\IfcStructuralLoadConfiguration.Values /// shall be of the same entity type. -class IfcParse_EXPORT IfcStructuralCurveAction : public IfcStructuralAction { +class IFC_PARSE_API IfcStructuralCurveAction : public IfcStructuralAction { public: /// Whether the optional attribute ProjectedOrTrue is defined for this IfcStructuralCurveAction bool hasProjectedOrTrue() const; @@ -36874,7 +36874,7 @@ public: /// Informal propositions: /// /// The reference curve must not be parallel with Axis at any point within the curve connections's domain. -class IfcParse_EXPORT IfcStructuralCurveConnection : public IfcStructuralConnection { +class IFC_PARSE_API IfcStructuralCurveConnection : public IfcStructuralConnection { public: /// Direction which is used in the definition of the local z axis. Axis is specified relative to the so-called global coordinate system, i.e. the SELF\IfcProduct.ObjectPlacement. /// @@ -36930,7 +36930,7 @@ public: /// Informal propositions: /// /// The reference curve must not be parallel with Axis at any point within the curve member's domain. -class IfcParse_EXPORT IfcStructuralCurveMember : public IfcStructuralMember { +class IFC_PARSE_API IfcStructuralCurveMember : public IfcStructuralMember { public: /// Type of member with respect to its load carrying behavior in this analysis idealization. IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum PredefinedType() const; @@ -36972,7 +36972,7 @@ public: /// Topology Use Definitions: /// /// Instances of IfcStructuralCurveMemberVarying may have a topology representation which contains a single IfcEdgeLoop, based upon the edges of the parts. -class IfcParse_EXPORT IfcStructuralCurveMemberVarying : public IfcStructuralCurveMember { +class IFC_PARSE_API IfcStructuralCurveMemberVarying : public IfcStructuralCurveMember { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcStructuralCurveMember::getArgumentType(i); } @@ -37036,7 +37036,7 @@ public: /// item are located at the beginning and end of the result distribution, respectively. /// All items in SELF\IfcStructuralActivity.AppliedLoad\IfcStructuralLoadConfiguration.Values /// shall be of the same entity type. -class IfcParse_EXPORT IfcStructuralCurveReaction : public IfcStructuralReaction { +class IFC_PARSE_API IfcStructuralCurveReaction : public IfcStructuralReaction { public: /// Type of reaction according to its distribution of load values. IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum PredefinedType() const; @@ -37060,7 +37060,7 @@ public: /// IFC 2x4 change: Intermediate supertype IfcStructuralCurveAction inserted. Derived attribute PredefinedType added. /// /// NOTE  Like its supertype IfcStructuralCurveAction, this action type may also act on curved edges. -class IfcParse_EXPORT IfcStructuralLinearAction : public IfcStructuralCurveAction { +class IFC_PARSE_API IfcStructuralLinearAction : public IfcStructuralCurveAction { public: virtual unsigned int getArgumentCount() const { return 12; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcStructuralCurveAction::getArgumentType(i); } @@ -37107,7 +37107,7 @@ public: /// Instances of IfcStructuralLoadCase shall only contain instances of IfcStructuralAction /// or/ and instances of IfcStructuralLoadGroup of type LOAD_GROUP. /// Load groups of type LOAD_COMBINATION shall only contain instances of IfcStructuralLoadCase. -class IfcParse_EXPORT IfcStructuralLoadGroup : public IfcGroup { +class IFC_PARSE_API IfcStructuralLoadGroup : public IfcGroup { public: /// Selects a predefined type for the load group. It can be differentiated between load groups, load cases, load combinations, or userdefined grouping levels. IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum PredefinedType() const; @@ -37187,7 +37187,7 @@ public: /// SELF\IfcStructuralActivity.AppliedLoad shall be of type /// IfcStructuralLoadSingleForce or /// IfcStructuralLoadSingleDisplacement. -class IfcParse_EXPORT IfcStructuralPointAction : public IfcStructuralAction { +class IFC_PARSE_API IfcStructuralPointAction : public IfcStructuralAction { public: virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcStructuralAction::getArgumentType(i); } @@ -37214,7 +37214,7 @@ public: /// Topology Use Definitions: /// /// Instances of IfcStructuralPointConnection shall have a topology representation which consists of one IfcVertexPoint, representing the reference point of the point connection. See definitions at IfcStructuralItem for further specifications. -class IfcParse_EXPORT IfcStructuralPointConnection : public IfcStructuralConnection { +class IFC_PARSE_API IfcStructuralPointConnection : public IfcStructuralConnection { public: /// Whether the optional attribute ConditionCoordinateSystem is defined for this IfcStructuralPointConnection bool hasConditionCoordinateSystem() const; @@ -37276,7 +37276,7 @@ public: /// SELF\IfcStructuralActivity.AppliedLoad shall be of type /// IfcStructuralLoadSingleForce or /// IfcStructuralLoadSingleDisplacement. -class IfcParse_EXPORT IfcStructuralPointReaction : public IfcStructuralReaction { +class IFC_PARSE_API IfcStructuralPointReaction : public IfcStructuralReaction { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcStructuralReaction::getArgumentType(i); } @@ -37294,7 +37294,7 @@ public: /// /// HISTORY: New entity in IFC 2x2. /// IFC 2x4 change: WHERE rule added. -class IfcParse_EXPORT IfcStructuralResultGroup : public IfcGroup { +class IFC_PARSE_API IfcStructuralResultGroup : public IfcGroup { public: /// Specifies the analysis theory used to obtain the respective results. IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum TheoryType() const; @@ -37372,7 +37372,7 @@ public: /// (Single point loads are modeled by IfcStructuralPointLoad.) /// All items in SELF\IfcStructuralActivity.AppliedLoad\IfcStructuralLoadConfiguration.Values /// shall be of the same entity type. -class IfcParse_EXPORT IfcStructuralSurfaceAction : public IfcStructuralAction { +class IFC_PARSE_API IfcStructuralSurfaceAction : public IfcStructuralAction { public: /// Whether the optional attribute ProjectedOrTrue is defined for this IfcStructuralSurfaceAction bool hasProjectedOrTrue() const; @@ -37406,7 +37406,7 @@ public: /// Topology Use Definitions: /// /// Instances of IfcStructuralSurfaceConnection shall have a topology representation which consists of one IfcFaceSurface, representing the reference surface of the surface connection. See definitions at IfcStructuralItem for further specifications. -class IfcParse_EXPORT IfcStructuralSurfaceConnection : public IfcStructuralConnection { +class IFC_PARSE_API IfcStructuralSurfaceConnection : public IfcStructuralConnection { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcStructuralConnection::getArgumentType(i); } @@ -37444,7 +37444,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a subcontract resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcSubContractResource and RelatedObjects contains one or more IfcActor, IfcCostSchedule, and/or IfcWorkOrder objects as shown in Figure 195. An IfcActor indicates a specific organization to be considered to fulfill the resource or invited to bid on the resource. An IfcCostSchedule indicates a bid or price quote made on behalf of an organization. An IfcProjectOrder indicates a specific work order committed to fulfill the resource. /// /// Figure 195 — Subcontract assignment use -class IfcParse_EXPORT IfcSubContractResource : public IfcConstructionResource { +class IFC_PARSE_API IfcSubContractResource : public IfcConstructionResource { public: /// Whether the optional attribute PredefinedType is defined for this IfcSubContractResource bool hasPredefinedType() const; @@ -37496,7 +37496,7 @@ public: /// Surface representations of treated parts of the lement surface by means of IfcShellBasedSurfaceModel. The faces within the surface model may be included into a B-Rep model within a representation map of the parent element type. /// /// Higher-level parameters (geometric and non-geometric) may be provided by property sets based on local agreements. -class IfcParse_EXPORT IfcSurfaceFeature : public IfcFeatureElement { +class IFC_PARSE_API IfcSurfaceFeature : public IfcFeatureElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcSurfaceFeature bool hasPredefinedType() const; @@ -37555,7 +37555,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcSwitchingDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSwitchingDevice for standard port definitions. -class IfcParse_EXPORT IfcSwitchingDeviceType : public IfcFlowControllerType { +class IFC_PARSE_API IfcSwitchingDeviceType : public IfcFlowControllerType { public: /// Identifies the predefined types of switch from which the type required may be set. IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum PredefinedType() const; @@ -37589,7 +37589,7 @@ public: /// /// HISTORY: New entity in /// IFC Release 1.0 -class IfcParse_EXPORT IfcSystem : public IfcGroup { +class IFC_PARSE_API IfcSystem : public IfcGroup { public: virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcGroup::getArgumentType(i); } @@ -37628,7 +37628,7 @@ public: /// 'Hardware': Finish hardware such as knobs or handles. /// 'Padding': Padding such as cushions. /// 'Panel': Panels such as glass. -class IfcParse_EXPORT IfcSystemFurnitureElement : public IfcFurnishingElement { +class IFC_PARSE_API IfcSystemFurnitureElement : public IfcFurnishingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcSystemFurnitureElement bool hasPredefinedType() const; @@ -37678,7 +37678,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcTankType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcTank for standard port definitions. -class IfcParse_EXPORT IfcTankType : public IfcFlowStorageDeviceType { +class IFC_PARSE_API IfcTankType : public IfcFlowStorageDeviceType { public: /// Defines the type of tank. IfcTankTypeEnum::IfcTankTypeEnum PredefinedType() const; @@ -37696,7 +37696,7 @@ public: typedef IfcTemplatedEntityList< IfcTankType > list; }; -class IfcParse_EXPORT IfcTendon : public IfcReinforcingElement { +class IFC_PARSE_API IfcTendon : public IfcReinforcingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcTendon bool hasPredefinedType() const; @@ -37743,7 +37743,7 @@ public: typedef IfcTemplatedEntityList< IfcTendon > list; }; -class IfcParse_EXPORT IfcTendonAnchor : public IfcReinforcingElement { +class IFC_PARSE_API IfcTendonAnchor : public IfcReinforcingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcTendonAnchor bool hasPredefinedType() const; @@ -37762,7 +37762,7 @@ public: typedef IfcTemplatedEntityList< IfcTendonAnchor > list; }; -class IfcParse_EXPORT IfcTendonAnchorType : public IfcReinforcingElementType { +class IFC_PARSE_API IfcTendonAnchorType : public IfcReinforcingElementType { public: IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum PredefinedType() const; void setPredefinedType(IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum v); @@ -37779,7 +37779,7 @@ public: typedef IfcTemplatedEntityList< IfcTendonAnchorType > list; }; -class IfcParse_EXPORT IfcTendonType : public IfcReinforcingElementType { +class IFC_PARSE_API IfcTendonType : public IfcReinforcingElementType { public: IfcTendonTypeEnum::IfcTendonTypeEnum PredefinedType() const; void setPredefinedType(IfcTendonTypeEnum::IfcTendonTypeEnum v); @@ -37834,7 +37834,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcTransformerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcTransformer for standard port definitions. -class IfcParse_EXPORT IfcTransformerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcTransformerType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of transformer from which the type required may be set. IfcTransformerTypeEnum::IfcTransformerTypeEnum PredefinedType() const; @@ -37967,7 +37967,7 @@ public: /// /// RepresentationIdentifier : 'Body' /// RepresentationType : 'MappedRepresentation' -class IfcParse_EXPORT IfcTransportElement : public IfcElement { +class IFC_PARSE_API IfcTransportElement : public IfcElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcTransportElement bool hasPredefinedType() const; @@ -38066,7 +38066,7 @@ public: /// required to be consistent with the parameter values of Trim1 /// and Trim1, so the rule (sense = parameter 1 /// < parameter 2) may not be fulfilled. -class IfcParse_EXPORT IfcTrimmedCurve : public IfcBoundedCurve { +class IFC_PARSE_API IfcTrimmedCurve : public IfcBoundedCurve { public: /// The curve to be trimmed. For curves with multiple representations any parameter values given as Trim1 or Trim2 refer to the master representation of the BasisCurve only. IfcCurve* BasisCurve() const; @@ -38124,7 +38124,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcTubeBundleType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcTubeBundle for standard port definitions. -class IfcParse_EXPORT IfcTubeBundleType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcTubeBundleType : public IfcEnergyConversionDeviceType { public: /// Defines the type of tube bundle. IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum PredefinedType() const; @@ -38169,7 +38169,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcUnitaryEquipmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcUnitaryEquipment for standard port definitions. -class IfcParse_EXPORT IfcUnitaryEquipmentType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcUnitaryEquipmentType : public IfcEnergyConversionDeviceType { public: /// The type of unitary equipment. IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum PredefinedType() const; @@ -38224,7 +38224,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcValveType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcValve for standard port definitions. -class IfcParse_EXPORT IfcValveType : public IfcFlowControllerType { +class IFC_PARSE_API IfcValveType : public IfcFlowControllerType { public: /// The type of valve. IfcValveTypeEnum::IfcValveTypeEnum PredefinedType() const; @@ -38275,7 +38275,7 @@ public: /// /// Body: The primary material from which the object is constructed. /// Damping: Material from which the damping element of the vibration isolator is constructed. -class IfcParse_EXPORT IfcVibrationIsolator : public IfcElementComponent { +class IFC_PARSE_API IfcVibrationIsolator : public IfcElementComponent { public: /// Whether the optional attribute PredefinedType is defined for this IfcVibrationIsolator bool hasPredefinedType() const; @@ -38315,7 +38315,7 @@ public: /// The material of the IfcVibrationIsolatorType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used: /// /// 'Damping': Material from which the damping element of the vibration isolator is constructed. -class IfcParse_EXPORT IfcVibrationIsolatorType : public IfcElementComponentType { +class IFC_PARSE_API IfcVibrationIsolatorType : public IfcElementComponentType { public: /// Defines the type of vibration isolator. IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum PredefinedType() const; @@ -38418,7 +38418,7 @@ public: /// /// 'GeometricSet': a list of 3D surfaces within the constraints /// shown above. -class IfcParse_EXPORT IfcVirtualElement : public IfcElement { +class IFC_PARSE_API IfcVirtualElement : public IfcElement { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElement::getArgumentType(i); } @@ -38464,7 +38464,7 @@ public: /// Surface representations of cutting planes by means of IfcShellBasedSurfaceModel. The faces within the surface model may be included into a B-Rep model within a representation map of the parent element type. /// /// Higher-level parameters (geometric and non-geometric) may be provided by property sets based on local agreements. -class IfcParse_EXPORT IfcVoidingFeature : public IfcFeatureElementSubtraction { +class IFC_PARSE_API IfcVoidingFeature : public IfcFeatureElementSubtraction { public: /// Whether the optional attribute PredefinedType is defined for this IfcVoidingFeature bool hasPredefinedType() const; @@ -38567,7 +38567,7 @@ public: /// /// Pset_WallCommon: common property set for all /// wall types. -class IfcParse_EXPORT IfcWallType : public IfcBuildingElementType { +class IFC_PARSE_API IfcWallType : public IfcBuildingElementType { public: /// Identifies the predefined types of a wall element from which the type required may be set. IfcWallTypeEnum::IfcWallTypeEnum PredefinedType() const; @@ -38620,7 +38620,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcWasteTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcWasteTerminal for standard port definitions. -class IfcParse_EXPORT IfcWasteTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcWasteTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of waste terminal from which the type required may be set. IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum PredefinedType() const; @@ -38758,7 +38758,7 @@ public: /// IfcShapeRepresentation are restricted in the same way as /// those for IfcWindow and /// IfcWindowStandardCase -class IfcParse_EXPORT IfcWindowType : public IfcBuildingElementType { +class IFC_PARSE_API IfcWindowType : public IfcBuildingElementType { public: /// Identifies the predefined types of a window element from which the type required may be set. IfcWindowTypeEnum::IfcWindowTypeEnum PredefinedType() const; @@ -38799,7 +38799,7 @@ public: /// Figure 17 shows the definition of a work calendar, which is defined by a set of work times and exception times. The work times are defined as recurring patterns with optional boundaries (applying from and/or to a specific date). The shown example defines a simple work calendar with working times Monday to Thursday 8:00 to 12:00 and 13:00 to 17:00, Friday 8:00 to 14:00 and as exception every 1st Monday in a month the work starts one hour later - i.e. the working time on every 1st Monday in a month is overriden to be 9:00 to 12:00 and 13:00 to 17:00. Both the working time and the exception time is valid for the period of 01.09.2010 till 30.08.2011. /// /// Figure 17 — Work calendar instantiation -class IfcParse_EXPORT IfcWorkCalendar : public IfcControl { +class IFC_PARSE_API IfcWorkCalendar : public IfcControl { public: /// Whether the optional attribute WorkingTimes is defined for this IfcWorkCalendar bool hasWorkingTimes() const; @@ -38879,7 +38879,7 @@ public: /// /// Pset_WorkControlCommon: common /// property set for work control -class IfcParse_EXPORT IfcWorkControl : public IfcControl { +class IFC_PARSE_API IfcWorkControl : public IfcControl { public: /// The date that the plan is created. std::string CreationDate() const; @@ -38949,7 +38949,7 @@ public: /// through IfcRelAssignsToControl. /// /// Figure 18 — Work plan relationships -class IfcParse_EXPORT IfcWorkPlan : public IfcWorkControl { +class IFC_PARSE_API IfcWorkPlan : public IfcWorkControl { public: /// Whether the optional attribute PredefinedType is defined for this IfcWorkPlan bool hasPredefinedType() const; @@ -39009,7 +39009,7 @@ public: /// task and not the work schedule. /// /// Figure 19 — Work schedule relationships -class IfcParse_EXPORT IfcWorkSchedule : public IfcWorkControl { +class IFC_PARSE_API IfcWorkSchedule : public IfcWorkControl { public: /// Whether the optional attribute PredefinedType is defined for this IfcWorkSchedule bool hasPredefinedType() const; @@ -39114,7 +39114,7 @@ public: /// Pset_SpaceThermalRequirements: common /// property set for all types of zones to capture the thermal /// requirements -class IfcParse_EXPORT IfcZone : public IfcSystem { +class IFC_PARSE_API IfcZone : public IfcSystem { public: /// Whether the optional attribute LongName is defined for this IfcZone bool hasLongName() const; @@ -39175,7 +39175,7 @@ public: /// /// Approval Use Definition /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcActionRequest. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. -class IfcParse_EXPORT IfcActionRequest : public IfcControl { +class IFC_PARSE_API IfcActionRequest : public IfcControl { public: /// Whether the optional attribute PredefinedType is defined for this IfcActionRequest bool hasPredefinedType() const; @@ -39240,7 +39240,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcAirTerminalBoxType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirTerminalBox for standard port definitions. -class IfcParse_EXPORT IfcAirTerminalBoxType : public IfcFlowControllerType { +class IFC_PARSE_API IfcAirTerminalBoxType : public IfcFlowControllerType { public: /// The air terminal box type. IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum PredefinedType() const; @@ -39283,7 +39283,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcAirTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirTerminal for standard port definitions. -class IfcParse_EXPORT IfcAirTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcAirTerminalType : public IfcFlowTerminalType { public: IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum PredefinedType() const; void setPredefinedType(IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum v); @@ -39325,7 +39325,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcAirToAirHeatRecoveryType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirToAirHeatRecovery for standard port definitions. -class IfcParse_EXPORT IfcAirToAirHeatRecoveryType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcAirToAirHeatRecoveryType : public IfcEnergyConversionDeviceType { public: /// Defines the type of air to air heat recovery device. IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum PredefinedType() const; @@ -39366,7 +39366,7 @@ public: /// /// The IfcAsset may have assignments of its own using the IfcRelAssignsToGroup relationship where RelatingGroup refers to the IfcAsset and RelatedObjects contains one or more objects of the following types: /// IfcElement: Physical elements that comprise the asset. -class IfcParse_EXPORT IfcAsset : public IfcGroup { +class IFC_PARSE_API IfcAsset : public IfcGroup { public: /// Whether the optional attribute Identification is defined for this IfcAsset bool hasIdentification() const; @@ -39472,7 +39472,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcAudioVisualApplianceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAudioVisualAppliance for standard port definitions. -class IfcParse_EXPORT IfcAudioVisualApplianceType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcAudioVisualApplianceType : public IfcFlowTerminalType { public: /// Identifies the predefined types of audio-visual appliance from which the type required may be set. IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum PredefinedType() const; @@ -39538,7 +39538,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: b_spline_curve. Please refer to ISO/IS 10303-42:1994, p. 45 for the final definition of the formal standard. /// /// HISTORY  New entity in Release IFC2x2. -class IfcParse_EXPORT IfcBSplineCurve : public IfcBoundedCurve { +class IFC_PARSE_API IfcBSplineCurve : public IfcBoundedCurve { public: /// The algebraic degree of the basis functions. int Degree() const; @@ -39584,7 +39584,7 @@ public: /// NOTE Corresponding ISO 10303 entity: b_spline_curve_with_knots. Please refer to ISO/IS 10303-42:1994, p. 46 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x4. -class IfcParse_EXPORT IfcBSplineCurveWithKnots : public IfcBSplineCurve { +class IFC_PARSE_API IfcBSplineCurveWithKnots : public IfcBSplineCurve { public: /// The multiplicities of the knots. This list defines the number of times each knot in the knots list is to be repeated in constructing the knot array. std::vector< int > /*[2:?]*/ KnotMultiplicities() const; @@ -39705,7 +39705,7 @@ public: /// IfcShapeRepresentation are restricted in the same way as /// those for IfcBeam and /// IfcBeamStandardCase -class IfcParse_EXPORT IfcBeamType : public IfcBuildingElementType { +class IFC_PARSE_API IfcBeamType : public IfcBuildingElementType { public: /// Identifies the predefined types of a beam element from which the type required may be set. IfcBeamTypeEnum::IfcBeamTypeEnum PredefinedType() const; @@ -39751,7 +39751,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcBoilerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcBoiler for standard port definitions. -class IfcParse_EXPORT IfcBoilerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcBoilerType : public IfcEnergyConversionDeviceType { public: /// Defines types of boilers. IfcBoilerTypeEnum::IfcBoilerTypeEnum PredefinedType() const; @@ -39775,7 +39775,7 @@ public: /// NOTEÿ Corresponding ISO 10303 entity: boundary_curve. Please refer to ISO/IS 10303-42:1994, p.89 for the final definition of the formal standard. /// /// HISTORYÿ New entity in IFC2x4. -class IfcParse_EXPORT IfcBoundaryCurve : public IfcCompositeCurveOnSurface { +class IFC_PARSE_API IfcBoundaryCurve : public IfcCompositeCurveOnSurface { public: virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcCompositeCurveOnSurface::getArgumentType(i); } @@ -40152,7 +40152,7 @@ public: /// 'AdvancedBrep' geometric representation, shall apply to the /// MappedRepresentation of the /// IfcRepresentationMap. -class IfcParse_EXPORT IfcBuildingElement : public IfcElement { +class IFC_PARSE_API IfcBuildingElement : public IfcElement { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElement::getArgumentType(i); } @@ -40183,7 +40183,7 @@ public: /// Moved from from IfcStructuralElementsDomain schema to /// IfcSharedComponentElements schema, compatible change of supertype, /// attribute PredefinedType added. -class IfcParse_EXPORT IfcBuildingElementPart : public IfcElementComponent { +class IFC_PARSE_API IfcBuildingElementPart : public IfcElementComponent { public: /// Whether the optional attribute PredefinedType is defined for this IfcBuildingElementPart bool hasPredefinedType() const; @@ -40206,7 +40206,7 @@ public: /// lists of commonly shared property set definitions and representation maps of parts of a building element. /// /// HISTORY New entity in IFC Release 2x4 -class IfcParse_EXPORT IfcBuildingElementPartType : public IfcElementComponentType { +class IFC_PARSE_API IfcBuildingElementPartType : public IfcElementComponentType { public: /// Subtype of building element part IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum PredefinedType() const; @@ -40413,7 +40413,7 @@ public: /// /// No further restrictions (e.g., for the depths of the CSG tree) /// are defined at this level. -class IfcParse_EXPORT IfcBuildingElementProxy : public IfcBuildingElement { +class IFC_PARSE_API IfcBuildingElementProxy : public IfcBuildingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcBuildingElementProxy bool hasPredefinedType() const; @@ -40465,7 +40465,7 @@ public: /// /// HISTORYÿ New entity in /// Release IFC2x Edition 3. -class IfcParse_EXPORT IfcBuildingElementProxyType : public IfcBuildingElementType { +class IFC_PARSE_API IfcBuildingElementProxyType : public IfcBuildingElementType { public: /// Predefined types to define the particular type of an building element proxy. There may be property set definitions available for each predefined or user defined type. IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum PredefinedType() const; @@ -40518,7 +40518,7 @@ public: /// /// Pset_BuildingSystemCommon: common property /// set for building system occurrences -class IfcParse_EXPORT IfcBuildingSystem : public IfcSystem { +class IFC_PARSE_API IfcBuildingSystem : public IfcSystem { public: /// Whether the optional attribute PredefinedType is defined for this IfcBuildingSystem bool hasPredefinedType() const; @@ -40568,7 +40568,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcBurnerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcBurner for standard port definitions. -class IfcParse_EXPORT IfcBurnerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcBurnerType : public IfcEnergyConversionDeviceType { public: IfcBurnerTypeEnum::IfcBurnerTypeEnum PredefinedType() const; void setPredefinedType(IfcBurnerTypeEnum::IfcBurnerTypeEnum v); @@ -40610,7 +40610,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCableCarrierFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableCarrierFitting for standard port definitions. -class IfcParse_EXPORT IfcCableCarrierFittingType : public IfcFlowFittingType { +class IFC_PARSE_API IfcCableCarrierFittingType : public IfcFlowFittingType { public: /// Identifies the predefined types of cable carrier fitting from which the type required may be set. IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum PredefinedType() const; @@ -40659,7 +40659,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCableCarrierSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableCarrierSegment for standard port definitions. -class IfcParse_EXPORT IfcCableCarrierSegmentType : public IfcFlowSegmentType { +class IFC_PARSE_API IfcCableCarrierSegmentType : public IfcFlowSegmentType { public: /// Identifies the predefined types of cable carrier segment from which the type required may be set. IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum PredefinedType() const; @@ -40704,7 +40704,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCableFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableFitting for standard port definitions. -class IfcParse_EXPORT IfcCableFittingType : public IfcFlowFittingType { +class IFC_PARSE_API IfcCableFittingType : public IfcFlowFittingType { public: /// Identifies the predefined types of cable fitting from which the type required may be set. IfcCableFittingTypeEnum::IfcCableFittingTypeEnum PredefinedType() const; @@ -40762,7 +40762,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCableSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableSegment for standard port definitions. -class IfcParse_EXPORT IfcCableSegmentType : public IfcFlowSegmentType { +class IFC_PARSE_API IfcCableSegmentType : public IfcFlowSegmentType { public: /// Identifies the predefined types of cable segment from which the type required may be set. IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum PredefinedType() const; @@ -40811,7 +40811,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcChillerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcChiller for standard port definitions. -class IfcParse_EXPORT IfcChillerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcChillerType : public IfcEnergyConversionDeviceType { public: /// Defines the typical types of chillers (e.g., air-cooled, water-cooled, etc.). IfcChillerTypeEnum::IfcChillerTypeEnum PredefinedType() const; @@ -40869,7 +40869,7 @@ public: /// /// Qto_ChimneyBaseQuantities: base quantities /// for all chimney occurrences. -class IfcParse_EXPORT IfcChimney : public IfcBuildingElement { +class IFC_PARSE_API IfcChimney : public IfcBuildingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcChimney bool hasPredefinedType() const; @@ -40916,7 +40916,7 @@ public: /// Figure 278 illustrates the definition of the IfcCircle within the (in this case three-dimensional) position coordinate system. /// /// Figure 278 — Circle geometry -class IfcParse_EXPORT IfcCircle : public IfcConic { +class IFC_PARSE_API IfcCircle : public IfcConic { public: /// The radius of the circle, which shall be greater than zero. double Radius() const; @@ -40934,7 +40934,7 @@ public: typedef IfcTemplatedEntityList< IfcCircle > list; }; -class IfcParse_EXPORT IfcCivilElement : public IfcElement { +class IFC_PARSE_API IfcCivilElement : public IfcElement { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElement::getArgumentType(i); } @@ -40975,7 +40975,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCoilType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCoil for standard port definitions. -class IfcParse_EXPORT IfcCoilType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcCoilType : public IfcEnergyConversionDeviceType { public: /// Defines typical types of coils (e.g., Cooling, Heating, etc.) IfcCoilTypeEnum::IfcCoilTypeEnum PredefinedType() const; @@ -41263,7 +41263,7 @@ public: /// geometric representation, shall apply to the /// MappedRepresentation of the /// IfcRepresentationMap. -class IfcParse_EXPORT IfcColumn : public IfcBuildingElement { +class IFC_PARSE_API IfcColumn : public IfcBuildingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcColumn bool hasPredefinedType() const; @@ -41530,7 +41530,7 @@ public: /// Profile Position : see 'SweptSolid' geometric /// representation /// Extrusion:ÿnot applicable -class IfcParse_EXPORT IfcColumnStandardCase : public IfcColumn { +class IFC_PARSE_API IfcColumnStandardCase : public IfcColumn { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcColumn::getArgumentType(i); } @@ -41576,7 +41576,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCommunicationsApplianceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCommunicationsAppliance for standard port definitions. -class IfcParse_EXPORT IfcCommunicationsApplianceType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcCommunicationsApplianceType : public IfcFlowTerminalType { public: /// Identifies the predefined types of communications appliance from which the type required may be set. IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum PredefinedType() const; @@ -41620,7 +41620,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCompressorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCompressor for standard port definitions. -class IfcParse_EXPORT IfcCompressorType : public IfcFlowMovingDeviceType { +class IFC_PARSE_API IfcCompressorType : public IfcFlowMovingDeviceType { public: /// Defines the type of compressor (e.g., hermetic, reciprocating, etc.). IfcCompressorTypeEnum::IfcCompressorTypeEnum PredefinedType() const; @@ -41664,7 +41664,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCondenserType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCondenser for standard port definitions. -class IfcParse_EXPORT IfcCondenserType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcCondenserType : public IfcEnergyConversionDeviceType { public: /// Defines the type of condenser. IfcCondenserTypeEnum::IfcCondenserTypeEnum PredefinedType() const; @@ -41703,7 +41703,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a construction equipment resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionEquipmentResource and RelatedObjects contains one or more IfcProduct subtypes as shown in Figure 183. Such relationship indicates the equipment used as input for the resource. Such products are not contained within a building structure but are referenced within a construction spatial zone, specifically IfcSpatialZone with PredefinedType=CONSTRUCTION, which is aggregated within the IfcProject. There may be multiple chains of production such that the assigned equipment may have their own task and resource assignments for assembling such equipment. /// /// Figure 183 — Construction equipment resource assignment -class IfcParse_EXPORT IfcConstructionEquipmentResource : public IfcConstructionResource { +class IFC_PARSE_API IfcConstructionEquipmentResource : public IfcConstructionResource { public: /// Whether the optional attribute PredefinedType is defined for this IfcConstructionEquipmentResource bool hasPredefinedType() const; @@ -41749,7 +41749,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a construction material resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionMaterialResource and RelatedObjects contains one or more IfcProduct subtypes as shown in Figure 184. Such relationship indicates the physical material used as input for the resource. Such products are not contained within a building structure but are referenced within a construction spatial zone, specifically IfcSpatialZone with PredefinedType=CONSTRUCTION, which is aggregated within the IfcProject. The IfcGeographicElement object is used to represent the physical material occurrence, which may optionally have placement and representation indicating intended storage on the construction site. There may be multiple chains of production such that the assigned product material(s) may have their own task and resource assignments for transporting or extracting such material. /// /// Figure 184 — Construction material resource assignment -class IfcParse_EXPORT IfcConstructionMaterialResource : public IfcConstructionResource { +class IFC_PARSE_API IfcConstructionMaterialResource : public IfcConstructionResource { public: /// Whether the optional attribute PredefinedType is defined for this IfcConstructionMaterialResource bool hasPredefinedType() const; @@ -41784,7 +41784,7 @@ public: /// In addition to assignments specified at the base class IfcConstructionResource, a construction product resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionProductResource and RelatedObjects contains one or more IfcProduct subtypes as shown in Figure 185. Such relationship indicates the products used as input for the resource. Such products are not contained within a building structure but are referenced within a construction spatial zone, specifically IfcSpatialZone with PredefinedType=CONSTRUCTION, which is aggregated within the IfcProject. There may be multiple chains of production such that the assigned products may have their own task and resource assignments. /// /// Figure 185 — Construction product resource assignment -class IfcParse_EXPORT IfcConstructionProductResource : public IfcConstructionResource { +class IFC_PARSE_API IfcConstructionProductResource : public IfcConstructionResource { public: /// Whether the optional attribute PredefinedType is defined for this IfcConstructionProductResource bool hasPredefinedType() const; @@ -41833,7 +41833,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCooledBeamType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCooledBeam for standard port definitions. -class IfcParse_EXPORT IfcCooledBeamType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcCooledBeamType : public IfcEnergyConversionDeviceType { public: /// Defines the type of cooled beam. IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum PredefinedType() const; @@ -41883,7 +41883,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcCoolingTowerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCoolingTower for standard port definitions. -class IfcParse_EXPORT IfcCoolingTowerType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcCoolingTowerType : public IfcEnergyConversionDeviceType { public: /// Defines the typical types of cooling towers (e.g., OpenTower, ClosedTower, CrossFlow, etc.). IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum PredefinedType() const; @@ -42124,7 +42124,7 @@ public: /// IfcArbitraryClosedProfileDef - in cases of faceted representation also a closed IfcPolyline). It is extruded along the plane of the base surface using the Depth parameter of the IfcSurfaceOfLinearExtrusion. /// /// Figure 95 — Covering body circular -class IfcParse_EXPORT IfcCovering : public IfcBuildingElement { +class IFC_PARSE_API IfcCovering : public IfcBuildingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcCovering bool hasPredefinedType() const; @@ -42283,7 +42283,7 @@ public: /// /// An own 'Body' representation shall only be included if no /// components of the curtain wall are defined. -class IfcParse_EXPORT IfcCurtainWall : public IfcBuildingElement { +class IFC_PARSE_API IfcCurtainWall : public IfcBuildingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcCurtainWall bool hasPredefinedType() const; @@ -42339,7 +42339,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcDamperType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDamper for standard port definitions. -class IfcParse_EXPORT IfcDamperType : public IfcFlowControllerType { +class IFC_PARSE_API IfcDamperType : public IfcFlowControllerType { public: /// Type of damper. IfcDamperTypeEnum::IfcDamperTypeEnum PredefinedType() const; @@ -42529,7 +42529,7 @@ public: /// 'Support section' /// A section of material that is used as an intermediate support upon /// which multiple brackets can be mounted. -class IfcParse_EXPORT IfcDiscreteAccessory : public IfcElementComponent { +class IFC_PARSE_API IfcDiscreteAccessory : public IfcElementComponent { public: /// Whether the optional attribute PredefinedType is defined for this IfcDiscreteAccessory bool hasPredefinedType() const; @@ -42736,7 +42736,7 @@ public: /// 'Support section' /// A section of material that is used as an intermediate support upon /// which multiple brackets can be mounted. -class IfcParse_EXPORT IfcDiscreteAccessoryType : public IfcElementComponentType { +class IFC_PARSE_API IfcDiscreteAccessoryType : public IfcElementComponentType { public: /// Subtype of discrete accessory IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum PredefinedType() const; @@ -42790,7 +42790,7 @@ public: /// 'Cover': The material from which the access cover to the chamber is constructed. /// 'Fill': The material that is used to fill the duct (where used). /// 'Wall': The material from which the wall of the duct is constructed. -class IfcParse_EXPORT IfcDistributionChamberElementType : public IfcDistributionFlowElementType { +class IFC_PARSE_API IfcDistributionChamberElementType : public IfcDistributionFlowElementType { public: /// Predefined types of distribution chambers. IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum PredefinedType() const; @@ -42861,7 +42861,7 @@ public: /// 'Clearance': Represents the 3D clearance volume of the item having RepresentationType of 'Surface3D'. Such clearance region indicates space that should not intersect with the 'Body' representation between element occurrences, though may intersect with the 'Clearance' representation of other element occurrences. The particular use of clearance space may be for safety, maintenance, or other purpose. /// /// NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem. -class IfcParse_EXPORT IfcDistributionControlElementType : public IfcDistributionElementType { +class IFC_PARSE_API IfcDistributionControlElementType : public IfcDistributionElementType { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionElementType::getArgumentType(i); } @@ -43037,7 +43037,7 @@ public: /// /// RepresentationIdentifier : 'Body' /// RepresentationType : 'SectionedSpine' -class IfcParse_EXPORT IfcDistributionElement : public IfcElement { +class IFC_PARSE_API IfcDistributionElement : public IfcElement { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElement::getArgumentType(i); } @@ -43120,7 +43120,7 @@ public: /// If materials are defined, geometry of each representation (most typically the 'Body' representation) may be organized into shape aspects where styles may be derived by correlating IfcShapeAspect.Name to a corresponding material (IfcMaterialConstituent.Name or IfcMaterialProfile.Name). /// /// Representations are further defined at subtypes; for example, parametric flow segments align material profiles with the 'Axis' representation. -class IfcParse_EXPORT IfcDistributionFlowElement : public IfcDistributionElement { +class IFC_PARSE_API IfcDistributionFlowElement : public IfcDistributionElement { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionElement::getArgumentType(i); } @@ -43217,7 +43217,7 @@ public: /// IfcShapeRepresentation: The optional shape representation describes the connection volume and supports indication of the port position and orientation. The position is typically the midpoint of the physical connection, and the orientation points in the flow direction normal to the physical connection. Upon connecting elements through ports with rigid connections, each object is aligned such that the effective Location, Axis, and RefDirection of each port is aligned to be equal. /// /// 'Body': The shape of the port. -class IfcParse_EXPORT IfcDistributionPort : public IfcPort { +class IFC_PARSE_API IfcDistributionPort : public IfcPort { public: /// Whether the optional attribute FlowDirection is defined for this IfcDistributionPort bool hasFlowDirection() const; @@ -43285,7 +43285,7 @@ public: /// Figure 150 illustrates a distribution system for an electrical circuit. /// /// Figure 150 — Distribution system assignment -class IfcParse_EXPORT IfcDistributionSystem : public IfcSystem { +class IFC_PARSE_API IfcDistributionSystem : public IfcSystem { public: /// Whether the optional attribute LongName is defined for this IfcDistributionSystem bool hasLongName() const; @@ -43667,7 +43667,7 @@ public: /// pictures). /// /// Figure 97 — Door swing -class IfcParse_EXPORT IfcDoor : public IfcBuildingElement { +class IFC_PARSE_API IfcDoor : public IfcBuildingElement { public: /// Whether the optional attribute OverallHeight is defined for this IfcDoor bool hasOverallHeight() const; @@ -43820,7 +43820,7 @@ public: /// IfcDoorLiningProperties.TransomOffset starting at the bottom edge of the rectangle (along local x axis) into the inner side of the rectangle, distance provided as percentage of overall height. Distance to the centre line of the transom. /// /// Figure 98 — Door profile -class IfcParse_EXPORT IfcDoorStandardCase : public IfcDoor { +class IFC_PARSE_API IfcDoorStandardCase : public IfcDoor { public: virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDoor::getArgumentType(i); } @@ -43863,7 +43863,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcDuctFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDuctFitting for standard port definitions. -class IfcParse_EXPORT IfcDuctFittingType : public IfcFlowFittingType { +class IFC_PARSE_API IfcDuctFittingType : public IfcFlowFittingType { public: /// The type of duct fitting. IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum PredefinedType() const; @@ -43909,7 +43909,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcDuctSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDuctSegment for standard port definitions. -class IfcParse_EXPORT IfcDuctSegmentType : public IfcFlowSegmentType { +class IFC_PARSE_API IfcDuctSegmentType : public IfcFlowSegmentType { public: /// The type of duct segment. IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum PredefinedType() const; @@ -43952,7 +43952,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcDuctSilencerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDuctSilencer for standard port definitions. -class IfcParse_EXPORT IfcDuctSilencerType : public IfcFlowTreatmentDeviceType { +class IFC_PARSE_API IfcDuctSilencerType : public IfcFlowTreatmentDeviceType { public: /// The type of duct silencer. IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum PredefinedType() const; @@ -43998,7 +43998,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricApplianceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricAppliance for standard port definitions. -class IfcParse_EXPORT IfcElectricApplianceType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcElectricApplianceType : public IfcFlowTerminalType { public: /// Identifies the predefined types of electrical appliance from which the type required may be set. IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum PredefinedType() const; @@ -44042,7 +44042,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricDistributionBoardType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricDistributionBoard for standard port definitions. -class IfcParse_EXPORT IfcElectricDistributionBoardType : public IfcFlowControllerType { +class IFC_PARSE_API IfcElectricDistributionBoardType : public IfcFlowControllerType { public: /// Identifies the predefined types of electric distribution type from which the type required may be set. IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum PredefinedType() const; @@ -44086,7 +44086,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricFlowStorageDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricFlowStorageDevice for standard port definitions. -class IfcParse_EXPORT IfcElectricFlowStorageDeviceType : public IfcFlowStorageDeviceType { +class IFC_PARSE_API IfcElectricFlowStorageDeviceType : public IfcFlowStorageDeviceType { public: /// Identifies the predefined types of electric flow storage devices from which the type required may be set. IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum PredefinedType() const; @@ -44135,7 +44135,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricGeneratorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricGenerator for standard port definitions. -class IfcParse_EXPORT IfcElectricGeneratorType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcElectricGeneratorType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of electric generators from which the type required may be set. IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum PredefinedType() const; @@ -44179,7 +44179,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricMotorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricMotor for standard port definitions. -class IfcParse_EXPORT IfcElectricMotorType : public IfcEnergyConversionDeviceType { +class IFC_PARSE_API IfcElectricMotorType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of electric motor from which the type required may be set. IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum PredefinedType() const; @@ -44223,7 +44223,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcElectricTimeControlType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricTimeControl for standard port definitions. -class IfcParse_EXPORT IfcElectricTimeControlType : public IfcFlowControllerType { +class IFC_PARSE_API IfcElectricTimeControlType : public IfcFlowControllerType { public: /// Identifies the predefined types of electrical time control from which the type required may be set. IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum PredefinedType() const; @@ -44249,7 +44249,7 @@ public: /// HISTORY: New entity in IFC R2.0. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IfcParse_EXPORT IfcEnergyConversionDevice : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcEnergyConversionDevice : public IfcDistributionFlowElement { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElement::getArgumentType(i); } @@ -44304,7 +44304,7 @@ public: /// /// Fuel (GAS, SINK): The fuel inlet. /// Drive (NOTDEFINED, SOURCE): Connection to the driven source. -class IfcParse_EXPORT IfcEngine : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcEngine : public IfcEnergyConversionDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcEngine bool hasPredefinedType() const; @@ -44366,7 +44366,7 @@ public: /// WaterIn (DOMESTICCOLDWATER, SINK): Incoming water. /// AirIn (AIRCONDITIONING, SINK): Incoming air. /// AirOut (AIRCONDITIONING, SOURCE): Outgoing air saturated with vapor. -class IfcParse_EXPORT IfcEvaporativeCooler : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcEvaporativeCooler : public IfcEnergyConversionDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcEvaporativeCooler bool hasPredefinedType() const; @@ -44448,7 +44448,7 @@ public: /// /// Figure 223 illustrates evaporator port use. /// Figure 223 — Evaporator port use -class IfcParse_EXPORT IfcEvaporator : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcEvaporator : public IfcEnergyConversionDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcEvaporator bool hasPredefinedType() const; @@ -44481,7 +44481,7 @@ public: /// /// HISTORY New entity in /// IFC2x4. -class IfcParse_EXPORT IfcExternalSpatialElement : public IfcExternalSpatialStructureElement { +class IFC_PARSE_API IfcExternalSpatialElement : public IfcExternalSpatialStructureElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcExternalSpatialElement bool hasPredefinedType() const; @@ -44529,7 +44529,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFanType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFan for standard port definitions. -class IfcParse_EXPORT IfcFanType : public IfcFlowMovingDeviceType { +class IFC_PARSE_API IfcFanType : public IfcFlowMovingDeviceType { public: /// Defines the type of fan typically used in building services. IfcFanTypeEnum::IfcFanTypeEnum PredefinedType() const; @@ -44575,7 +44575,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFilterType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFilter for standard port definitions. -class IfcParse_EXPORT IfcFilterType : public IfcFlowTreatmentDeviceType { +class IFC_PARSE_API IfcFilterType : public IfcFlowTreatmentDeviceType { public: /// The type of air filter. IfcFilterTypeEnum::IfcFilterTypeEnum PredefinedType() const; @@ -44625,7 +44625,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFireSuppressionTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFireSuppressionTerminal for standard port definitions. -class IfcParse_EXPORT IfcFireSuppressionTerminalType : public IfcFlowTerminalType { +class IFC_PARSE_API IfcFireSuppressionTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of fire suppression terminal from which the type required may be set. IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum PredefinedType() const; @@ -44651,7 +44651,7 @@ public: /// HISTORY: New entity in IFC R2.0. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IfcParse_EXPORT IfcFlowController : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowController : public IfcDistributionFlowElement { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElement::getArgumentType(i); } @@ -44670,7 +44670,7 @@ public: /// HISTORY: New entity in IFC R2.0. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IfcParse_EXPORT IfcFlowFitting : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowFitting : public IfcDistributionFlowElement { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElement::getArgumentType(i); } @@ -44714,7 +44714,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcFlowInstrumentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFlowInstrument for standard port definitions. -class IfcParse_EXPORT IfcFlowInstrumentType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcFlowInstrumentType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of flow instrument from which the type required may be set. IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum PredefinedType() const; @@ -44811,7 +44811,7 @@ public: /// /// Figure 226 illustrates flow meter port use. /// Figure 226 — Flow meter port use -class IfcParse_EXPORT IfcFlowMeter : public IfcFlowController { +class IFC_PARSE_API IfcFlowMeter : public IfcFlowController { public: /// Whether the optional attribute PredefinedType is defined for this IfcFlowMeter bool hasPredefinedType() const; @@ -44834,7 +44834,7 @@ public: /// HISTORY: New entity in IFC R2x. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IfcParse_EXPORT IfcFlowMovingDevice : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowMovingDevice : public IfcDistributionFlowElement { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElement::getArgumentType(i); } @@ -44871,7 +44871,7 @@ public: /// Representation Use Definition /// /// Standard representations are defined at the supertype IfcDistrubutionFlowElement. For parametric flow segments where IfcMaterialProfileSetUsage is defined and an 'Axis' representation is defined, then the 'Body' representation may be generated using the 'SweptSolid' or 'AdvancedSweptSolid' representation types by sweeping the profile(s) along the axis. -class IfcParse_EXPORT IfcFlowSegment : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowSegment : public IfcDistributionFlowElement { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElement::getArgumentType(i); } @@ -44895,7 +44895,7 @@ public: /// HISTORY: New entity in IFC R2x. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IfcParse_EXPORT IfcFlowStorageDevice : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowStorageDevice : public IfcDistributionFlowElement { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElement::getArgumentType(i); } @@ -44920,7 +44920,7 @@ public: /// HISTORY: New entity in IFC R2.0. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IfcParse_EXPORT IfcFlowTerminal : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowTerminal : public IfcDistributionFlowElement { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElement::getArgumentType(i); } @@ -44939,7 +44939,7 @@ public: /// HISTORY: New entity in IFC R2x. /// /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. -class IfcParse_EXPORT IfcFlowTreatmentDevice : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcFlowTreatmentDevice : public IfcDistributionFlowElement { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElement::getArgumentType(i); } @@ -44975,7 +44975,7 @@ public: /// Geometry Use Definition /// /// Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcBeamStandardCase or IfcSlabStandardCase should be used when applicable. -class IfcParse_EXPORT IfcFooting : public IfcBuildingElement { +class IFC_PARSE_API IfcFooting : public IfcBuildingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcFooting bool hasPredefinedType() const; @@ -45046,7 +45046,7 @@ public: /// HeatingOutlet (NOTDEFINED, SOURCE): Outlet of substance to be heated. /// CoolingInlet (NOTDEFINED, SINK): Inlet of substance to be cooled. /// CoolingOutlet (NOTDEFINED, SOURCE): Outlet of substance to be cooled. -class IfcParse_EXPORT IfcHeatExchanger : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcHeatExchanger : public IfcEnergyConversionDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcHeatExchanger bool hasPredefinedType() const; @@ -45107,7 +45107,7 @@ public: /// WaterIn (DOMESTICCOLDWATER, SINK): Incoming water. /// AirIn (AIRCONDITIONING, SINK): Incoming air. /// AirOut (AIRCONDITIONING, SOURCE): Outgoing air saturated with vapor. -class IfcParse_EXPORT IfcHumidifier : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcHumidifier : public IfcEnergyConversionDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcHumidifier bool hasPredefinedType() const; @@ -45182,7 +45182,7 @@ public: /// /// Inlet (DRAINAGE, SINK): Inlet drainage. /// Outlet (DRAINAGE, SOURCE): Outlet drainage. -class IfcParse_EXPORT IfcInterceptor : public IfcFlowTreatmentDevice { +class IFC_PARSE_API IfcInterceptor : public IfcFlowTreatmentDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcInterceptor bool hasPredefinedType() const; @@ -45266,7 +45266,7 @@ public: /// /// Figure 201 illustrates junction box port use. /// Figure 201 — Junction box port use -class IfcParse_EXPORT IfcJunctionBox : public IfcFlowFitting { +class IFC_PARSE_API IfcJunctionBox : public IfcFlowFitting { public: /// Whether the optional attribute PredefinedType is defined for this IfcJunctionBox bool hasPredefinedType() const; @@ -45331,7 +45331,7 @@ public: /// /// Figure 203 illustrates lamp port use. /// Figure 203 — Lamp port use -class IfcParse_EXPORT IfcLamp : public IfcFlowTerminal { +class IFC_PARSE_API IfcLamp : public IfcFlowTerminal { public: /// Whether the optional attribute PredefinedType is defined for this IfcLamp bool hasPredefinedType() const; @@ -45415,7 +45415,7 @@ public: /// /// Figure 205 illustrates light fixture port use. /// Figure 205 — Light fixture port use -class IfcParse_EXPORT IfcLightFixture : public IfcFlowTerminal { +class IFC_PARSE_API IfcLightFixture : public IfcFlowTerminal { public: /// Whether the optional attribute PredefinedType is defined for this IfcLightFixture bool hasPredefinedType() const; @@ -45477,7 +45477,7 @@ public: /// /// Power (ELECTRICAL, SINK): Receives electrical power. /// VacuumOut (VACUUM, SOURCE): Provides suction. -class IfcParse_EXPORT IfcMedicalDevice : public IfcFlowTerminal { +class IFC_PARSE_API IfcMedicalDevice : public IfcFlowTerminal { public: /// Whether the optional attribute PredefinedType is defined for this IfcMedicalDevice bool hasPredefinedType() const; @@ -45745,7 +45745,7 @@ public: /// geometric representation, shall apply to the /// MappedRepresentation of the /// IfcRepresentationMap. -class IfcParse_EXPORT IfcMember : public IfcBuildingElement { +class IFC_PARSE_API IfcMember : public IfcBuildingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcMember bool hasPredefinedType() const; @@ -46006,7 +46006,7 @@ public: /// Profile Position : see 'SweptSolid' geometric /// representation /// Extrusion:ÿnot applicable -class IfcParse_EXPORT IfcMemberStandardCase : public IfcMember { +class IFC_PARSE_API IfcMemberStandardCase : public IfcMember { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcMember::getArgumentType(i); } @@ -46061,7 +46061,7 @@ public: /// /// Motor (NOTDEFINED, SINK): Connection from the motor. /// Drive (NOTDEFINED, SOURCE): Connection to the driven device. -class IfcParse_EXPORT IfcMotorConnection : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcMotorConnection : public IfcEnergyConversionDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcMotorConnection bool hasPredefinedType() const; @@ -46084,7 +46084,7 @@ public: /// NOTEÿ Corresponding ISO 10303 entity: outer_boundary_curve. Please refer to ISO/IS 10303-42:1994, p.89 for the final definition of the formal standard. /// /// HISTORYÿ New entity in IFC2x4. -class IfcParse_EXPORT IfcOuterBoundaryCurve : public IfcBoundaryCurve { +class IFC_PARSE_API IfcOuterBoundaryCurve : public IfcBoundaryCurve { public: virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcBoundaryCurve::getArgumentType(i); } @@ -46164,7 +46164,7 @@ public: /// /// Figure 207 illustrates outlet port use. /// Figure 207 — Outlet port use -class IfcParse_EXPORT IfcOutlet : public IfcFlowTerminal { +class IFC_PARSE_API IfcOutlet : public IfcFlowTerminal { public: /// Whether the optional attribute PredefinedType is defined for this IfcOutlet bool hasPredefinedType() const; @@ -46200,7 +46200,7 @@ public: /// Geometry Use Definition /// /// Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcColumnStandardCase should be used when applicable. -class IfcParse_EXPORT IfcPile : public IfcBuildingElement { +class IFC_PARSE_API IfcPile : public IfcBuildingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcPile bool hasPredefinedType() const; @@ -46313,7 +46313,7 @@ public: /// /// Figure 227 illustrates pipe fitting port use. /// Figure 227 — Pipe fitting port use -class IfcParse_EXPORT IfcPipeFitting : public IfcFlowFitting { +class IFC_PARSE_API IfcPipeFitting : public IfcFlowFitting { public: /// Whether the optional attribute PredefinedType is defined for this IfcPipeFitting bool hasPredefinedType() const; @@ -46391,7 +46391,7 @@ public: /// /// Figure 228 illustrates pipe segment port use. /// Figure 228 — Pipe segment port use -class IfcParse_EXPORT IfcPipeSegment : public IfcFlowSegment { +class IFC_PARSE_API IfcPipeSegment : public IfcFlowSegment { public: /// Whether the optional attribute PredefinedType is defined for this IfcPipeSegment bool hasPredefinedType() const; @@ -46637,7 +46637,7 @@ public: /// 'Clipping', 'SurfaceModel', and 'Brep' geometric representation, /// shall apply to the MappedRepresentation of the /// IfcRepresentationMap. -class IfcParse_EXPORT IfcPlate : public IfcBuildingElement { +class IFC_PARSE_API IfcPlate : public IfcBuildingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcPlate bool hasPredefinedType() const; @@ -46812,7 +46812,7 @@ public: /// Figure 110 illustrates a 'Clipping' geometric representation with definition of a plate using advanced geometric representation. The profile is extruded non-perpendicular and the plate body is clipped at the eave. /// /// Figure 110 — Plate body clipping -class IfcParse_EXPORT IfcPlateStandardCase : public IfcPlate { +class IFC_PARSE_API IfcPlateStandardCase : public IfcPlate { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcPlate::getArgumentType(i); } @@ -46902,7 +46902,7 @@ public: /// /// Line (ELECTRICAL, SINK): The supply line, typically connected from a slot in a distribution board. /// Load (ELECTRICAL, SOURCE): The load protected by this device, typically a cable connected to a device or the first junction box of a circuit. -class IfcParse_EXPORT IfcProtectiveDevice : public IfcFlowController { +class IFC_PARSE_API IfcProtectiveDevice : public IfcFlowController { public: /// Whether the optional attribute PredefinedType is defined for this IfcProtectiveDevice bool hasPredefinedType() const; @@ -46960,7 +46960,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcProtectiveDeviceTrippingUnitType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcProtectiveDeviceTrippingUnit for standard port definitions. -class IfcParse_EXPORT IfcProtectiveDeviceTrippingUnitType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcProtectiveDeviceTrippingUnitType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of protective device tripping unit types from which the type required may be set. IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum PredefinedType() const; @@ -47026,7 +47026,7 @@ public: /// /// Figure 229 illustrates pump port use. /// Figure 229 — Pump port use -class IfcParse_EXPORT IfcPump : public IfcFlowMovingDevice { +class IFC_PARSE_API IfcPump : public IfcFlowMovingDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcPump bool hasPredefinedType() const; @@ -47176,7 +47176,7 @@ public: /// RepresentationIdentifier : 'Body' /// RepresentationType : 'SurfaceModel', 'Brep', /// 'MappedRepresentation' -class IfcParse_EXPORT IfcRailing : public IfcBuildingElement { +class IFC_PARSE_API IfcRailing : public IfcBuildingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcRailing bool hasPredefinedType() const; @@ -47330,7 +47330,7 @@ public: /// Figure 111 illustrates IfcRamp defining the local placement for all components. /// /// Figure 111 — Ramp placement -class IfcParse_EXPORT IfcRamp : public IfcBuildingElement { +class IFC_PARSE_API IfcRamp : public IfcBuildingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcRamp bool hasPredefinedType() const; @@ -47541,7 +47541,7 @@ public: /// Figure 114 illustrates the body representation. /// /// Figure 114 — Ramp flight body -class IfcParse_EXPORT IfcRampFlight : public IfcBuildingElement { +class IFC_PARSE_API IfcRampFlight : public IfcBuildingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcRampFlight bool hasPredefinedType() const; @@ -47599,7 +47599,7 @@ public: /// NOTE  Corresponding ISO 10303 entity: rational_b_spline_curve. Please refer to ISO/IS 10303-42:1994, p. 45 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x4. -class IfcParse_EXPORT IfcRationalBSplineCurveWithKnots : public IfcBSplineCurveWithKnots { +class IFC_PARSE_API IfcRationalBSplineCurveWithKnots : public IfcBSplineCurveWithKnots { public: /// The supplied values of the weights. std::vector< double > /*[2:?]*/ WeightsData() const; @@ -47644,7 +47644,7 @@ public: /// /// Simplified Geometric Representation /// Simplified geometric representations may be used based on local agreements. -class IfcParse_EXPORT IfcReinforcingBar : public IfcReinforcingElement { +class IFC_PARSE_API IfcReinforcingBar : public IfcReinforcingElement { public: /// Whether the optional attribute NominalDiameter is defined for this IfcReinforcingBar bool hasNominalDiameter() const; @@ -47695,7 +47695,7 @@ public: /// A 'Body' representation map should contain one IfcSweptDiskSolidPolygonal. /// /// Simplified geometric representations may be used based on local agreements. -class IfcParse_EXPORT IfcReinforcingBarType : public IfcReinforcingElementType { +class IFC_PARSE_API IfcReinforcingBarType : public IfcReinforcingElementType { public: /// The predefined type is always BAR. IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum PredefinedType() const; @@ -47885,7 +47885,7 @@ public: /// Figure 119 illustrates roof placement, with an IfcRoof defining the local placement for all aggregated elements. /// /// Figure 119 — Roof placement -class IfcParse_EXPORT IfcRoof : public IfcBuildingElement { +class IFC_PARSE_API IfcRoof : public IfcBuildingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcRoof bool hasPredefinedType() const; @@ -48032,7 +48032,7 @@ public: /// ColdWater (DOMESTICCOLDWATER, SINK): Cold water supply. /// HotWater (DOMESTICHOTWATER, SINK): Hot water supply. /// Drainage (DRAINAGE, SOURCE): Drainage. -class IfcParse_EXPORT IfcSanitaryTerminal : public IfcFlowTerminal { +class IFC_PARSE_API IfcSanitaryTerminal : public IfcFlowTerminal { public: /// Whether the optional attribute PredefinedType is defined for this IfcSanitaryTerminal bool hasPredefinedType() const; @@ -48098,7 +48098,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcSensorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSensor for standard port definitions. -class IfcParse_EXPORT IfcSensorType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcSensorType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of sensor from which the type required may be set. IfcSensorTypeEnum::IfcSensorTypeEnum PredefinedType() const; @@ -48129,7 +48129,7 @@ public: /// building elements. /// HISTORY New entity in /// IFC2x4 -class IfcParse_EXPORT IfcShadingDevice : public IfcBuildingElement { +class IFC_PARSE_API IfcShadingDevice : public IfcBuildingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcShadingDevice bool hasPredefinedType() const; @@ -48409,7 +48409,7 @@ public: /// geometric representation. The profile is extruded non-perpendicular and the slab body is clipped at the eave. /// /// Figure 121 — Slab body clipping -class IfcParse_EXPORT IfcSlab : public IfcBuildingElement { +class IFC_PARSE_API IfcSlab : public IfcBuildingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcSlab bool hasPredefinedType() const; @@ -48514,7 +48514,7 @@ public: /// for reduced Level of Detail representation). It should suppress /// the geometric details of the parts in the /// decomposition. -class IfcParse_EXPORT IfcSlabElementedCase : public IfcSlab { +class IFC_PARSE_API IfcSlabElementedCase : public IfcSlab { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcSlab::getArgumentType(i); } @@ -48687,7 +48687,7 @@ public: /// Figure 126 illustrates a 'Clipping' geometric representation with definition of a roof slab using advanced geometric representation. The profile is extruded non-perpendicular and the slab body is clipped at the eave. /// /// Figure 126 — Slab body clipping -class IfcParse_EXPORT IfcSlabStandardCase : public IfcSlab { +class IFC_PARSE_API IfcSlabStandardCase : public IfcSlab { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcSlab::getArgumentType(i); } @@ -48748,7 +48748,7 @@ public: /// SOLARPANEL /// /// PowerGeneration (POWERGENERATION, SOURCE): Converted electrical power. -class IfcParse_EXPORT IfcSolarDevice : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcSolarDevice : public IfcEnergyConversionDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcSolarDevice bool hasPredefinedType() const; @@ -48828,7 +48828,7 @@ public: /// /// Figure 230 illustrates space heater port use. /// Figure 230 — Space heater port use -class IfcParse_EXPORT IfcSpaceHeater : public IfcFlowTerminal { +class IFC_PARSE_API IfcSpaceHeater : public IfcFlowTerminal { public: /// Whether the optional attribute PredefinedType is defined for this IfcSpaceHeater bool hasPredefinedType() const; @@ -48896,7 +48896,7 @@ public: /// RAINWATERHOPPER /// /// Rain (RAINWATER, SOURCE): Rainwater outlet. -class IfcParse_EXPORT IfcStackTerminal : public IfcFlowTerminal { +class IFC_PARSE_API IfcStackTerminal : public IfcFlowTerminal { public: /// Whether the optional attribute PredefinedType is defined for this IfcStackTerminal bool hasPredefinedType() const; @@ -49079,7 +49079,7 @@ public: /// Figure 128 illustrates stair placement, where the IfcStair defines the local placement for all components and the common 'Axis' representation, and each component has its own 'Body' representation. /// /// Figure 128 — Stair placement -class IfcParse_EXPORT IfcStair : public IfcBuildingElement { +class IFC_PARSE_API IfcStair : public IfcBuildingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcStair bool hasPredefinedType() const; @@ -49267,7 +49267,7 @@ public: /// Figure 131 illustrates the body representation. /// /// Figure 131 — Stair flight body -class IfcParse_EXPORT IfcStairFlight : public IfcBuildingElement { +class IFC_PARSE_API IfcStairFlight : public IfcBuildingElement { public: /// Whether the optional attribute NumberOfRisers is defined for this IfcStairFlight bool hasNumberOfRisers() const; @@ -49337,7 +49337,7 @@ public: /// NOTE  This rule is necessary to achieve consistent topology representations. The topology representations of structural items in an analysis model are meant to share vertices and edges und must therefore have the same object placement. /// /// NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. -class IfcParse_EXPORT IfcStructuralAnalysisModel : public IfcSystem { +class IFC_PARSE_API IfcStructuralAnalysisModel : public IfcSystem { public: /// Defines the type of the structural analysis model. IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum PredefinedType() const; @@ -49390,7 +49390,7 @@ public: /// Definition from IAI: A load case is a load group, commonly used to group loads from the same action source. /// /// HISTORY: New entity in IFC 2x4. -class IfcParse_EXPORT IfcStructuralLoadCase : public IfcStructuralLoadGroup { +class IFC_PARSE_API IfcStructuralLoadCase : public IfcStructuralLoadGroup { public: /// Whether the optional attribute SelfWeightCoefficients is defined for this IfcStructuralLoadCase bool hasSelfWeightCoefficients() const; @@ -49420,7 +49420,7 @@ public: /// IFC 2x4 change: Intermediate supertype IfcStructuralSurfaceAction inserted. Derived attribute PredefinedType added. /// /// NOTE  Like its supertype IfcStructuralSurfaceAction, this action type may also act on curved faces. -class IfcParse_EXPORT IfcStructuralPlanarAction : public IfcStructuralSurfaceAction { +class IFC_PARSE_API IfcStructuralPlanarAction : public IfcStructuralSurfaceAction { public: virtual unsigned int getArgumentCount() const { return 12; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcStructuralSurfaceAction::getArgumentType(i); } @@ -49522,7 +49522,7 @@ public: /// /// Figure 209 illustrates switching device port use. /// Figure 209 — Switching device port use -class IfcParse_EXPORT IfcSwitchingDevice : public IfcFlowController { +class IFC_PARSE_API IfcSwitchingDevice : public IfcFlowController { public: /// Whether the optional attribute PredefinedType is defined for this IfcSwitchingDevice bool hasPredefinedType() const; @@ -49600,7 +49600,7 @@ public: /// /// Inlet (NOTDEFINED, SINK): Inlet. /// Outlet (NOTDEFINED, SOURCE): Outlet. -class IfcParse_EXPORT IfcTank : public IfcFlowStorageDevice { +class IFC_PARSE_API IfcTank : public IfcFlowStorageDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcTank bool hasPredefinedType() const; @@ -49660,7 +49660,7 @@ public: /// /// Line (ELECTRICAL, SINK): Line to be transformed. /// Load (ELECTRICAL, SOURCE): Transformed load. -class IfcParse_EXPORT IfcTransformer : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcTransformer : public IfcEnergyConversionDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcTransformer bool hasPredefinedType() const; @@ -49725,7 +49725,7 @@ public: /// /// Inlet (NOTDEFINED, SINK): Inlet. /// Outlet (NOTDEFINED, SOURCE): Outlet. -class IfcParse_EXPORT IfcTubeBundle : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcTubeBundle : public IfcEnergyConversionDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcTubeBundle bool hasPredefinedType() const; @@ -49769,7 +49769,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcUnitaryControlElementType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcUnitaryControlElement for standard port definitions. -class IfcParse_EXPORT IfcUnitaryControlElementType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcUnitaryControlElementType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of unitary control element from which the type required may be set. IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum PredefinedType() const; @@ -49858,7 +49858,7 @@ public: /// /// Figure 232 illustrates unitary equipment port use. /// Figure 232 — Unitary equipment port use -class IfcParse_EXPORT IfcUnitaryEquipment : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcUnitaryEquipment : public IfcEnergyConversionDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcUnitaryEquipment bool hasPredefinedType() const; @@ -50062,7 +50062,7 @@ public: /// /// Figure 233 illustrates valve port use. /// Figure 233 — Valve port use -class IfcParse_EXPORT IfcValve : public IfcFlowController { +class IFC_PARSE_API IfcValve : public IfcFlowController { public: /// Whether the optional attribute PredefinedType is defined for this IfcValve bool hasPredefinedType() const; @@ -50322,7 +50322,7 @@ public: /// that relationship object is defined at the level of the subtypes /// of IfcWall and at the /// IfcRelConnectsPathElements. -class IfcParse_EXPORT IfcWall : public IfcBuildingElement { +class IFC_PARSE_API IfcWall : public IfcBuildingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcWall bool hasPredefinedType() const; @@ -50442,7 +50442,7 @@ public: /// for reduced Level of Detail representation). It could suppress /// the geometric details of the parts in the /// decomposition. -class IfcParse_EXPORT IfcWallElementedCase : public IfcWall { +class IFC_PARSE_API IfcWallElementedCase : public IfcWall { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcWall::getArgumentType(i); } @@ -50658,7 +50658,7 @@ public: /// /// Figure 139 — Wall body clipping straight /// Figure 140 — Wall body clipping curved -class IfcParse_EXPORT IfcWallStandardCase : public IfcWall { +class IFC_PARSE_API IfcWallStandardCase : public IfcWall { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcWall::getArgumentType(i); } @@ -50776,7 +50776,7 @@ public: /// /// Inlet (WASTE, SINK): Waste inlet. /// Outlet (WASTE, SOURCE): Waste outlet. -class IfcParse_EXPORT IfcWasteTerminal : public IfcFlowTerminal { +class IFC_PARSE_API IfcWasteTerminal : public IfcFlowTerminal { public: /// Whether the optional attribute PredefinedType is defined for this IfcWasteTerminal bool hasPredefinedType() const; @@ -51152,7 +51152,7 @@ public: /// . /// /// Figure 144 — Window operations -class IfcParse_EXPORT IfcWindow : public IfcBuildingElement { +class IFC_PARSE_API IfcWindow : public IfcBuildingElement { public: /// Whether the optional attribute OverallHeight is defined for this IfcWindow bool hasOverallHeight() const; @@ -51315,7 +51315,7 @@ public: /// SecondMullionOffset defined accordingly. /// /// Figure 145 — Window profile -class IfcParse_EXPORT IfcWindowStandardCase : public IfcWindow { +class IFC_PARSE_API IfcWindowStandardCase : public IfcWindow { public: virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcWindow::getArgumentType(i); } @@ -51360,7 +51360,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcActuatorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcActuator for standard port definitions. -class IfcParse_EXPORT IfcActuatorType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcActuatorType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of actuator from which the type required may be set. IfcActuatorTypeEnum::IfcActuatorTypeEnum PredefinedType() const; @@ -51434,7 +51434,7 @@ public: /// /// Figure 211 illustrates air terminal port use. /// Figure 211 — Air terminal port use -class IfcParse_EXPORT IfcAirTerminal : public IfcFlowTerminal { +class IFC_PARSE_API IfcAirTerminal : public IfcFlowTerminal { public: /// Whether the optional attribute PredefinedType is defined for this IfcAirTerminal bool hasPredefinedType() const; @@ -51494,7 +51494,7 @@ public: /// /// Inlet (AIRCONDITIONING, SINK): Incoming air. /// Outlet (AIRCONDITIONING, SOURCE): Outgoing regulated air. -class IfcParse_EXPORT IfcAirTerminalBox : public IfcFlowController { +class IFC_PARSE_API IfcAirTerminalBox : public IfcFlowController { public: /// Whether the optional attribute PredefinedType is defined for this IfcAirTerminalBox bool hasPredefinedType() const; @@ -51557,7 +51557,7 @@ public: /// AirOutlet (AIRCONDITIONING, SOURCE): Colder air out. /// ExhaustInlet (VENTILATION, SINK): Hot return air in. /// ExhaustOutlet (VENTILATION, SOURCE): Hotter return air out. -class IfcParse_EXPORT IfcAirToAirHeatRecovery : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcAirToAirHeatRecovery : public IfcEnergyConversionDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcAirToAirHeatRecovery bool hasPredefinedType() const; @@ -51601,7 +51601,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcAlarmType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAlarm for standard port definitions. -class IfcParse_EXPORT IfcAlarmType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcAlarmType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of alarm from which the type required may be set. IfcAlarmTypeEnum::IfcAlarmTypeEnum PredefinedType() const; @@ -51796,7 +51796,7 @@ public: /// Control (CONTROL, SINK): Receives control signal. /// Input (TV, SINK): Receives modulated data feed such as satellite, cable, or over-the-air. /// Output (AUDIOVISUAL, SOURCE): Rendered media content. -class IfcParse_EXPORT IfcAudioVisualAppliance : public IfcFlowTerminal { +class IFC_PARSE_API IfcAudioVisualAppliance : public IfcFlowTerminal { public: /// Whether the optional attribute PredefinedType is defined for this IfcAudioVisualAppliance bool hasPredefinedType() const; @@ -52051,7 +52051,7 @@ public: /// 'AdvancedSweptSolid', 'SurfaceModel', and 'Brep' geometric /// representation, shall apply to the MappedRepresentation of /// the IfcRepresentationMap. -class IfcParse_EXPORT IfcBeam : public IfcBuildingElement { +class IFC_PARSE_API IfcBeam : public IfcBuildingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcBeam bool hasPredefinedType() const; @@ -52324,7 +52324,7 @@ public: /// Profile Position : see 'SweptSolid' geometric /// representation /// Extrusion: not applicable -class IfcParse_EXPORT IfcBeamStandardCase : public IfcBeam { +class IFC_PARSE_API IfcBeamStandardCase : public IfcBeam { public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcBeam::getArgumentType(i); } @@ -52407,7 +52407,7 @@ public: /// /// Figure 213 illustrates boiler port use. /// Figure 213 — Boiler port use -class IfcParse_EXPORT IfcBoiler : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcBoiler : public IfcEnergyConversionDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcBoiler bool hasPredefinedType() const; @@ -52466,7 +52466,7 @@ public: /// Ports are specific to the IfcBurner PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection: /// /// Gas (GAS, SINK): Gas inlet for burner. -class IfcParse_EXPORT IfcBurner : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcBurner : public IfcEnergyConversionDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcBurner bool hasPredefinedType() const; @@ -52545,7 +52545,7 @@ public: /// Head (NOTDEFINED, SINK): Head connection. /// Left (NOTDEFINED, SOURCE): Left connection. /// Right (NOTDEFINED, SOURCE): Right connection. -class IfcParse_EXPORT IfcCableCarrierFitting : public IfcFlowFitting { +class IFC_PARSE_API IfcCableCarrierFitting : public IfcFlowFitting { public: /// Whether the optional attribute PredefinedType is defined for this IfcCableCarrierFitting bool hasPredefinedType() const; @@ -52623,7 +52623,7 @@ public: /// /// Head (NOTDEFINED, SINK): Head connection. /// Tail (NOTDEFINED, SOURCE): Tail connection. -class IfcParse_EXPORT IfcCableCarrierSegment : public IfcFlowSegment { +class IFC_PARSE_API IfcCableCarrierSegment : public IfcFlowSegment { public: /// Whether the optional attribute PredefinedType is defined for this IfcCableCarrierSegment bool hasPredefinedType() const; @@ -52716,7 +52716,7 @@ public: /// /// Input (NOTDEFINED, SINK): The input of the connector. /// Output (NOTDEFINED, SOURCE): The output of the connector. -class IfcParse_EXPORT IfcCableFitting : public IfcFlowFitting { +class IFC_PARSE_API IfcCableFitting : public IfcFlowFitting { public: /// Whether the optional attribute PredefinedType is defined for this IfcCableFitting bool hasPredefinedType() const; @@ -52822,7 +52822,7 @@ public: /// /// Input (NOTDEFINED, SINK): Input end of the conductor. /// Output (NOTDEFINED, SOURCE): Output end of the cable. -class IfcParse_EXPORT IfcCableSegment : public IfcFlowSegment { +class IFC_PARSE_API IfcCableSegment : public IfcFlowSegment { public: /// Whether the optional attribute PredefinedType is defined for this IfcCableSegment bool hasPredefinedType() const; @@ -52910,7 +52910,7 @@ public: /// /// Figure 215 illustrates chiller port use. /// Figure 215 — Chiller port use -class IfcParse_EXPORT IfcChiller : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcChiller : public IfcEnergyConversionDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcChiller bool hasPredefinedType() const; @@ -52994,7 +52994,7 @@ public: /// /// Figure 216 illustrates coil port use. /// Figure 216 — Coil port use -class IfcParse_EXPORT IfcCoil : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcCoil : public IfcEnergyConversionDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcCoil bool hasPredefinedType() const; @@ -53114,7 +53114,7 @@ public: /// Link#6 (DATA, SOURCE): A network link to a routed device such as a cable connecting to a computer. /// Link#7 (DATA, SOURCE): A network link to a routed device such as a cable connecting to a computer. /// Link#8 (DATA, SOURCE): A network link to a routed device such as a cable connecting to a computer. -class IfcParse_EXPORT IfcCommunicationsAppliance : public IfcFlowTerminal { +class IFC_PARSE_API IfcCommunicationsAppliance : public IfcFlowTerminal { public: /// Whether the optional attribute PredefinedType is defined for this IfcCommunicationsAppliance bool hasPredefinedType() const; @@ -53178,7 +53178,7 @@ public: /// /// Figure 217 illustrates compressor port use. /// Figure 217 — Compressor port use -class IfcParse_EXPORT IfcCompressor : public IfcFlowMovingDevice { +class IFC_PARSE_API IfcCompressor : public IfcFlowMovingDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcCompressor bool hasPredefinedType() const; @@ -53262,7 +53262,7 @@ public: /// /// Figure 218 illustrates condenser port use. /// Figure 218 — Condenser port use -class IfcParse_EXPORT IfcCondenser : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcCondenser : public IfcEnergyConversionDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcCondenser bool hasPredefinedType() const; @@ -53316,7 +53316,7 @@ public: /// /// Port Use Definition /// The distribution ports relating to the IfcControllerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcController for standard port definitions. -class IfcParse_EXPORT IfcControllerType : public IfcDistributionControlElementType { +class IFC_PARSE_API IfcControllerType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of controller from which the type required may be set. IfcControllerTypeEnum::IfcControllerTypeEnum PredefinedType() const; @@ -53382,7 +53382,7 @@ public: /// /// ChilledWaterIn (CHILLEDWATER, SINK): Chilled water entering. /// ChilledWaterOut (CHILLEDWATER, SOURCE): Chilled water leaving. -class IfcParse_EXPORT IfcCooledBeam : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcCooledBeam : public IfcEnergyConversionDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcCooledBeam bool hasPredefinedType() const; @@ -53457,7 +53457,7 @@ public: /// /// Figure 219 illustrates cooling tower port use. /// Figure 219 — Cooling tower port use -class IfcParse_EXPORT IfcCoolingTower : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcCoolingTower : public IfcEnergyConversionDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcCoolingTower bool hasPredefinedType() const; @@ -53546,7 +53546,7 @@ public: /// /// Figure 220 illustrates damper port use. /// Figure 220 — Damper port use -class IfcParse_EXPORT IfcDamper : public IfcFlowController { +class IFC_PARSE_API IfcDamper : public IfcFlowController { public: /// Whether the optional attribute PredefinedType is defined for this IfcDamper bool hasPredefinedType() const; @@ -53595,7 +53595,7 @@ public: /// 'Cover': The material from which the access cover to the chamber is constructed. /// 'Fill': The material that is used to fill the duct (where used). /// 'Wall': The material from which the wall of the duct is constructed. -class IfcParse_EXPORT IfcDistributionChamberElement : public IfcDistributionFlowElement { +class IFC_PARSE_API IfcDistributionChamberElement : public IfcDistributionFlowElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcDistributionChamberElement bool hasPredefinedType() const; @@ -53614,7 +53614,7 @@ public: typedef IfcTemplatedEntityList< IfcDistributionChamberElement > list; }; -class IfcParse_EXPORT IfcDistributionCircuit : public IfcDistributionSystem { +class IFC_PARSE_API IfcDistributionCircuit : public IfcDistributionSystem { public: virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionSystem::getArgumentType(i); } @@ -53706,7 +53706,7 @@ public: /// For all representations, if a IfcDistributionControlElement occurrence is defined by a IfcDistributionControlElementType having a representation of the same identifier, then 'MappedRepresentation' should be used at the occurrence unless overridden. /// /// If materials are defined, geometry of each representation (most typically the 'Body' representation) may be organized into shape aspects where styles may be derived by correlating IfcShapeAspect.Name to a corresponding material (IfcMaterialConstituent.Name). -class IfcParse_EXPORT IfcDistributionControlElement : public IfcDistributionElement { +class IFC_PARSE_API IfcDistributionControlElement : public IfcDistributionElement { public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionElement::getArgumentType(i); } @@ -53796,7 +53796,7 @@ public: /// /// Figure 221 illustrates duct fitting port use. /// Figure 221 — Duct fitting port use -class IfcParse_EXPORT IfcDuctFitting : public IfcFlowFitting { +class IFC_PARSE_API IfcDuctFitting : public IfcFlowFitting { public: /// Whether the optional attribute PredefinedType is defined for this IfcDuctFitting bool hasPredefinedType() const; @@ -53863,7 +53863,7 @@ public: /// /// Figure 222 illustrates duct segment port use. /// Figure 222 — Duct segment port use -class IfcParse_EXPORT IfcDuctSegment : public IfcFlowSegment { +class IFC_PARSE_API IfcDuctSegment : public IfcFlowSegment { public: /// Whether the optional attribute PredefinedType is defined for this IfcDuctSegment bool hasPredefinedType() const; @@ -53923,7 +53923,7 @@ public: /// /// Inlet (NOTDEFINED, SINK): The flow inlet. /// Outlet (NOTDEFINED, SOURCE): The flow outlet. -class IfcParse_EXPORT IfcDuctSilencer : public IfcFlowTreatmentDevice { +class IFC_PARSE_API IfcDuctSilencer : public IfcFlowTreatmentDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcDuctSilencer bool hasPredefinedType() const; @@ -54039,7 +54039,7 @@ public: /// /// Figure 197 illustrates electric appliance port use. /// Figure 197 — Electric appliance port use -class IfcParse_EXPORT IfcElectricAppliance : public IfcFlowTerminal { +class IFC_PARSE_API IfcElectricAppliance : public IfcFlowTerminal { public: /// Whether the optional attribute PredefinedType is defined for this IfcElectricAppliance bool hasPredefinedType() const; @@ -54114,7 +54114,7 @@ public: /// /// Figure 199 illustrates electric distribution board port use. /// Figure 199 — Electric distribution board port use -class IfcParse_EXPORT IfcElectricDistributionBoard : public IfcFlowController { +class IFC_PARSE_API IfcElectricDistributionBoard : public IfcFlowController { public: /// Whether the optional attribute PredefinedType is defined for this IfcElectricDistributionBoard bool hasPredefinedType() const; @@ -54173,7 +54173,7 @@ public: /// /// Line (ELECTRICAL, SINK): Incoming power used to charge the flow storage device. /// Load (ELECTRICAL, SOURCE): Outgoing power backed by the flow storage device. -class IfcParse_EXPORT IfcElectricFlowStorageDevice : public IfcFlowStorageDevice { +class IFC_PARSE_API IfcElectricFlowStorageDevice : public IfcFlowStorageDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcElectricFlowStorageDevice bool hasPredefinedType() const; @@ -54238,7 +54238,7 @@ public: /// Ports are specific to the IfcElectricGenerator PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection: /// /// Load (ELECTRICAL, SOURCE): Outgoing power from generator. -class IfcParse_EXPORT IfcElectricGenerator : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcElectricGenerator : public IfcEnergyConversionDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcElectricGenerator bool hasPredefinedType() const; @@ -54297,7 +54297,7 @@ public: /// /// Line (ELECTRICAL, SINK): Receives electrical power. /// Drive (NOTDEFINED, SOURCE): Motor connection to a driven device. -class IfcParse_EXPORT IfcElectricMotor : public IfcEnergyConversionDevice { +class IFC_PARSE_API IfcElectricMotor : public IfcEnergyConversionDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcElectricMotor bool hasPredefinedType() const; @@ -54356,7 +54356,7 @@ public: /// /// Line (ELECTRICAL, SINK): Receives electrical power. /// Load (ELECTRICAL, SOURCE): Transmits electrical power according to time. -class IfcParse_EXPORT IfcElectricTimeControl : public IfcFlowController { +class IFC_PARSE_API IfcElectricTimeControl : public IfcFlowController { public: /// Whether the optional attribute PredefinedType is defined for this IfcElectricTimeControl bool hasPredefinedType() const; @@ -54428,7 +54428,7 @@ public: /// /// Figure 224 illustrates fan port use. /// Figure 224 — Fan port use -class IfcParse_EXPORT IfcFan : public IfcFlowMovingDevice { +class IFC_PARSE_API IfcFan : public IfcFlowMovingDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcFan bool hasPredefinedType() const; @@ -54533,7 +54533,7 @@ public: /// /// Figure 225 illustrates filter port use. /// Figure 225 — Filter port use -class IfcParse_EXPORT IfcFilter : public IfcFlowTreatmentDevice { +class IFC_PARSE_API IfcFilter : public IfcFlowTreatmentDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcFilter bool hasPredefinedType() const; @@ -54617,7 +54617,7 @@ public: /// SPRINKLER /// /// Line (FIREPROTECTION, SINK): Fire protection. -class IfcParse_EXPORT IfcFireSuppressionTerminal : public IfcFlowTerminal { +class IFC_PARSE_API IfcFireSuppressionTerminal : public IfcFlowTerminal { public: /// Whether the optional attribute PredefinedType is defined for this IfcFireSuppressionTerminal bool hasPredefinedType() const; @@ -54687,7 +54687,7 @@ public: /// Ports are specific to the IfcFlowInstrument PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection: /// /// Input (SIGNAL, SINK): Receives signal. -class IfcParse_EXPORT IfcFlowInstrument : public IfcDistributionControlElement { +class IFC_PARSE_API IfcFlowInstrument : public IfcDistributionControlElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcFlowInstrument bool hasPredefinedType() const; @@ -54757,7 +54757,7 @@ public: /// In this case a valid value for MethodOfMeasurement shall be provided. /// /// Qto_ProtectiveDeviceTrippingUnitBaseQuantities -class IfcParse_EXPORT IfcProtectiveDeviceTrippingUnit : public IfcDistributionControlElement { +class IFC_PARSE_API IfcProtectiveDeviceTrippingUnit : public IfcDistributionControlElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcProtectiveDeviceTrippingUnit bool hasPredefinedType() const; @@ -54909,7 +54909,7 @@ public: /// /// Figure 180 illustrates sensor port use. /// Figure 180 — Sensor port use -class IfcParse_EXPORT IfcSensor : public IfcDistributionControlElement { +class IFC_PARSE_API IfcSensor : public IfcDistributionControlElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcSensor bool hasPredefinedType() const; @@ -54982,7 +54982,7 @@ public: /// /// Figure 182 illustrates unitary control element port use. /// Figure 182 — Unitary control element port use -class IfcParse_EXPORT IfcUnitaryControlElement : public IfcDistributionControlElement { +class IFC_PARSE_API IfcUnitaryControlElement : public IfcDistributionControlElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcUnitaryControlElement bool hasPredefinedType() const; @@ -55062,7 +55062,7 @@ public: /// Ports are specific to the IfcActuator PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection: /// /// Input (SIGNAL, SINK): Receives signal. -class IfcParse_EXPORT IfcActuator : public IfcDistributionControlElement { +class IFC_PARSE_API IfcActuator : public IfcDistributionControlElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcActuator bool hasPredefinedType() const; @@ -55122,7 +55122,7 @@ public: /// Ports are specific to the IfcAlarm PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection: /// /// Input (SIGNAL, SINK): Receives signal. -class IfcParse_EXPORT IfcAlarm : public IfcDistributionControlElement { +class IFC_PARSE_API IfcAlarm : public IfcDistributionControlElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcAlarm bool hasPredefinedType() const; @@ -55246,7 +55246,7 @@ public: /// /// Figure 178 illustrates controller port use. /// Figure 178 — Controller port use -class IfcParse_EXPORT IfcController : public IfcDistributionControlElement { +class IFC_PARSE_API IfcController : public IfcDistributionControlElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcController bool hasPredefinedType() const; diff --git a/src/ifcparse/Ifc4enum.h b/src/ifcparse/Ifc4enum.h index d99264d573..f6dc97a316 100644 --- a/src/ifcparse/Ifc4enum.h +++ b/src/ifcparse/Ifc4enum.h @@ -29,7 +29,7 @@ #ifndef IFC4ENUM_H #define IFC4ENUM_H -#include "../ifcparse/IfcParse_Export.h" +#include "../ifcparse/ifc_parse_api.h" #include @@ -41,10 +41,10 @@ namespace Type { typedef enum { IfcAbsorbedDoseMeasure, IfcAccelerationMeasure, IfcActionRequest, IfcActionRequestTypeEnum, IfcActionSourceTypeEnum, IfcActionTypeEnum, IfcActor, IfcActorRole, IfcActorSelect, IfcActuator, IfcActuatorType, IfcActuatorTypeEnum, IfcAddress, IfcAddressTypeEnum, IfcAdvancedBrep, IfcAdvancedBrepWithVoids, IfcAdvancedFace, IfcAirTerminal, IfcAirTerminalBox, IfcAirTerminalBoxType, IfcAirTerminalBoxTypeEnum, IfcAirTerminalType, IfcAirTerminalTypeEnum, IfcAirToAirHeatRecovery, IfcAirToAirHeatRecoveryType, IfcAirToAirHeatRecoveryTypeEnum, IfcAlarm, IfcAlarmType, IfcAlarmTypeEnum, IfcAmountOfSubstanceMeasure, IfcAnalysisModelTypeEnum, IfcAnalysisTheoryTypeEnum, IfcAngularVelocityMeasure, IfcAnnotation, IfcAnnotationFillArea, IfcApplication, IfcAppliedValue, IfcAppliedValueSelect, IfcApproval, IfcApprovalRelationship, IfcArbitraryClosedProfileDef, IfcArbitraryOpenProfileDef, IfcArbitraryProfileDefWithVoids, IfcArcIndex, IfcAreaDensityMeasure, IfcAreaMeasure, IfcArithmeticOperatorEnum, IfcAssemblyPlaceEnum, IfcAsset, IfcAsymmetricIShapeProfileDef, IfcAudioVisualAppliance, IfcAudioVisualApplianceType, IfcAudioVisualApplianceTypeEnum, IfcAxis1Placement, IfcAxis2Placement, IfcAxis2Placement2D, IfcAxis2Placement3D, IfcBSplineCurve, IfcBSplineCurveForm, IfcBSplineCurveWithKnots, IfcBSplineSurface, IfcBSplineSurfaceForm, IfcBSplineSurfaceWithKnots, IfcBeam, IfcBeamStandardCase, IfcBeamType, IfcBeamTypeEnum, IfcBenchmarkEnum, IfcBendingParameterSelect, IfcBinary, IfcBlobTexture, IfcBlock, IfcBoiler, IfcBoilerType, IfcBoilerTypeEnum, IfcBoolean, IfcBooleanClippingResult, IfcBooleanOperand, IfcBooleanOperator, IfcBooleanResult, IfcBoundaryCondition, IfcBoundaryCurve, IfcBoundaryEdgeCondition, IfcBoundaryFaceCondition, IfcBoundaryNodeCondition, IfcBoundaryNodeConditionWarping, IfcBoundedCurve, IfcBoundedSurface, IfcBoundingBox, IfcBoxAlignment, IfcBoxedHalfSpace, IfcBuilding, IfcBuildingElement, IfcBuildingElementPart, IfcBuildingElementPartType, IfcBuildingElementPartTypeEnum, IfcBuildingElementProxy, IfcBuildingElementProxyType, IfcBuildingElementProxyTypeEnum, IfcBuildingElementType, IfcBuildingStorey, IfcBuildingSystem, IfcBuildingSystemTypeEnum, IfcBurner, IfcBurnerType, IfcBurnerTypeEnum, IfcCShapeProfileDef, IfcCableCarrierFitting, IfcCableCarrierFittingType, IfcCableCarrierFittingTypeEnum, IfcCableCarrierSegment, IfcCableCarrierSegmentType, IfcCableCarrierSegmentTypeEnum, IfcCableFitting, IfcCableFittingType, IfcCableFittingTypeEnum, IfcCableSegment, IfcCableSegmentType, IfcCableSegmentTypeEnum, IfcCardinalPointReference, IfcCartesianPoint, IfcCartesianPointList, IfcCartesianPointList2D, IfcCartesianPointList3D, IfcCartesianTransformationOperator, IfcCartesianTransformationOperator2D, IfcCartesianTransformationOperator2DnonUniform, IfcCartesianTransformationOperator3D, IfcCartesianTransformationOperator3DnonUniform, IfcCenterLineProfileDef, IfcChangeActionEnum, IfcChiller, IfcChillerType, IfcChillerTypeEnum, IfcChimney, IfcChimneyType, IfcChimneyTypeEnum, IfcCircle, IfcCircleHollowProfileDef, IfcCircleProfileDef, IfcCivilElement, IfcCivilElementType, IfcClassification, IfcClassificationReference, IfcClassificationReferenceSelect, IfcClassificationSelect, IfcClosedShell, IfcCoil, IfcCoilType, IfcCoilTypeEnum, IfcColour, IfcColourOrFactor, IfcColourRgb, IfcColourRgbList, IfcColourSpecification, IfcColumn, IfcColumnStandardCase, IfcColumnType, IfcColumnTypeEnum, IfcCommunicationsAppliance, IfcCommunicationsApplianceType, IfcCommunicationsApplianceTypeEnum, IfcComplexNumber, IfcComplexProperty, IfcComplexPropertyTemplate, IfcComplexPropertyTemplateTypeEnum, IfcCompositeCurve, IfcCompositeCurveOnSurface, IfcCompositeCurveSegment, IfcCompositeProfileDef, IfcCompoundPlaneAngleMeasure, IfcCompressor, IfcCompressorType, IfcCompressorTypeEnum, IfcCondenser, IfcCondenserType, IfcCondenserTypeEnum, IfcConic, IfcConnectedFaceSet, IfcConnectionCurveGeometry, IfcConnectionGeometry, IfcConnectionPointEccentricity, IfcConnectionPointGeometry, IfcConnectionSurfaceGeometry, IfcConnectionTypeEnum, IfcConnectionVolumeGeometry, IfcConstraint, IfcConstraintEnum, IfcConstructionEquipmentResource, IfcConstructionEquipmentResourceType, IfcConstructionEquipmentResourceTypeEnum, IfcConstructionMaterialResource, IfcConstructionMaterialResourceType, IfcConstructionMaterialResourceTypeEnum, IfcConstructionProductResource, IfcConstructionProductResourceType, IfcConstructionProductResourceTypeEnum, IfcConstructionResource, IfcConstructionResourceType, IfcContext, IfcContextDependentMeasure, IfcContextDependentUnit, IfcControl, IfcController, IfcControllerType, IfcControllerTypeEnum, IfcConversionBasedUnit, IfcConversionBasedUnitWithOffset, IfcCooledBeam, IfcCooledBeamType, IfcCooledBeamTypeEnum, IfcCoolingTower, IfcCoolingTowerType, IfcCoolingTowerTypeEnum, IfcCoordinateOperation, IfcCoordinateReferenceSystem, IfcCoordinateReferenceSystemSelect, IfcCostItem, IfcCostItemTypeEnum, IfcCostSchedule, IfcCostScheduleTypeEnum, IfcCostValue, IfcCountMeasure, IfcCovering, IfcCoveringType, IfcCoveringTypeEnum, IfcCrewResource, IfcCrewResourceType, IfcCrewResourceTypeEnum, IfcCsgPrimitive3D, IfcCsgSelect, IfcCsgSolid, IfcCurrencyRelationship, IfcCurtainWall, IfcCurtainWallType, IfcCurtainWallTypeEnum, IfcCurvatureMeasure, IfcCurve, IfcCurveBoundedPlane, IfcCurveBoundedSurface, IfcCurveFontOrScaledCurveFontSelect, IfcCurveInterpolationEnum, IfcCurveOnSurface, IfcCurveOrEdgeCurve, IfcCurveStyle, IfcCurveStyleFont, IfcCurveStyleFontAndScaling, IfcCurveStyleFontPattern, IfcCurveStyleFontSelect, IfcCylindricalSurface, IfcDamper, IfcDamperType, IfcDamperTypeEnum, IfcDataOriginEnum, IfcDate, IfcDateTime, IfcDayInMonthNumber, IfcDayInWeekNumber, IfcDefinitionSelect, IfcDerivedMeasureValue, IfcDerivedProfileDef, IfcDerivedUnit, IfcDerivedUnitElement, IfcDerivedUnitEnum, IfcDescriptiveMeasure, IfcDimensionCount, IfcDimensionalExponents, IfcDirection, IfcDirectionSenseEnum, IfcDiscreteAccessory, IfcDiscreteAccessoryType, IfcDiscreteAccessoryTypeEnum, IfcDistributionChamberElement, IfcDistributionChamberElementType, IfcDistributionChamberElementTypeEnum, IfcDistributionCircuit, IfcDistributionControlElement, IfcDistributionControlElementType, IfcDistributionElement, IfcDistributionElementType, IfcDistributionFlowElement, IfcDistributionFlowElementType, IfcDistributionPort, IfcDistributionPortTypeEnum, IfcDistributionSystem, IfcDistributionSystemEnum, IfcDocumentConfidentialityEnum, IfcDocumentInformation, IfcDocumentInformationRelationship, IfcDocumentReference, IfcDocumentSelect, IfcDocumentStatusEnum, IfcDoor, IfcDoorLiningProperties, IfcDoorPanelOperationEnum, IfcDoorPanelPositionEnum, IfcDoorPanelProperties, IfcDoorStandardCase, IfcDoorStyle, IfcDoorStyleConstructionEnum, IfcDoorStyleOperationEnum, IfcDoorType, IfcDoorTypeEnum, IfcDoorTypeOperationEnum, IfcDoseEquivalentMeasure, IfcDraughtingPreDefinedColour, IfcDraughtingPreDefinedCurveFont, IfcDuctFitting, IfcDuctFittingType, IfcDuctFittingTypeEnum, IfcDuctSegment, IfcDuctSegmentType, IfcDuctSegmentTypeEnum, IfcDuctSilencer, IfcDuctSilencerType, IfcDuctSilencerTypeEnum, IfcDuration, IfcDynamicViscosityMeasure, IfcEdge, IfcEdgeCurve, IfcEdgeLoop, IfcElectricAppliance, IfcElectricApplianceType, IfcElectricApplianceTypeEnum, IfcElectricCapacitanceMeasure, IfcElectricChargeMeasure, IfcElectricConductanceMeasure, IfcElectricCurrentMeasure, IfcElectricDistributionBoard, IfcElectricDistributionBoardType, IfcElectricDistributionBoardTypeEnum, IfcElectricFlowStorageDevice, IfcElectricFlowStorageDeviceType, IfcElectricFlowStorageDeviceTypeEnum, IfcElectricGenerator, IfcElectricGeneratorType, IfcElectricGeneratorTypeEnum, IfcElectricMotor, IfcElectricMotorType, IfcElectricMotorTypeEnum, IfcElectricResistanceMeasure, IfcElectricTimeControl, IfcElectricTimeControlType, IfcElectricTimeControlTypeEnum, IfcElectricVoltageMeasure, IfcElement, IfcElementAssembly, IfcElementAssemblyType, IfcElementAssemblyTypeEnum, IfcElementComponent, IfcElementComponentType, IfcElementCompositionEnum, IfcElementQuantity, IfcElementType, IfcElementarySurface, IfcEllipse, IfcEllipseProfileDef, IfcEnergyConversionDevice, IfcEnergyConversionDeviceType, IfcEnergyMeasure, IfcEngine, IfcEngineType, IfcEngineTypeEnum, IfcEvaporativeCooler, IfcEvaporativeCoolerType, IfcEvaporativeCoolerTypeEnum, IfcEvaporator, IfcEvaporatorType, IfcEvaporatorTypeEnum, IfcEvent, IfcEventTime, IfcEventTriggerTypeEnum, IfcEventType, IfcEventTypeEnum, IfcExtendedProperties, IfcExternalInformation, IfcExternalReference, IfcExternalReferenceRelationship, IfcExternalSpatialElement, IfcExternalSpatialElementTypeEnum, IfcExternalSpatialStructureElement, IfcExternallyDefinedHatchStyle, IfcExternallyDefinedSurfaceStyle, IfcExternallyDefinedTextFont, IfcExtrudedAreaSolid, IfcExtrudedAreaSolidTapered, IfcFace, IfcFaceBasedSurfaceModel, IfcFaceBound, IfcFaceOuterBound, IfcFaceSurface, IfcFacetedBrep, IfcFacetedBrepWithVoids, IfcFailureConnectionCondition, IfcFan, IfcFanType, IfcFanTypeEnum, IfcFastener, IfcFastenerType, IfcFastenerTypeEnum, IfcFeatureElement, IfcFeatureElementAddition, IfcFeatureElementSubtraction, IfcFillAreaStyle, IfcFillAreaStyleHatching, IfcFillAreaStyleTiles, IfcFillStyleSelect, IfcFilter, IfcFilterType, IfcFilterTypeEnum, IfcFireSuppressionTerminal, IfcFireSuppressionTerminalType, IfcFireSuppressionTerminalTypeEnum, IfcFixedReferenceSweptAreaSolid, IfcFlowController, IfcFlowControllerType, IfcFlowDirectionEnum, IfcFlowFitting, IfcFlowFittingType, IfcFlowInstrument, IfcFlowInstrumentType, IfcFlowInstrumentTypeEnum, IfcFlowMeter, IfcFlowMeterType, IfcFlowMeterTypeEnum, IfcFlowMovingDevice, IfcFlowMovingDeviceType, IfcFlowSegment, IfcFlowSegmentType, IfcFlowStorageDevice, IfcFlowStorageDeviceType, IfcFlowTerminal, IfcFlowTerminalType, IfcFlowTreatmentDevice, IfcFlowTreatmentDeviceType, IfcFontStyle, IfcFontVariant, IfcFontWeight, IfcFooting, IfcFootingType, IfcFootingTypeEnum, IfcForceMeasure, IfcFrequencyMeasure, IfcFurnishingElement, IfcFurnishingElementType, IfcFurniture, IfcFurnitureType, IfcFurnitureTypeEnum, IfcGeographicElement, IfcGeographicElementType, IfcGeographicElementTypeEnum, IfcGeometricCurveSet, IfcGeometricProjectionEnum, IfcGeometricRepresentationContext, IfcGeometricRepresentationItem, IfcGeometricRepresentationSubContext, IfcGeometricSet, IfcGeometricSetSelect, IfcGlobalOrLocalEnum, IfcGloballyUniqueId, IfcGrid, IfcGridAxis, IfcGridPlacement, IfcGridPlacementDirectionSelect, IfcGridTypeEnum, IfcGroup, IfcHalfSpaceSolid, IfcHatchLineDistanceSelect, IfcHeatExchanger, IfcHeatExchangerType, IfcHeatExchangerTypeEnum, IfcHeatFluxDensityMeasure, IfcHeatingValueMeasure, IfcHumidifier, IfcHumidifierType, IfcHumidifierTypeEnum, IfcIShapeProfileDef, IfcIdentifier, IfcIlluminanceMeasure, IfcImageTexture, IfcIndexedColourMap, IfcIndexedPolyCurve, IfcIndexedTextureMap, IfcIndexedTriangleTextureMap, IfcInductanceMeasure, IfcInteger, IfcIntegerCountRateMeasure, IfcInterceptor, IfcInterceptorType, IfcInterceptorTypeEnum, IfcInternalOrExternalEnum, IfcInventory, IfcInventoryTypeEnum, IfcIonConcentrationMeasure, IfcIrregularTimeSeries, IfcIrregularTimeSeriesValue, IfcIsothermalMoistureCapacityMeasure, IfcJunctionBox, IfcJunctionBoxType, IfcJunctionBoxTypeEnum, IfcKinematicViscosityMeasure, IfcKnotType, IfcLShapeProfileDef, IfcLabel, IfcLaborResource, IfcLaborResourceType, IfcLaborResourceTypeEnum, IfcLagTime, IfcLamp, IfcLampType, IfcLampTypeEnum, IfcLanguageId, IfcLayerSetDirectionEnum, IfcLayeredItem, IfcLengthMeasure, IfcLibraryInformation, IfcLibraryReference, IfcLibrarySelect, IfcLightDistributionCurveEnum, IfcLightDistributionData, IfcLightDistributionDataSourceSelect, IfcLightEmissionSourceEnum, IfcLightFixture, IfcLightFixtureType, IfcLightFixtureTypeEnum, IfcLightIntensityDistribution, IfcLightSource, IfcLightSourceAmbient, IfcLightSourceDirectional, IfcLightSourceGoniometric, IfcLightSourcePositional, IfcLightSourceSpot, IfcLine, IfcLineIndex, IfcLinearForceMeasure, IfcLinearMomentMeasure, IfcLinearStiffnessMeasure, IfcLinearVelocityMeasure, IfcLoadGroupTypeEnum, IfcLocalPlacement, IfcLogical, IfcLogicalOperatorEnum, IfcLoop, IfcLuminousFluxMeasure, IfcLuminousIntensityDistributionMeasure, IfcLuminousIntensityMeasure, IfcMagneticFluxDensityMeasure, IfcMagneticFluxMeasure, IfcManifoldSolidBrep, IfcMapConversion, IfcMappedItem, IfcMassDensityMeasure, IfcMassFlowRateMeasure, IfcMassMeasure, IfcMassPerLengthMeasure, IfcMaterial, IfcMaterialClassificationRelationship, IfcMaterialConstituent, IfcMaterialConstituentSet, IfcMaterialDefinition, IfcMaterialDefinitionRepresentation, IfcMaterialLayer, IfcMaterialLayerSet, IfcMaterialLayerSetUsage, IfcMaterialLayerWithOffsets, IfcMaterialList, IfcMaterialProfile, IfcMaterialProfileSet, IfcMaterialProfileSetUsage, IfcMaterialProfileSetUsageTapering, IfcMaterialProfileWithOffsets, IfcMaterialProperties, IfcMaterialRelationship, IfcMaterialSelect, IfcMaterialUsageDefinition, IfcMeasureValue, IfcMeasureWithUnit, IfcMechanicalFastener, IfcMechanicalFastenerType, IfcMechanicalFastenerTypeEnum, IfcMedicalDevice, IfcMedicalDeviceType, IfcMedicalDeviceTypeEnum, IfcMember, IfcMemberStandardCase, IfcMemberType, IfcMemberTypeEnum, IfcMetric, IfcMetricValueSelect, IfcMirroredProfileDef, IfcModulusOfElasticityMeasure, IfcModulusOfLinearSubgradeReactionMeasure, IfcModulusOfRotationalSubgradeReactionMeasure, IfcModulusOfRotationalSubgradeReactionSelect, IfcModulusOfSubgradeReactionMeasure, IfcModulusOfSubgradeReactionSelect, IfcModulusOfTranslationalSubgradeReactionSelect, IfcMoistureDiffusivityMeasure, IfcMolecularWeightMeasure, IfcMomentOfInertiaMeasure, IfcMonetaryMeasure, IfcMonetaryUnit, IfcMonthInYearNumber, IfcMotorConnection, IfcMotorConnectionType, IfcMotorConnectionTypeEnum, IfcNamedUnit, IfcNonNegativeLengthMeasure, IfcNormalisedRatioMeasure, IfcNullStyle, IfcNumericMeasure, IfcObject, IfcObjectDefinition, IfcObjectPlacement, IfcObjectReferenceSelect, IfcObjectTypeEnum, IfcObjective, IfcObjectiveEnum, IfcOccupant, IfcOccupantTypeEnum, IfcOffsetCurve2D, IfcOffsetCurve3D, IfcOpenShell, IfcOpeningElement, IfcOpeningElementTypeEnum, IfcOpeningStandardCase, IfcOrganization, IfcOrganizationRelationship, IfcOrientedEdge, IfcOuterBoundaryCurve, IfcOutlet, IfcOutletType, IfcOutletTypeEnum, IfcOwnerHistory, IfcPHMeasure, IfcParameterValue, IfcParameterizedProfileDef, IfcPath, IfcPcurve, IfcPerformanceHistory, IfcPerformanceHistoryTypeEnum, IfcPermeableCoveringOperationEnum, IfcPermeableCoveringProperties, IfcPermit, IfcPermitTypeEnum, IfcPerson, IfcPersonAndOrganization, IfcPhysicalComplexQuantity, IfcPhysicalOrVirtualEnum, IfcPhysicalQuantity, IfcPhysicalSimpleQuantity, IfcPile, IfcPileConstructionEnum, IfcPileType, IfcPileTypeEnum, IfcPipeFitting, IfcPipeFittingType, IfcPipeFittingTypeEnum, IfcPipeSegment, IfcPipeSegmentType, IfcPipeSegmentTypeEnum, IfcPixelTexture, IfcPlacement, IfcPlanarBox, IfcPlanarExtent, IfcPlanarForceMeasure, IfcPlane, IfcPlaneAngleMeasure, IfcPlate, IfcPlateStandardCase, IfcPlateType, IfcPlateTypeEnum, IfcPoint, IfcPointOnCurve, IfcPointOnSurface, IfcPointOrVertexPoint, IfcPolyLoop, IfcPolygonalBoundedHalfSpace, IfcPolyline, IfcPort, IfcPositiveInteger, IfcPositiveLengthMeasure, IfcPositivePlaneAngleMeasure, IfcPositiveRatioMeasure, IfcPostalAddress, IfcPowerMeasure, IfcPreDefinedColour, IfcPreDefinedCurveFont, IfcPreDefinedItem, IfcPreDefinedProperties, IfcPreDefinedPropertySet, IfcPreDefinedTextFont, IfcPresentableText, IfcPresentationItem, IfcPresentationLayerAssignment, IfcPresentationLayerWithStyle, IfcPresentationStyle, IfcPresentationStyleAssignment, IfcPresentationStyleSelect, IfcPressureMeasure, IfcProcedure, IfcProcedureType, IfcProcedureTypeEnum, IfcProcess, IfcProcessSelect, IfcProduct, IfcProductDefinitionShape, IfcProductRepresentation, IfcProductRepresentationSelect, IfcProductSelect, IfcProfileDef, IfcProfileProperties, IfcProfileTypeEnum, IfcProject, IfcProjectLibrary, IfcProjectOrder, IfcProjectOrderTypeEnum, IfcProjectedCRS, IfcProjectedOrTrueLengthEnum, IfcProjectionElement, IfcProjectionElementTypeEnum, IfcProperty, IfcPropertyAbstraction, IfcPropertyBoundedValue, IfcPropertyDefinition, IfcPropertyDependencyRelationship, IfcPropertyEnumeratedValue, IfcPropertyEnumeration, IfcPropertyListValue, IfcPropertyReferenceValue, IfcPropertySet, IfcPropertySetDefinition, IfcPropertySetDefinitionSelect, IfcPropertySetDefinitionSet, IfcPropertySetTemplate, IfcPropertySetTemplateTypeEnum, IfcPropertySingleValue, IfcPropertyTableValue, IfcPropertyTemplate, IfcPropertyTemplateDefinition, IfcProtectiveDevice, IfcProtectiveDeviceTrippingUnit, IfcProtectiveDeviceTrippingUnitType, IfcProtectiveDeviceTrippingUnitTypeEnum, IfcProtectiveDeviceType, IfcProtectiveDeviceTypeEnum, IfcProxy, IfcPump, IfcPumpType, IfcPumpTypeEnum, IfcQuantityArea, IfcQuantityCount, IfcQuantityLength, IfcQuantitySet, IfcQuantityTime, IfcQuantityVolume, IfcQuantityWeight, IfcRadioActivityMeasure, IfcRailing, IfcRailingType, IfcRailingTypeEnum, IfcRamp, IfcRampFlight, IfcRampFlightType, IfcRampFlightTypeEnum, IfcRampType, IfcRampTypeEnum, IfcRatioMeasure, IfcRationalBSplineCurveWithKnots, IfcRationalBSplineSurfaceWithKnots, IfcReal, IfcRectangleHollowProfileDef, IfcRectangleProfileDef, IfcRectangularPyramid, IfcRectangularTrimmedSurface, IfcRecurrencePattern, IfcRecurrenceTypeEnum, IfcReference, IfcReflectanceMethodEnum, IfcRegularTimeSeries, IfcReinforcementBarProperties, IfcReinforcementDefinitionProperties, IfcReinforcingBar, IfcReinforcingBarRoleEnum, IfcReinforcingBarSurfaceEnum, IfcReinforcingBarType, IfcReinforcingBarTypeEnum, IfcReinforcingElement, IfcReinforcingElementType, IfcReinforcingMesh, IfcReinforcingMeshType, IfcReinforcingMeshTypeEnum, IfcRelAggregates, IfcRelAssigns, IfcRelAssignsToActor, IfcRelAssignsToControl, IfcRelAssignsToGroup, IfcRelAssignsToGroupByFactor, IfcRelAssignsToProcess, IfcRelAssignsToProduct, IfcRelAssignsToResource, IfcRelAssociates, IfcRelAssociatesApproval, IfcRelAssociatesClassification, IfcRelAssociatesConstraint, IfcRelAssociatesDocument, IfcRelAssociatesLibrary, IfcRelAssociatesMaterial, IfcRelConnects, IfcRelConnectsElements, IfcRelConnectsPathElements, IfcRelConnectsPortToElement, IfcRelConnectsPorts, IfcRelConnectsStructuralActivity, IfcRelConnectsStructuralMember, IfcRelConnectsWithEccentricity, IfcRelConnectsWithRealizingElements, IfcRelContainedInSpatialStructure, IfcRelCoversBldgElements, IfcRelCoversSpaces, IfcRelDeclares, IfcRelDecomposes, IfcRelDefines, IfcRelDefinesByObject, IfcRelDefinesByProperties, IfcRelDefinesByTemplate, IfcRelDefinesByType, IfcRelFillsElement, IfcRelFlowControlElements, IfcRelInterferesElements, IfcRelNests, IfcRelProjectsElement, IfcRelReferencedInSpatialStructure, IfcRelSequence, IfcRelServicesBuildings, IfcRelSpaceBoundary, IfcRelSpaceBoundary1stLevel, IfcRelSpaceBoundary2ndLevel, IfcRelVoidsElement, IfcRelationship, IfcReparametrisedCompositeCurveSegment, IfcRepresentation, IfcRepresentationContext, IfcRepresentationItem, IfcRepresentationMap, IfcResource, IfcResourceApprovalRelationship, IfcResourceConstraintRelationship, IfcResourceLevelRelationship, IfcResourceObjectSelect, IfcResourceSelect, IfcResourceTime, IfcRevolvedAreaSolid, IfcRevolvedAreaSolidTapered, IfcRightCircularCone, IfcRightCircularCylinder, IfcRoleEnum, IfcRoof, IfcRoofType, IfcRoofTypeEnum, IfcRoot, IfcRotationalFrequencyMeasure, IfcRotationalMassMeasure, IfcRotationalStiffnessMeasure, IfcRotationalStiffnessSelect, IfcRoundedRectangleProfileDef, IfcSIPrefix, IfcSIUnit, IfcSIUnitName, IfcSanitaryTerminal, IfcSanitaryTerminalType, IfcSanitaryTerminalTypeEnum, IfcSchedulingTime, IfcSectionModulusMeasure, IfcSectionProperties, IfcSectionReinforcementProperties, IfcSectionTypeEnum, IfcSectionalAreaIntegralMeasure, IfcSectionedSpine, IfcSegmentIndexSelect, IfcSensor, IfcSensorType, IfcSensorTypeEnum, IfcSequenceEnum, IfcShadingDevice, IfcShadingDeviceType, IfcShadingDeviceTypeEnum, IfcShapeAspect, IfcShapeModel, IfcShapeRepresentation, IfcShearModulusMeasure, IfcShell, IfcShellBasedSurfaceModel, IfcSimpleProperty, IfcSimplePropertyTemplate, IfcSimplePropertyTemplateTypeEnum, IfcSimpleValue, IfcSite, IfcSizeSelect, IfcSlab, IfcSlabElementedCase, IfcSlabStandardCase, IfcSlabType, IfcSlabTypeEnum, IfcSlippageConnectionCondition, IfcSolarDevice, IfcSolarDeviceType, IfcSolarDeviceTypeEnum, IfcSolidAngleMeasure, IfcSolidModel, IfcSolidOrShell, IfcSoundPowerLevelMeasure, IfcSoundPowerMeasure, IfcSoundPressureLevelMeasure, IfcSoundPressureMeasure, IfcSpace, IfcSpaceBoundarySelect, IfcSpaceHeater, IfcSpaceHeaterType, IfcSpaceHeaterTypeEnum, IfcSpaceType, IfcSpaceTypeEnum, IfcSpatialElement, IfcSpatialElementType, IfcSpatialStructureElement, IfcSpatialStructureElementType, IfcSpatialZone, IfcSpatialZoneType, IfcSpatialZoneTypeEnum, IfcSpecificHeatCapacityMeasure, IfcSpecularExponent, IfcSpecularHighlightSelect, IfcSpecularRoughness, IfcSphere, IfcStackTerminal, IfcStackTerminalType, IfcStackTerminalTypeEnum, IfcStair, IfcStairFlight, IfcStairFlightType, IfcStairFlightTypeEnum, IfcStairType, IfcStairTypeEnum, IfcStateEnum, IfcStrippedOptional, IfcStructuralAction, IfcStructuralActivity, IfcStructuralActivityAssignmentSelect, IfcStructuralAnalysisModel, IfcStructuralConnection, IfcStructuralConnectionCondition, IfcStructuralCurveAction, IfcStructuralCurveActivityTypeEnum, IfcStructuralCurveConnection, IfcStructuralCurveMember, IfcStructuralCurveMemberTypeEnum, IfcStructuralCurveMemberVarying, IfcStructuralCurveReaction, IfcStructuralItem, IfcStructuralLinearAction, IfcStructuralLoad, IfcStructuralLoadCase, IfcStructuralLoadConfiguration, IfcStructuralLoadGroup, IfcStructuralLoadLinearForce, IfcStructuralLoadOrResult, IfcStructuralLoadPlanarForce, IfcStructuralLoadSingleDisplacement, IfcStructuralLoadSingleDisplacementDistortion, IfcStructuralLoadSingleForce, IfcStructuralLoadSingleForceWarping, IfcStructuralLoadStatic, IfcStructuralLoadTemperature, IfcStructuralMember, IfcStructuralPlanarAction, IfcStructuralPointAction, IfcStructuralPointConnection, IfcStructuralPointReaction, IfcStructuralReaction, IfcStructuralResultGroup, IfcStructuralSurfaceAction, IfcStructuralSurfaceActivityTypeEnum, IfcStructuralSurfaceConnection, IfcStructuralSurfaceMember, IfcStructuralSurfaceMemberTypeEnum, IfcStructuralSurfaceMemberVarying, IfcStructuralSurfaceReaction, IfcStyleAssignmentSelect, IfcStyleModel, IfcStyledItem, IfcStyledRepresentation, IfcSubContractResource, IfcSubContractResourceType, IfcSubContractResourceTypeEnum, IfcSubedge, IfcSurface, IfcSurfaceCurveSweptAreaSolid, IfcSurfaceFeature, IfcSurfaceFeatureTypeEnum, IfcSurfaceOfLinearExtrusion, IfcSurfaceOfRevolution, IfcSurfaceOrFaceSurface, IfcSurfaceReinforcementArea, IfcSurfaceSide, IfcSurfaceStyle, IfcSurfaceStyleElementSelect, IfcSurfaceStyleLighting, IfcSurfaceStyleRefraction, IfcSurfaceStyleRendering, IfcSurfaceStyleShading, IfcSurfaceStyleWithTextures, IfcSurfaceTexture, IfcSweptAreaSolid, IfcSweptDiskSolid, IfcSweptDiskSolidPolygonal, IfcSweptSurface, IfcSwitchingDevice, IfcSwitchingDeviceType, IfcSwitchingDeviceTypeEnum, IfcSystem, IfcSystemFurnitureElement, IfcSystemFurnitureElementType, IfcSystemFurnitureElementTypeEnum, IfcTShapeProfileDef, IfcTable, IfcTableColumn, IfcTableRow, IfcTank, IfcTankType, IfcTankTypeEnum, IfcTask, IfcTaskDurationEnum, IfcTaskTime, IfcTaskTimeRecurring, IfcTaskType, IfcTaskTypeEnum, IfcTelecomAddress, IfcTemperatureGradientMeasure, IfcTemperatureRateOfChangeMeasure, IfcTendon, IfcTendonAnchor, IfcTendonAnchorType, IfcTendonAnchorTypeEnum, IfcTendonType, IfcTendonTypeEnum, IfcTessellatedFaceSet, IfcTessellatedItem, IfcText, IfcTextAlignment, IfcTextDecoration, IfcTextFontName, IfcTextFontSelect, IfcTextLiteral, IfcTextLiteralWithExtent, IfcTextPath, IfcTextStyle, IfcTextStyleFontModel, IfcTextStyleForDefinedFont, IfcTextStyleTextModel, IfcTextTransformation, IfcTextureCoordinate, IfcTextureCoordinateGenerator, IfcTextureMap, IfcTextureVertex, IfcTextureVertexList, IfcThermalAdmittanceMeasure, IfcThermalConductivityMeasure, IfcThermalExpansionCoefficientMeasure, IfcThermalResistanceMeasure, IfcThermalTransmittanceMeasure, IfcThermodynamicTemperatureMeasure, IfcTime, IfcTimeMeasure, IfcTimeOrRatioSelect, IfcTimePeriod, IfcTimeSeries, IfcTimeSeriesDataTypeEnum, IfcTimeSeriesValue, IfcTimeStamp, IfcTopologicalRepresentationItem, IfcTopologyRepresentation, IfcTorqueMeasure, IfcTransformer, IfcTransformerType, IfcTransformerTypeEnum, IfcTransitionCode, IfcTranslationalStiffnessSelect, IfcTransportElement, IfcTransportElementType, IfcTransportElementTypeEnum, IfcTrapeziumProfileDef, IfcTriangulatedFaceSet, IfcTrimmedCurve, IfcTrimmingPreference, IfcTrimmingSelect, IfcTubeBundle, IfcTubeBundleType, IfcTubeBundleTypeEnum, IfcTypeObject, IfcTypeProcess, IfcTypeProduct, IfcTypeResource, IfcURIReference, IfcUShapeProfileDef, IfcUnit, IfcUnitAssignment, IfcUnitEnum, IfcUnitaryControlElement, IfcUnitaryControlElementType, IfcUnitaryControlElementTypeEnum, IfcUnitaryEquipment, IfcUnitaryEquipmentType, IfcUnitaryEquipmentTypeEnum, IfcValue, IfcValve, IfcValveType, IfcValveTypeEnum, IfcVaporPermeabilityMeasure, IfcVector, IfcVectorOrDirection, IfcVertex, IfcVertexLoop, IfcVertexPoint, IfcVibrationIsolator, IfcVibrationIsolatorType, IfcVibrationIsolatorTypeEnum, IfcVirtualElement, IfcVirtualGridIntersection, IfcVoidingFeature, IfcVoidingFeatureTypeEnum, IfcVolumeMeasure, IfcVolumetricFlowRateMeasure, IfcWall, IfcWallElementedCase, IfcWallStandardCase, IfcWallType, IfcWallTypeEnum, IfcWarpingConstantMeasure, IfcWarpingMomentMeasure, IfcWarpingStiffnessSelect, IfcWasteTerminal, IfcWasteTerminalType, IfcWasteTerminalTypeEnum, IfcWindow, IfcWindowLiningProperties, IfcWindowPanelOperationEnum, IfcWindowPanelPositionEnum, IfcWindowPanelProperties, IfcWindowStandardCase, IfcWindowStyle, IfcWindowStyleConstructionEnum, IfcWindowStyleOperationEnum, IfcWindowType, IfcWindowTypeEnum, IfcWindowTypePartitioningEnum, IfcWorkCalendar, IfcWorkCalendarTypeEnum, IfcWorkControl, IfcWorkPlan, IfcWorkPlanTypeEnum, IfcWorkSchedule, IfcWorkScheduleTypeEnum, IfcWorkTime, IfcZShapeProfileDef, IfcZone, UNDEFINED } Enum; - IfcParse_EXPORT boost::optional Parent(Enum v); - IfcParse_EXPORT Enum FromString(const std::string& s); - IfcParse_EXPORT std::string ToString(Enum v); - IfcParse_EXPORT bool IsSimple(Enum v); + IFC_PARSE_API boost::optional Parent(Enum v); + IFC_PARSE_API Enum FromString(const std::string& s); + IFC_PARSE_API std::string ToString(Enum v); + IFC_PARSE_API bool IsSimple(Enum v); } } diff --git a/src/ifcparse/IfcCharacterDecoder.h b/src/ifcparse/IfcCharacterDecoder.h index 69535663f3..39e851be0d 100644 --- a/src/ifcparse/IfcCharacterDecoder.h +++ b/src/ifcparse/IfcCharacterDecoder.h @@ -40,7 +40,7 @@ typedef unsigned int UChar32; namespace IfcParse { - class IfcParse_EXPORT IfcCharacterDecoder { + class IFC_PARSE_API IfcCharacterDecoder { private: IfcParse::IfcSpfStream* file; #ifdef HAVE_ICU @@ -75,7 +75,7 @@ namespace IfcParse { namespace IfcWrite { - class IfcParse_EXPORT IfcCharacterEncoder { + class IFC_PARSE_API IfcCharacterEncoder { private: std::string str; #ifdef HAVE_ICU diff --git a/src/ifcparse/IfcEntityDescriptor.h b/src/ifcparse/IfcEntityDescriptor.h index 09a6a2232f..ec3a0e29eb 100644 --- a/src/ifcparse/IfcEntityDescriptor.h +++ b/src/ifcparse/IfcEntityDescriptor.h @@ -39,7 +39,7 @@ namespace IfcUtil { - class IfcParse_EXPORT IfcEnumerationDescriptor { + class IFC_PARSE_API IfcEnumerationDescriptor { private: IfcSchema::Type::Enum type; std::vector values; @@ -62,7 +62,7 @@ namespace IfcUtil { } }; - class IfcParse_EXPORT IfcEntityDescriptor { + class IFC_PARSE_API IfcEntityDescriptor { public: class IfcArgumentDescriptor { diff --git a/src/ifcparse/IfcException.h b/src/ifcparse/IfcException.h index 29e5d97d4c..a4a6599952 100644 --- a/src/ifcparse/IfcException.h +++ b/src/ifcparse/IfcException.h @@ -20,7 +20,7 @@ #ifndef IFCEXCEPTION_H #define IFCEXCEPTION_H -#include "IfcParse_Export.h" +#include "ifc_parse_api.h" #include @@ -35,7 +35,7 @@ #endif namespace IfcParse { - class IfcParse_EXPORT IfcException : public std::exception { + class IFC_PARSE_API IfcException : public std::exception { private: std::string message; public: @@ -47,7 +47,7 @@ namespace IfcParse { } }; - class IfcParse_EXPORT IfcAttributeOutOfRangeException : public IfcException { + class IFC_PARSE_API IfcAttributeOutOfRangeException : public IfcException { public: IfcAttributeOutOfRangeException(const std::string& e) : IfcException(e) {} diff --git a/src/ifcparse/IfcFile.h b/src/ifcparse/IfcFile.h index 4a2f8530a7..984865538e 100644 --- a/src/ifcparse/IfcFile.h +++ b/src/ifcparse/IfcFile.h @@ -23,7 +23,7 @@ #include #include -#include "../ifcparse/IfcParse_Export.h" +#include "ifc_parse_api.h" #include "../ifcparse/IfcParse.h" #include "../ifcparse/IfcSpfHeader.h" @@ -32,7 +32,7 @@ namespace IfcParse { /// This class provides several static convenience functions and variables /// and provide access to the entities in an IFC file -class IfcParse_EXPORT IfcFile { +class IFC_PARSE_API IfcFile { public: typedef std::map entities_by_type_t; typedef std::map entity_by_id_t; diff --git a/src/ifcparse/IfcGlobalId.h b/src/ifcparse/IfcGlobalId.h index 7838d0021a..848169a954 100644 --- a/src/ifcparse/IfcGlobalId.h +++ b/src/ifcparse/IfcGlobalId.h @@ -23,12 +23,12 @@ #include #include -#include "../ifcparse/IfcParse_Export.h" +#include "ifc_parse_api.h" namespace IfcParse { /// A helper class for the creation of IFC GlobalIds. - class IfcParse_EXPORT IfcGlobalId { + class IFC_PARSE_API IfcGlobalId { private: std::string string_data, formatted_string; boost::uuids::uuid uuid_data; diff --git a/src/ifcparse/IfcHierarchyHelper.h b/src/ifcparse/IfcHierarchyHelper.h index f59d9a2c7a..2bd126b58d 100644 --- a/src/ifcparse/IfcHierarchyHelper.h +++ b/src/ifcparse/IfcHierarchyHelper.h @@ -30,7 +30,7 @@ #include -#include "../ifcparse/IfcParse_Export.h" +#include "ifc_parse_api.h" #ifdef USE_IFC4 #include "../ifcparse/Ifc4.h" @@ -42,7 +42,7 @@ #include "../ifcparse/IfcWrite.h" #include "../ifcparse/IfcGlobalId.h" -class IfcParse_EXPORT IfcHierarchyHelper : public IfcParse::IfcFile { +class IFC_PARSE_API IfcHierarchyHelper : public IfcParse::IfcFile { public: template T* addTriplet(double x, double y, double z) { diff --git a/src/ifcparse/IfcLateBoundEntity.h b/src/ifcparse/IfcLateBoundEntity.h index 5f6a4c1a54..ff707a5d53 100644 --- a/src/ifcparse/IfcLateBoundEntity.h +++ b/src/ifcparse/IfcLateBoundEntity.h @@ -22,7 +22,7 @@ #include -#include "../ifcparse/IfcParse_Export.h" +#include "ifc_parse_api.h" #include "../ifcparse/IfcUtil.h" #include "../ifcparse/IfcWrite.h" @@ -34,7 +34,7 @@ namespace IfcParse { // that in the IfcFile class the distinction what entity type to be created is // no longer necessary and weird diagonal casts when creating geometry from // IfcLateBoundEntities are eliminated. - class IfcParse_EXPORT IfcLateBoundEntity : public IfcUtil::IfcBaseEntity { + class IFC_PARSE_API IfcLateBoundEntity : public IfcUtil::IfcBaseEntity { private: IfcWrite::IfcWritableEntity* writable_entity(); void invalid_argument(unsigned int i, const std::string& t); diff --git a/src/ifcparse/IfcLogger.h b/src/ifcparse/IfcLogger.h index 2f952dc23b..bd1570b231 100644 --- a/src/ifcparse/IfcLogger.h +++ b/src/ifcparse/IfcLogger.h @@ -34,9 +34,9 @@ #include -#include "IfcParse_Export.h" +#include "ifc_parse_api.h" -class IfcParse_EXPORT Logger { +class IFC_PARSE_API Logger { public: typedef enum { LOG_NOTICE, LOG_WARNING, LOG_ERROR } Severity; private: diff --git a/src/ifcparse/IfcParse.h b/src/ifcparse/IfcParse.h index 0a6ecdff01..8a6009a788 100644 --- a/src/ifcparse/IfcParse.h +++ b/src/ifcparse/IfcParse.h @@ -40,7 +40,7 @@ #include #include -#include "../ifcparse/IfcParse_Export.h" +#include "ifc_parse_api.h" #include "../ifcparse/IfcCharacterDecoder.h" #include "../ifcparse/IfcUtil.h" @@ -91,7 +91,7 @@ namespace IfcParse { /// Provides functions to convert Tokens to binary data /// Tokens are merely offsets to where they can be read in the file - class IfcParse_EXPORT TokenFunc { + class IFC_PARSE_API TokenFunc { private: static bool startsWith(const Token& t, char c); public: @@ -144,7 +144,7 @@ namespace IfcParse { Token NoneTokenPtr(); /// A stream of tokens to be read from a IfcSpfStream. - class IfcParse_EXPORT IfcSpfLexer { + class IFC_PARSE_API IfcSpfLexer { private: IfcCharacterDecoder* decoder; //storage for temporary string without allocation @@ -164,7 +164,7 @@ namespace IfcParse { /// Argument of type list, e.g. /// #1=IfcDirection((1.,0.,0.)); /// ========== - class IfcParse_EXPORT ArgumentList: public Argument { + class IFC_PARSE_API ArgumentList: public Argument { private: std::vector list; void push(Argument* l); @@ -197,7 +197,7 @@ namespace IfcParse { /// Argument being null, e.g. '$' /// == === - class IfcParse_EXPORT NullArgument : public Argument { + class IFC_PARSE_API NullArgument : public Argument { public: NullArgument() {} IfcUtil::ArgumentType type() const { return IfcUtil::Argument_NULL; } @@ -210,7 +210,7 @@ namespace IfcParse { /// Argument of type scalar or string, e.g. /// #1=IfcVector(#2,1.0); /// == === - class IfcParse_EXPORT TokenArgument : public Argument { + class IFC_PARSE_API TokenArgument : public Argument { private: public: @@ -236,7 +236,7 @@ namespace IfcParse { /// Argument of an IFC simple type /// #1=IfcTrimmedCurve(#2,(IFCPARAMETERVALUE(0.)),(IFCPARAMETERVALUE(1.)),.T.,.PARAMETER.); /// ===================== ===================== - class IfcParse_EXPORT EntityArgument : public Argument { + class IFC_PARSE_API EntityArgument : public Argument { private: IfcUtil::IfcBaseClass* entity; public: @@ -257,7 +257,7 @@ namespace IfcParse { /// Entity defined in an IFC file, e.g. /// #1=IfcDirection((1.,0.,0.)); /// ============================ - class IfcParse_EXPORT Entity : public IfcAbstractEntity { + class IFC_PARSE_API Entity : public IfcAbstractEntity { private: mutable ArgumentList* args; mutable IfcSchema::Type::Enum _type; @@ -283,6 +283,6 @@ namespace IfcParse { } -IfcParse_EXPORT std::ostream& operator<< (std::ostream& os, const IfcParse::IfcFile& f); +IFC_PARSE_API std::ostream& operator<< (std::ostream& os, const IfcParse::IfcFile& f); #endif diff --git a/src/ifcparse/IfcSIPrefix.h b/src/ifcparse/IfcSIPrefix.h index 633c93a78b..61c6ee52ca 100644 --- a/src/ifcparse/IfcSIPrefix.h +++ b/src/ifcparse/IfcSIPrefix.h @@ -21,11 +21,11 @@ #define IFCSIPREFIX #include "../ifcparse/IfcParse.h" -#include "IfcParse_Export.h" +#include "ifc_parse_api.h" namespace IfcParse { - IfcParse_EXPORT double IfcSIPrefixToValue(IfcSchema::IfcSIPrefix::IfcSIPrefix); - IfcParse_EXPORT double get_SI_equivalent(IfcSchema::IfcNamedUnit*); + IFC_PARSE_API double IfcSIPrefixToValue(IfcSchema::IfcSIPrefix::IfcSIPrefix); + IFC_PARSE_API double get_SI_equivalent(IfcSchema::IfcNamedUnit*); } #endif diff --git a/src/ifcparse/IfcSpfHeader.h b/src/ifcparse/IfcSpfHeader.h index 59ddaf537a..2f3e96e9f4 100644 --- a/src/ifcparse/IfcSpfHeader.h +++ b/src/ifcparse/IfcSpfHeader.h @@ -20,14 +20,14 @@ #ifndef IFCSPFHEADER_H #define IFCSPFHEADER_H -#include "../ifcparse/IfcParse_Export.h" +#include "ifc_parse_api.h" #include "../ifcparse/IfcSpfStream.h" #include "../ifcparse/IfcWrite.h" namespace IfcParse { -class IfcParse_EXPORT HeaderEntity : public IfcAbstractEntity { +class IFC_PARSE_API HeaderEntity : public IfcAbstractEntity { private: ArgumentList* _list; const char * const _datatype; @@ -105,7 +105,7 @@ public: } }; -class IfcParse_EXPORT FileDescription : public HeaderEntity { +class IFC_PARSE_API FileDescription : public HeaderEntity { public: explicit FileDescription(IfcSpfLexer* = 0); @@ -116,7 +116,7 @@ public: void implementation_level(const std::string& value) { setArgument(1, value); } }; -class IfcParse_EXPORT FileName : public HeaderEntity { +class IFC_PARSE_API FileName : public HeaderEntity { public: explicit FileName(IfcSpfLexer* = 0); @@ -137,7 +137,7 @@ public: void authorization(const std::string& value) { setArgument(6, value); } }; -class IfcParse_EXPORT FileSchema : public HeaderEntity { +class IFC_PARSE_API FileSchema : public HeaderEntity { public: explicit FileSchema(IfcSpfLexer* = 0); @@ -146,7 +146,7 @@ public: void schema_identifiers(const std::vector& value) { setArgument(0, value); } }; -class IfcParse_EXPORT IfcSpfHeader { +class IFC_PARSE_API IfcSpfHeader { private: IfcSpfLexer* _lexer; FileDescription* _file_description; diff --git a/src/ifcparse/IfcSpfStream.h b/src/ifcparse/IfcSpfStream.h index 8add20b415..4e5f9dbf2f 100644 --- a/src/ifcparse/IfcSpfStream.h +++ b/src/ifcparse/IfcSpfStream.h @@ -30,7 +30,7 @@ #include #include -#include "../ifcparse/IfcParse_Export.h" +#include "ifc_parse_api.h" // As of IfcOpenShell version 0.3.0 the paging functionality, which // loads a file on disk into multiple chunks, has been disabled. @@ -48,7 +48,7 @@ namespace IfcParse { /// which only one is simultaneously kept in memory, for files /// that define their entities not in a sequential nature, this is /// detrimental for the performance of the parser. - class IfcParse_EXPORT IfcSpfStream { + class IFC_PARSE_API IfcSpfStream { private: FILE* stream; char* buffer; diff --git a/src/ifcparse/IfcUtil.h b/src/ifcparse/IfcUtil.h index d6deca6963..5ed34a5357 100644 --- a/src/ifcparse/IfcUtil.h +++ b/src/ifcparse/IfcUtil.h @@ -26,7 +26,7 @@ #include #include -#include "../ifcparse/IfcParse_Export.h" +#include "ifc_parse_api.h" #ifdef USE_IFC4 #include "../ifcparse/Ifc4enum.h" @@ -74,9 +74,9 @@ namespace IfcUtil { Argument_UNKNOWN }; - IfcParse_EXPORT const char* ArgumentTypeToString(ArgumentType argument_type); + IFC_PARSE_API const char* ArgumentTypeToString(ArgumentType argument_type); - class IfcParse_EXPORT IfcBaseClass { + class IFC_PARSE_API IfcBaseClass { public: IfcAbstractEntity* entity; virtual bool is(IfcSchema::Type::Enum v) const = 0; @@ -103,11 +103,11 @@ namespace IfcUtil { } }; - class IfcParse_EXPORT IfcBaseEntity : public IfcBaseClass { + class IFC_PARSE_API IfcBaseEntity : public IfcBaseClass { }; // TODO: Investigate whether these should be template classes instead - class IfcParse_EXPORT IfcBaseType : public IfcBaseEntity { + class IFC_PARSE_API IfcBaseType : public IfcBaseEntity { public: unsigned int getArgumentCount() const; Argument* getArgument(unsigned int i) const; @@ -115,17 +115,17 @@ namespace IfcUtil { IfcSchema::Type::Enum getArgumentEntity(unsigned int /*i*/) const { return IfcSchema::Type::UNDEFINED; } }; - IfcParse_EXPORT bool valid_binary_string(const std::string& s); + IFC_PARSE_API bool valid_binary_string(const std::string& s); /// Replaces spaces and potentially other problem causing characters with underscores. - IfcParse_EXPORT void sanitate_material_name(std::string &str); - IfcParse_EXPORT void escape_xml(std::string &str); - IfcParse_EXPORT void unescape_xml(std::string &str); + IFC_PARSE_API void sanitate_material_name(std::string &str); + IFC_PARSE_API void escape_xml(std::string &str); + IFC_PARSE_API void unescape_xml(std::string &str); } template class IfcTemplatedEntityList; -class IfcParse_EXPORT IfcEntityList { +class IFC_PARSE_API IfcEntityList { std::vector ls; public: typedef boost::shared_ptr ptr; @@ -183,7 +183,7 @@ public: template class IfcTemplatedEntityListList; -class IfcParse_EXPORT IfcEntityListList { +class IFC_PARSE_API IfcEntityListList { std::vector< std::vector > ls; public: typedef boost::shared_ptr< IfcEntityListList > ptr; @@ -281,24 +281,24 @@ namespace IfcParse { class IfcFile; } -class IfcParse_EXPORT Argument { +class IFC_PARSE_API Argument { public: - virtual operator int() const; - virtual operator bool() const; - virtual operator double() const; - virtual operator std::string() const; - virtual operator boost::dynamic_bitset<>() const; - virtual operator IfcUtil::IfcBaseClass*() const; + virtual operator int() const; + virtual operator bool() const; + virtual operator double() const; + virtual operator std::string() const; + virtual operator boost::dynamic_bitset<>() const; + virtual operator IfcUtil::IfcBaseClass*() const; - virtual operator std::vector() const; - virtual operator std::vector() const; - virtual operator std::vector() const; - virtual operator std::vector >() const; - virtual operator IfcEntityList::ptr() const; + virtual operator std::vector() const; + virtual operator std::vector() const; + virtual operator std::vector() const; + virtual operator std::vector >() const; + virtual operator IfcEntityList::ptr() const; - virtual operator std::vector< std::vector >() const; - virtual operator std::vector< std::vector >() const; - virtual operator IfcEntityListList::ptr() const; + virtual operator std::vector< std::vector >() const; + virtual operator std::vector< std::vector >() const; + virtual operator IfcEntityListList::ptr() const; virtual bool isNull() const = 0; virtual unsigned int size() const = 0; @@ -310,7 +310,7 @@ public: virtual ~Argument() {}; }; -class IfcParse_EXPORT IfcAbstractEntity { +class IFC_PARSE_API IfcAbstractEntity { public: IfcParse::IfcFile* file; virtual IfcEntityList::ptr getInverse(IfcSchema::Type::Enum type, int attribute_index) = 0; diff --git a/src/ifcparse/IfcWritableEntity.h b/src/ifcparse/IfcWritableEntity.h index 3a7467e245..c84b85110e 100644 --- a/src/ifcparse/IfcWritableEntity.h +++ b/src/ifcparse/IfcWritableEntity.h @@ -35,12 +35,12 @@ #include -#include "../ifcparse/IfcParse_Export.h" +#include "ifc_parse_api.h" #include "IfcUtil.h" namespace IfcWrite { - class IfcParse_EXPORT IfcWritableEntity : public IfcAbstractEntity { + class IFC_PARSE_API IfcWritableEntity : public IfcAbstractEntity { private: std::map writemask; std::map args; diff --git a/src/ifcparse/IfcWrite.h b/src/ifcparse/IfcWrite.h index 9ff47d2940..2007f4d6cc 100644 --- a/src/ifcparse/IfcWrite.h +++ b/src/ifcparse/IfcWrite.h @@ -32,7 +32,7 @@ #include #include -#include "../ifcparse/IfcParse_Export.h" +#include "ifc_parse_api.h" #include "../ifcparse/IfcUtil.h" #include "../ifcparse/IfcParse.h" @@ -44,7 +44,7 @@ namespace IfcWrite { /// IfcParse namespace is that this class has a Boost.Variant member /// for storing its value, whereas the IfcParse classes only contain /// lazy references to byte offsets in the IFC-SPF file. - class IfcParse_EXPORT IfcWriteArgument : public Argument { + class IFC_PARSE_API IfcWriteArgument : public Argument { public: class EnumerationReference { public: @@ -146,7 +146,7 @@ namespace IfcWrite { // Accumulates all schema instances created from constructors // This way they can be added in a single batch to the IfcFile - class IfcParse_EXPORT EntityBuffer { + class IFC_PARSE_API EntityBuffer { private: IfcEntityList::ptr buffer; static EntityBuffer* i; diff --git a/src/ifcparse/IfcParse_Export.h b/src/ifcparse/ifc_parse_api.h similarity index 85% rename from src/ifcparse/IfcParse_Export.h rename to src/ifcparse/ifc_parse_api.h index d853b9d301..38cef6d4e7 100644 --- a/src/ifcparse/IfcParse_Export.h +++ b/src/ifcparse/ifc_parse_api.h @@ -17,21 +17,21 @@ * * ********************************************************************************/ -#ifndef IfcParse_EXPORT_H -#define IfcParse_EXPORT_H +#ifndef IFC_PARSE_API_H +#define IFC_PARSE_API_H #ifdef BUILD_SHARED_LIBS #ifdef _WIN32 - #ifdef IfcParse_EXPORTS - #define IfcParse_EXPORT __declspec(dllexport) + #ifdef IFC_PARSE_EXPORTS + #define IFC_PARSE_API __declspec(dllexport) #else - #define IfcParse_EXPORT __declspec(dllimport) + #define IFC_PARSE_API __declspec(dllimport) #endif #else // simply assume *nix + GCC-like compiler - #define IfcParse_EXPORT __attribute__((visibility("default"))) + #define IFC_PARSE_API __attribute__((visibility("default"))) #endif #else - #define IfcParse_EXPORT + #define IFC_PARSE_API #endif #endif From 3cba5e6e94d622857395a75db9b1f7f9e2b7dd7d Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Wed, 20 Jul 2016 22:59:19 +0300 Subject: [PATCH 4/9] Rename BUILD_SHARED_LIBS project-wide precompiler definition to IFC_SHARED_BUILD --- cmake/CMakeLists.txt | 2 +- src/ifcgeom/ifc_geom_api.h | 2 +- src/ifcparse/ifc_parse_api.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index c37e483113..0d89016828 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -63,7 +63,7 @@ MESSAGE(STATUS "LIBDIR: ${LIBDIR}") set(IFCOPENSHELL_LIBARY_DIR "") # for *nix rpaths if (BUILD_SHARED_LIBS) - add_definitions(-DBUILD_SHARED_LIBS) + add_definitions(-DIFC_SHARED_BUILD) if (MSVC) message(WARNING "Building DLLs against the static VC run-time. This is not recommended if the DLLs are to be redistributed.") # C4521: 'identifier' : class 'type' needs to have dll-interface to be used by clients of class 'type2' diff --git a/src/ifcgeom/ifc_geom_api.h b/src/ifcgeom/ifc_geom_api.h index 6427aad798..af3171fcfe 100644 --- a/src/ifcgeom/ifc_geom_api.h +++ b/src/ifcgeom/ifc_geom_api.h @@ -20,7 +20,7 @@ #ifndef IFC_GEOM_API_H #define IFC_GEOM_API_H -#ifdef BUILD_SHARED_LIBS +#ifdef IFC_SHARED_BUILD #ifdef _WIN32 #ifdef IFC_GEOM_EXPORTS #define IFC_GEOM_API __declspec(dllexport) diff --git a/src/ifcparse/ifc_parse_api.h b/src/ifcparse/ifc_parse_api.h index 38cef6d4e7..b2dec0ba1d 100644 --- a/src/ifcparse/ifc_parse_api.h +++ b/src/ifcparse/ifc_parse_api.h @@ -20,7 +20,7 @@ #ifndef IFC_PARSE_API_H #define IFC_PARSE_API_H -#ifdef BUILD_SHARED_LIBS +#ifdef IFC_SHARED_BUILD #ifdef _WIN32 #ifdef IFC_PARSE_EXPORTS #define IFC_PARSE_API __declspec(dllexport) From 4ebee68736402277dbd546a6194d2ba98271483c Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Sat, 6 Aug 2016 13:44:35 +0300 Subject: [PATCH 5/9] Ifc2x3enum.h: fix header inclusion. --- src/ifcparse/Ifc2x3enum.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ifcparse/Ifc2x3enum.h b/src/ifcparse/Ifc2x3enum.h index ce31e65c48..4a9eca7d57 100644 --- a/src/ifcparse/Ifc2x3enum.h +++ b/src/ifcparse/Ifc2x3enum.h @@ -29,7 +29,7 @@ #ifndef IFC2X3ENUM_H #define IFC2X3ENUM_H -#include "../ifcparse/IFC_PARSE_API.h" +#include "../ifcparse/ifc_parse_api.h" #include From 97a62f45d01198e05f5fdac633e538c3236cd0f9 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Sat, 6 Aug 2016 18:19:27 +0300 Subject: [PATCH 6/9] Fix IfcGeomWrapper.i and IfcParseWrapper.i --- src/ifcwrap/IfcGeomWrapper.i | 1 + src/ifcwrap/IfcParseWrapper.i | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/ifcwrap/IfcGeomWrapper.i b/src/ifcwrap/IfcGeomWrapper.i index 1f66eab9fd..45698dd437 100644 --- a/src/ifcwrap/IfcGeomWrapper.i +++ b/src/ifcwrap/IfcGeomWrapper.i @@ -36,6 +36,7 @@ $result = PyBool_FromLong(static_cast(*$1)); } +%include "../ifcgeom/ifc_geom_api.h" %include "../ifcgeom/IfcGeomIteratorSettings.h" %include "../ifcgeom/IfcGeomElement.h" %include "../ifcgeom/IfcGeomMaterial.h" diff --git a/src/ifcwrap/IfcParseWrapper.i b/src/ifcwrap/IfcParseWrapper.i index 6d0f0d60d9..e9806914b6 100644 --- a/src/ifcwrap/IfcParseWrapper.i +++ b/src/ifcwrap/IfcParseWrapper.i @@ -199,7 +199,7 @@ namespace IfcUtil { %} }; -%include "../ifcparse/IfcParse_Export.h" +%include "../ifcparse/ifc_parse_api.h" %include "../ifcparse/IfcSpfHeader.h" %include "../ifcparse/IfcFile.h" %include "../ifcparse/IfcLateBoundEntity.h" From fb98275f50bb0bb66146184dbc253b1285a40573 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Sat, 6 Aug 2016 19:08:13 +0300 Subject: [PATCH 7/9] Typo fix. --- src/ifcgeom/IfcGeomIteratorSettings.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ifcgeom/IfcGeomIteratorSettings.h b/src/ifcgeom/IfcGeomIteratorSettings.h index ae751aecbc..6c3608dc6b 100644 --- a/src/ifcgeom/IfcGeomIteratorSettings.h +++ b/src/ifcgeom/IfcGeomIteratorSettings.h @@ -88,7 +88,7 @@ namespace IfcGeom /// Generates UVs by using simple box projection. Requires normals. /// Applicable only for DAE output currently. GENERATE_UVS = 1 << 16, - /// Specifies whether to slide representations according to associated IfcLayerSets. + /// Specifies whether to slice representations according to associated IfcLayerSets. APPLY_LAYERSETS = 1 << 17, /// Number of different setting flags. NUM_SETTINGS = 17 From 0f857283e85d8966e6fa5cade76baf15804ca0b5 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Mon, 8 Aug 2016 01:40:26 +0300 Subject: [PATCH 8/9] CMakeLists.txt: append possible extra libraries to OPENCASCADE_LIBRARIES before the variable is used for any target. --- cmake/CMakeLists.txt | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 0d89016828..201b3e8fd5 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -244,6 +244,17 @@ IF(COLLADA_SUPPORT) ENDIF() ENDIF() +# Make sure cross-referenced symbols between static OCC libraries get +# resolved. Also add thread and rt libraries. +get_filename_component(libTKernelExt ${libTKernel} EXT) +if("${libTKernelExt}" STREQUAL ".a") + find_package(Threads) + if (NOT APPLE) + set(LIB_RT "rt") + endif() + set(OPENCASCADE_LIBRARIES ${OPENCASCADE_LIBRARIES} ${OPENCASCADE_LIBRARIES} ${OPENCASCADE_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${LIB_RT} dl) +endif() + # TODO Are these needed on other platforms still or can these be removed for good? IF (NOT WIN32) INCLUDE(CheckIncludeFileCXX) @@ -474,17 +485,6 @@ if (IFCCONVERT_DOUBLE_PRECISION) set_target_properties(IfcConvert PROPERTIES COMPILE_FLAGS -DIFCCONVERT_DOUBLE_PRECISION) endif() -# Make sure cross-referenced symbols between static OCC libraries get -# resolved. Also add thread and rt libraries. -get_filename_component(libTKernelExt ${libTKernel} EXT) -if("${libTKernelExt}" STREQUAL ".a") - find_package(Threads) - if (NOT APPLE) - set(LIB_RT "rt") - endif() - set(OPENCASCADE_LIBRARIES ${OPENCASCADE_LIBRARIES} ${OPENCASCADE_LIBRARIES} ${OPENCASCADE_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${LIB_RT} dl) -endif() - TARGET_LINK_LIBRARIES(IfcConvert ${IFCOPENSHELL_LIBRARIES} ${OPENCASCADE_LIBRARIES} ${Boost_LIBRARIES} ${OPENCOLLADA_LIBRARIES} ${ICU_LIBRARIES}) if (NOT WIN32) SET_INSTALL_RPATHS(IfcConvert "${IFCOPENSHELL_LIBARY_DIR};${OCC_LIBRARY_DIR};${Boost_LIBRARY_DIRS};${OPENCOLLADA_LIBRARY_DIR};${ICU_LIBRARY_DIR}") From ecf67fe939be3d940512aa0d3f4a73f9da5f200a Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Mon, 8 Aug 2016 13:39:43 +0200 Subject: [PATCH 9/9] IFC_PARSE_API for IfcInvalidTokenException after merge --- src/ifcparse/IfcException.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ifcparse/IfcException.h b/src/ifcparse/IfcException.h index 71600ccc64..0d004f0690 100644 --- a/src/ifcparse/IfcException.h +++ b/src/ifcparse/IfcException.h @@ -54,7 +54,7 @@ namespace IfcParse { ~IfcAttributeOutOfRangeException () throw () {} }; - class IfcParse_EXPORT IfcInvalidTokenException : public IfcException { + class IFC_PARSE_API IfcInvalidTokenException : public IfcException { public: IfcInvalidTokenException( int token_start,