Commit Graph

165 Commits

Author SHA1 Message Date
Thomas Krijnen 37fe54d247 erase enitty mapping upon deletion 2021-01-21 13:24:18 +01:00
Thomas Krijnen ab8aa95479 #1224 update inverse cache upon deletion 2021-01-12 21:49:17 +01:00
Thomas Krijnen 3d0c9378c1 Quickfix #1246 2021-01-09 11:49:30 +01:00
Håkon Åmdal a869e88de0 fix: use correct initializer function when compiling with USE_MMAP 2020-12-15 13:25:48 +01:00
Thomas Krijnen b08346cc64 #1054 initialize memory in case of too few attribute values 2020-10-30 09:59:01 +01:00
fluider e3831be16e Warning iterator invalidation in removeEntity 2020-09-30 10:22:12 +02:00
Thomas Krijnen 803cc66abb #873 2020-07-11 11:55:00 +02:00
Thomas Krijnen c8cca08dfa TODO note 2020-06-07 16:44:42 +02:00
Thomas Krijnen ed013db011 throw exception on invalid nested aggregates 2019-11-01 16:11:46 +01:00
Thomas Krijnen 3ebca0516e Implement multi_threaded implementation in Iterator 2019-07-03 12:10:27 +02:00
Thomas Krijnen ac4be43170 Merge branch 'master' into v0.6.0
# Conflicts:
#	src/ifcconvert/IfcConvert.cpp
#	src/ifcgeom/IfcGeomRenderStyles.cpp
#	src/ifcgeom/IfcGeomWires.cpp
#	src/ifcparse/IfcLogger.cpp
#	src/ifcparse/IfcLogger.h
#	src/ifcparse/IfcParse.cpp
#	src/ifcparse/IfcUtil.cpp
#	src/serializers/ColladaSerializer.cpp
#	src/serializers/schema_dependent/XmlSerializer.cpp
2019-03-08 11:40:16 +01:00
Thomas Krijnen a4c2aa8f42 IfcConvert Windows unicode support (#258) 2019-02-08 15:18:55 +01:00
Thomas Krijnen 4df526f023 Merge branch 'master' into v0.6.0 2019-02-06 15:39:43 +01:00
Thomas Krijnen 6bac067488 Keep behaviour of returned null pointers for now 2019-02-06 13:33:38 +01:00
Stinkfist0 000d11daab IfcFile: possibility to mark an entity as modified so that potential cache is invalidated. 2019-02-06 13:30:33 +01:00
Stinkfist0 9211f80625 IfcFile::entitiesByReference: cache loaded references. Profiling shows around 3x speed-up (avg. of first 5000 calls to this function). 2019-02-06 13:30:33 +01:00
Stinkfist0 38f7ccdc20 Optimize IfcFile::entitiesByReference() by reserving capacity for IfcEntityList in advance.
Around 18.4 % speed-up (avg. of first 2000 calls) when converting a somewhat large (176 MB) file to XML.
2019-02-06 13:30:33 +01:00
Thomas Krijnen ba274bb164 Merge branch 'master' into v0.6.0 2018-11-13 14:46:41 +01:00
Thomas Krijnen 50e5d5f4d5 Sort instances before emitting to file 2018-11-13 14:46:15 +01:00
Thomas Krijnen e7daf871b8 Disallow adding instances from different schema 2018-11-04 15:16:08 +01:00
Thomas Krijnen ad41f04f11 Merge branch 'master' into v0.6.0
# Conflicts:
#	src/ifcconvert/IfcConvert.cpp
#	src/ifcgeom/IfcGeomRenderStyles.cpp
#	src/ifcparse/IfcParse.cpp
2018-10-30 14:32:28 +01:00
Stinkfist0 c420cc1abb IfcFile::Init: return false if unexpected schema encountered. 2018-10-15 14:02:17 +02:00
Thomas Krijnen 4d33ed5cb8 Merge branch 'master' into v0.6.0
# Conflicts:
#	src/ifcconvert/IfcConvert.cpp
#	src/ifcgeom/IfcGeomShapes.cpp
#	src/serializers/ColladaSerializer.cpp
#	src/serializers/schema_dependent/XmlSerializer.cpp
2018-09-04 13:23:11 +02:00
Thomas Krijnen 3e80d3646c Work on ifcxml parsere 2018-09-02 11:59:54 +02:00
Thomas Krijnen 175387bd88 Fix IfcOpenHouse 2018-08-13 11:43:28 +02:00
Thomas Krijnen 54d9edfee5 Fix build on gcc 2018-07-12 12:33:35 +02:00
Thomas Krijnen 1c2587ba19 Fix for inverse update on delete 2018-07-12 11:37:23 +02:00
Thomas Krijnen d105292817 Merge branch 'master' into v0.6.0
# Conflicts:
#	src/ifcconvert/IfcConvert.cpp
#	src/ifcgeom/IfcGeomFilter.h
#	src/ifcgeom/IfcGeomIteratorImplementation.h
#	src/ifcgeom/IfcGeomWires.cpp
#	src/ifcparse/IfcFile.h
#	src/ifcparse/IfcLogger.cpp
#	src/ifcparse/IfcLogger.h
#	src/ifcparse/IfcParse.cpp
#	src/serializers/SvgSerializer.cpp
#	src/serializers/schema_dependent/XmlSerializer.cpp
2018-07-07 17:15:54 +02:00
Thomas Krijnen 161f24d804 Copy operands prior to boolean operation 2018-05-05 16:09:12 +02:00
Thomas Krijnen 6ee283dbae Don't fail on parse errors while resolving inverse attributes 2018-05-04 10:25:57 +02:00
Thomas Krijnen c748c8dcea Better instance not found error messages 2018-04-23 10:51:59 +02:00
Thomas Krijnen dbf9f213fd Dont fail on adding length measure instances to empty files 2018-04-04 14:40:10 +02:00
Thomas Krijnen 77e0d9cca7 Freeing of lazily loaded inst attrs 2018-03-21 17:29:37 +01:00
Thomas Krijnen 0cbe984c71 Default to 2x3 for older schemas 2018-03-21 17:18:38 +01:00
Thomas Krijnen af93f2a64d Use naked pointer for attribute list and derive size from schema type to reduce mem usage 2018-01-29 12:11:50 +01:00
Thomas Krijnen e2f79ec1ba Work on python wrapper 2017-12-31 12:20:13 +01:00
Thomas Krijnen 7b3d334472 Warnings and errors 2017-12-29 12:09:07 +01:00
Thomas Krijnen 4d325e026e Fix compilation and execution of IfcConvert 2017-12-21 14:14:04 +01:00
Thomas Krijnen a792a7e2c7 Two simultaneous IfcGeom implementations 2017-12-18 15:25:09 +01:00
Thomas Krijnen 5eba7af791 Use struct instead of namespace to represent schema 2017-12-13 18:05:10 +01:00
Thomas Krijnen 761e9d7248 Continuing. 2017-12-13 13:58:58 +01:00
Thomas Krijnen 85515e904e Begin phasing out type enumeration in favour of declaration pointers 2017-12-13 13:16:49 +01:00
Thomas Krijnen 33fc2080df Runtime schema by name 2017-12-12 11:00:42 +01:00
Thomas Krijnen 33e1fa6a14 Update python wrapper 2017-12-11 17:20:22 +01:00
Thomas Krijnen e7ccf7269a Remove limited latebound schema representation in favour of full runtime schema representation 2017-12-11 15:46:57 +01:00
Thomas Krijnen 0468f12051 Address conflicts in ifcparse 2017-12-11 14:47:30 +01:00
Thomas Krijnen 3763ae18b2 Rough merge of schema runtime representation 2017-12-11 13:43:06 +01:00
Thomas Krijnen 095801faa1 Fix warning 2017-10-23 13:47:37 +02:00
Thomas Krijnen 07954122fb Fix #275 2017-10-23 13:32:57 +02:00
elmir f6645b19ef don't assign ID to Simple types
When adding entities, don't assign ID to Simple types.
Otherwise that type will be serialized incorrectly.

This fixes the issue with IFCPLANEANGLEMEASURE being serilzed
incorrectly when used as attribute to IFCMEASUREWITHUNIT.

With ID assigned, it will look like this:

  #10=IFCMEASUREWITHUNIT(#9=IFCPLANEANGLEMEASURE(0.017453293),#8);

The correct way to serialze is:

  #10=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453293),#8);
2017-09-09 14:00:57 +02:00