Skip to content

Commit 6317223

Browse files
committed
https://raw.githubusercontent.com/buildingSMART/IFC4.3-html/sep-13-release/IFC/RELEASE/IFC4x3/HTML/IFC4X3_TC1.exp
1 parent 4b20a40 commit 6317223

12 files changed

Lines changed: 94448 additions & 4 deletions

cmake/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -620,7 +620,7 @@ function(files_for_ifc_version IFC_VERSION RESULT_NAME)
620620
endfunction()
621621

622622
if(NOT SCHEMA_VERSIONS)
623-
set(SCHEMA_VERSIONS "2x3" "4" "4x1" "4x2" "4x3_rc1" "4x3_rc2" "4x3_rc3" "4x3_rc4" "4x3" "4x3_add1")
623+
set(SCHEMA_VERSIONS "2x3" "4" "4x1" "4x2" "4x3_rc1" "4x3_rc2" "4x3_rc3" "4x3_rc4" "4x3" "4x3_tc1" "4x3_add1")
624624
endif()
625625

626626
foreach(s ${SCHEMA_VERSIONS})

src/ifcgeom_schema_agnostic/Kernel.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,11 @@ namespace {
176176
CREATE_GET_DECOMPOSING_ENTITY(Ifc4x3);
177177
#endif
178178

179+
#ifdef HAS_SCHEMA_4x3_tc1
180+
GET_RELATINGOBJECT_IFC4_VARIANT(Ifc4x3_tc1);
181+
CREATE_GET_DECOMPOSING_ENTITY(Ifc4x3_tc1);
182+
#endif
183+
179184
#ifdef HAS_SCHEMA_4x3_add1
180185
GET_RELATINGOBJECT_IFC4_VARIANT(Ifc4x3_add1);
181186
CREATE_GET_DECOMPOSING_ENTITY(Ifc4x3_add1);

src/ifcparse/Ifc4x3_tc1-definitions.h

Lines changed: 4028 additions & 0 deletions
Large diffs are not rendered by default.

src/ifcparse/Ifc4x3_tc1-schema.cpp

Lines changed: 17021 additions & 0 deletions
Large diffs are not rendered by default.

src/ifcparse/Ifc4x3_tc1.cpp

Lines changed: 23417 additions & 0 deletions
Large diffs are not rendered by default.

src/ifcparse/Ifc4x3_tc1.h

Lines changed: 49869 additions & 0 deletions
Large diffs are not rendered by default.

src/ifcparse/IfcHierarchyHelper.cpp

Lines changed: 42 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -568,6 +568,14 @@ Ifc4x3::IfcStyledItem* create_styled_item(Ifc4x3::IfcRepresentationItem* item, I
568568
}
569569
#endif
570570

571+
#ifdef HAS_SCHEMA_4x3_tc1
572+
Ifc4x3_tc1::IfcStyledItem* create_styled_item(Ifc4x3_tc1::IfcRepresentationItem* item, Ifc4x3_tc1::IfcPresentationStyle* style) {
573+
boost::shared_ptr<aggregate_of<Ifc4x3_tc1::IfcPresentationStyle>> styles(new aggregate_of<Ifc4x3_tc1::IfcPresentationStyle>());
574+
styles->push(style);
575+
return new Ifc4x3_tc1::IfcStyledItem(item, styles, boost::none);
576+
}
577+
#endif
578+
571579
#ifdef HAS_SCHEMA_4x3_add1
572580
Ifc4x3_add1::IfcStyledItem* create_styled_item(Ifc4x3_add1::IfcRepresentationItem* item, Ifc4x3_add1::IfcPresentationStyle* style) {
573581
boost::shared_ptr<aggregate_of<Ifc4x3_add1::IfcPresentationStyle>> styles(new aggregate_of<Ifc4x3_add1::IfcPresentationStyle>());
@@ -843,6 +851,33 @@ void setSurfaceColour(IfcHierarchyHelper<Ifc4x3>& file, Ifc4x3::IfcRepresentatio
843851
}
844852
#endif
845853

854+
#ifdef HAS_SCHEMA_4x3_tc1
855+
Ifc4x3_tc1::IfcPresentationStyle* addStyleAssignment(IfcHierarchyHelper<Ifc4x3_tc1>& file, double r, double g, double b, double a)
856+
{
857+
return addStyleAssignment_4x3(file, r, g, b, a);
858+
}
859+
860+
Ifc4x3_tc1::IfcPresentationStyle* setSurfaceColour(IfcHierarchyHelper<Ifc4x3_tc1>& file, Ifc4x3_tc1::IfcProductRepresentation* shape, double r, double g, double b, double a)
861+
{
862+
return setSurfaceColour_4x3(file, shape, r, g, b, a);
863+
}
864+
865+
Ifc4x3_tc1::IfcPresentationStyle* setSurfaceColour(IfcHierarchyHelper<Ifc4x3_tc1>& file, Ifc4x3_tc1::IfcRepresentation* shape, double r, double g, double b, double a)
866+
{
867+
return setSurfaceColour_4x3(file, shape, r, g, b, a);
868+
}
869+
870+
void setSurfaceColour(IfcHierarchyHelper<Ifc4x3_tc1>& file, Ifc4x3_tc1::IfcProductRepresentation* shape, Ifc4x3_tc1::IfcPresentationStyle* style)
871+
{
872+
setSurfaceColour_4x3(file, shape, style);
873+
}
874+
875+
void setSurfaceColour(IfcHierarchyHelper<Ifc4x3_tc1>& file, Ifc4x3_tc1::IfcRepresentation* shape, Ifc4x3_tc1::IfcPresentationStyle* style)
876+
{
877+
setSurfaceColour_4x3(file, shape, style);
878+
}
879+
#endif
880+
846881
#ifdef HAS_SCHEMA_4x3_add1
847882
Ifc4x3_add1::IfcPresentationStyle* addStyleAssignment(IfcHierarchyHelper<Ifc4x3_add1>& file, double r, double g, double b, double a)
848883
{
@@ -994,4 +1029,10 @@ template IFC_PARSE_API class IfcHierarchyHelper<Ifc4x3_rc4>;
9941029
#endif
9951030
#ifdef HAS_SCHEMA_4x3
9961031
template IFC_PARSE_API class IfcHierarchyHelper<Ifc4x3>;
997-
#endif
1032+
#endif
1033+
#ifdef HAS_SCHEMA_4x3_tc1
1034+
template IFC_PARSE_API class IfcHierarchyHelper<Ifc4x3_tc1>;
1035+
#endif
1036+
#ifdef HAS_SCHEMA_4x3_add1
1037+
template IFC_PARSE_API class IfcHierarchyHelper<Ifc4x3_add1>;
1038+
#endif

src/ifcparse/IfcHierarchyHelper.h

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,9 @@
5959
#ifdef HAS_SCHEMA_4x3
6060
#include "../ifcparse/Ifc4x3.h"
6161
#endif
62+
#ifdef HAS_SCHEMA_4x3_tc1
63+
#include "../ifcparse/Ifc4x3_tc1.h"
64+
#endif
6265
#ifdef HAS_SCHEMA_4x3_add1
6366
#include "../ifcparse/Ifc4x3_add1.h"
6467
#endif
@@ -266,6 +269,28 @@ namespace {
266269
}
267270
#endif
268271

272+
#ifdef HAS_SCHEMA_4x3_tc1
273+
Ifc4x3_tc1::IfcObjectDefinition* get_parent_of_relation(Ifc4x3_tc1::IfcRelContainedInSpatialStructure* t) {
274+
return t->RelatingStructure();
275+
}
276+
277+
aggregate_of_instance::ptr get_children_of_relation(Ifc4x3_tc1::IfcRelContainedInSpatialStructure* t) {
278+
return t->RelatedElements()->generalize();
279+
}
280+
281+
aggregate_of_instance::ptr get_children_of_relation(Ifc4x3_tc1::IfcRelAggregates* t) {
282+
return t->RelatedObjects()->generalize();
283+
}
284+
285+
void set_children_of_relation(Ifc4x3_tc1::IfcRelContainedInSpatialStructure* t, aggregate_of_instance::ptr& cs) {
286+
t->setRelatedElements(cs->as<Ifc4x3_tc1::IfcProduct>());
287+
}
288+
289+
void set_children_of_relation(Ifc4x3_tc1::IfcRelAggregates* t, aggregate_of_instance::ptr& cs) {
290+
t->setRelatedObjects(cs->as<Ifc4x3_tc1::IfcObjectDefinition>());
291+
}
292+
#endif
293+
269294
#ifdef HAS_SCHEMA_4x3_add1
270295
Ifc4x3_add1::IfcObjectDefinition* get_parent_of_relation(Ifc4x3_add1::IfcRelContainedInSpatialStructure* t) {
271296
return t->RelatingStructure();
@@ -523,6 +548,14 @@ IFC_PARSE_API void setSurfaceColour(IfcHierarchyHelper<Ifc4x3>& file, Ifc4x3::If
523548
IFC_PARSE_API void setSurfaceColour(IfcHierarchyHelper<Ifc4x3>& file, Ifc4x3::IfcRepresentation* shape, Ifc4x3::IfcPresentationStyle* style);
524549
#endif
525550

551+
#ifdef HAS_SCHEMA_4x3_tc1
552+
IFC_PARSE_API Ifc4x3_tc1::IfcPresentationStyle* addStyleAssignment(IfcHierarchyHelper<Ifc4x3_tc1>& file, double r, double g, double b, double a = 1.0);
553+
IFC_PARSE_API Ifc4x3_tc1::IfcPresentationStyle* setSurfaceColour(IfcHierarchyHelper<Ifc4x3_tc1>& file, Ifc4x3_tc1::IfcProductRepresentation* shape, double r, double g, double b, double a = 1.0);
554+
IFC_PARSE_API Ifc4x3_tc1::IfcPresentationStyle* setSurfaceColour(IfcHierarchyHelper<Ifc4x3_tc1>& file, Ifc4x3_tc1::IfcRepresentation* shape, double r, double g, double b, double a = 1.0);
555+
IFC_PARSE_API void setSurfaceColour(IfcHierarchyHelper<Ifc4x3_tc1>& file, Ifc4x3_tc1::IfcProductRepresentation* shape, Ifc4x3_tc1::IfcPresentationStyle* style);
556+
IFC_PARSE_API void setSurfaceColour(IfcHierarchyHelper<Ifc4x3_tc1>& file, Ifc4x3_tc1::IfcRepresentation* shape, Ifc4x3_tc1::IfcPresentationStyle* style);
557+
#endif
558+
526559
#ifdef HAS_SCHEMA_4x3_add1
527560
IFC_PARSE_API Ifc4x3_add1::IfcPresentationStyle* addStyleAssignment(IfcHierarchyHelper<Ifc4x3_add1>& file, double r, double g, double b, double a = 1.0);
528561
IFC_PARSE_API Ifc4x3_add1::IfcPresentationStyle* setSurfaceColour(IfcHierarchyHelper<Ifc4x3_add1>& file, Ifc4x3_add1::IfcProductRepresentation* shape, double r, double g, double b, double a = 1.0);
@@ -531,7 +564,6 @@ IFC_PARSE_API void setSurfaceColour(IfcHierarchyHelper<Ifc4x3_add1>& file, Ifc4x
531564
IFC_PARSE_API void setSurfaceColour(IfcHierarchyHelper<Ifc4x3_add1>& file, Ifc4x3_add1::IfcRepresentation* shape, Ifc4x3_add1::IfcPresentationStyle* style);
532565
#endif
533566

534-
535567
/*
536568
template <>
537569
inline void IfcHierarchyHelper::addRelatedObject <typename Schema::IfcRelContainedInSpatialStructure> (typename Schema::IfcObjectDefinition* relating_structure,

src/ifcparse/IfcSIPrefix.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,9 @@
4646
#ifdef HAS_SCHEMA_4x3
4747
#include "../ifcparse/Ifc4x3.h"
4848
#endif
49+
#ifdef HAS_SCHEMA_4x3_tc1
50+
#include "../ifcparse/Ifc4x3_tc1.h"
51+
#endif
4952
#ifdef HAS_SCHEMA_4x3_add1
5053
#include "../ifcparse/Ifc4x3_add1.h"
5154
#endif
@@ -160,6 +163,9 @@ template double IFC_PARSE_API IfcParse::get_SI_equivalent<Ifc4x3_rc4>(typename I
160163
#ifdef HAS_SCHEMA_4x3
161164
template double IFC_PARSE_API IfcParse::get_SI_equivalent<Ifc4x3>(typename Ifc4x3::IfcNamedUnit* named_unit);
162165
#endif
166+
#ifdef HAS_SCHEMA_4x3_tc1
167+
template double IFC_PARSE_API IfcParse::get_SI_equivalent<Ifc4x3_tc1>(typename Ifc4x3_tc1::IfcNamedUnit* named_unit);
168+
#endif
163169
#ifdef HAS_SCHEMA_4x3_add1
164170
template double IFC_PARSE_API IfcParse::get_SI_equivalent<Ifc4x3_add1>(typename Ifc4x3_add1::IfcNamedUnit* named_unit);
165171
#endif

src/ifcparse/IfcSchema.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,9 @@ void IfcParse::register_schema(schema_definition* s) {
118118
#ifdef HAS_SCHEMA_4x3
119119
#include "../ifcparse/Ifc4x3.h"
120120
#endif
121+
#ifdef HAS_SCHEMA_4x3_tc1
122+
#include "../ifcparse/Ifc4x3_tc1.h"
123+
#endif
121124
#ifdef HAS_SCHEMA_4x3_add1
122125
#include "../ifcparse/Ifc4x3_add1.h"
123126
#endif
@@ -151,6 +154,9 @@ const IfcParse::schema_definition* IfcParse::schema_by_name(const std::string& n
151154
#ifdef HAS_SCHEMA_4x3
152155
Ifc4x3::get_schema();
153156
#endif
157+
#ifdef HAS_SCHEMA_4x3_tc1
158+
Ifc4x3_tc1::get_schema();
159+
#endif
154160
#ifdef HAS_SCHEMA_4x3_add1
155161
Ifc4x3_add1::get_schema();
156162
#endif
@@ -205,6 +211,12 @@ void IfcParse::clear_schemas() {
205211
#ifdef HAS_SCHEMA_4x3
206212
Ifc4x3::clear_schema();
207213
#endif
214+
#ifdef HAS_SCHEMA_4x3_tc1
215+
Ifc4x3_tc1::clear_schema();
216+
#endif
217+
#ifdef HAS_SCHEMA_4x3_add1
218+
Ifc4x3_add1::clear_schema();
219+
#endif
208220

209221
// clear any remaining registered schemas
210222
// we pop schemas until map is empty, because map iteration is invalidated after each erasure

0 commit comments

Comments
 (0)