Thomas Krijnen
12a0571bf4
Prefix array with tr1 to accomodate older compilers
2013-05-13 07:12:42 +00:00
Thomas Krijnen
1d1fd49608
Added missing files
2013-05-13 06:40:30 +00:00
Thomas Krijnen
3f048efc79
Add an adapter for IfcGeom::SurfaceStyle so that IfcGeomObjects (and most notably the Python wrapper) need not to be aware of boost::optional
...
Expose shading and rendering styles to the Python wrapper as well
2013-05-11 15:26:35 +00:00
Thomas Krijnen
dccbccfa06
A limited attempt at some const correctness in the IfcGeomObjects interface
2013-05-11 10:03:20 +00:00
Thomas Krijnen
80bc1b5dab
[Work in progress] Start adding support for IfcSurfaceStyleShading and -Rendering
2013-05-05 08:49:25 +00:00
Thomas Krijnen
5d4ff0b54a
First push of a more all-round geometrical file conversion utility
2013-03-24 10:48:39 +00:00
Thomas Krijnen
4f26622e03
Do revert to unknown plane angle unit state after guessing when creating an IfcCompositeCurve
2012-12-31 15:48:04 +00:00
Thomas Krijnen
e56281a72e
- Correctly format REALs according to ISO 10303-21 instead of C++ std::stream double formatting
...
- Add the IfcHierarchyHelper to assist in the creation of IFC files
- Add the IfcOpenHouse example for writing topological geometry and tessellated Open Cascade shapes to IFC
2012-11-04 16:26:33 +00:00
Thomas Krijnen
e729795da2
Add an option to disable the subtraction of IfcOpeningElements from relating building elements to the IfcGeomObject settings
2012-10-19 08:20:43 +00:00
Thomas Krijnen
2f500aa098
IfcGeom: Use the 'wire creation tolerance' on point projection for trimmed curves
...
Fall back to trimming by parameter if possible and point projection fails
2012-09-16 12:49:55 +00:00
Jang Myeongho
da616ffd64
- Added getter to IfcFile object
...
- fixed wrong operator to judge plan angle unit is not exist.
- guessed plane angle unit stay in a file processing.
2012-08-21 07:06:59 +00:00
Thomas Krijnen
0ef6577407
Fix some errors and warnings
2012-08-13 09:17:08 +00:00
Thomas Krijnen
6f1e1c3bad
NOTE: From now on Boost is required in order to compile IfcOpenShell
...
====================================================================
- Use boost::optional for optional IFC arguments
- Use boost::uuid for the creation of GlobalIds
- New IfcGeomObjects setting to force alignment of TopoDS_Face normal to CCW orientation
- Removed static Ifc class, renamed to non-static IfcFile. IfcFile renamed to IfcSpfStream
- Introduced Logger class
- Introduced EntityBuffer class that keeps track of all writable entities created to add them all in once to the IfcFile class
2012-08-11 13:24:08 +00:00
Thomas Krijnen
975d0caa0f
If no plane angle unit is provided in the IFC file, create composite curves using both radians and degrees and see which 'looks best' (=successfully created and/or closed curve)
2012-07-29 15:16:30 +00:00
Thomas Krijnen
b4e42025fd
Convert all .cpp and .h files to UTF-8 with BOM
2012-07-19 18:26:47 +00:00
Jang Myeongho
217a7c6599
added break statements.
2012-06-27 15:59:09 +00:00
Jang Myeongho
00de61cbfc
fixed wrong assertion.
2012-06-27 11:16:37 +00:00
Thomas Krijnen
4975de6d74
Apply patch #3537663 by myueho: https://sourceforge.net/tracker/?func=detail&atid=2204968&aid=3537663&group_id=543113
2012-06-25 15:08:58 +00:00
Thomas Krijnen
2137ad2488
Apply patch #3534755 by myueho to use the standard M_PI instead of relying on PI defined in OCC, which recently got removed upstream.
2012-06-13 07:13:31 +00:00
Thomas Krijnen
b1adf124c6
Reorder the definition of IfcCircleHollowProfileDef and IfcCircleProfileDef in order for the hollow profiles to get interpreted correctly
2012-06-12 17:03:39 +00:00
Thomas Krijnen
700cc772fb
- Add an alternative method to process openings that is potentially faster. Use IfcGeomObjects::FASTER_BOOLEANS to enable.
...
- Begin working on verbosity levels
2012-06-07 14:38:21 +00:00
Thomas Krijnen
4866953119
Revert the IfcGeomObjects API to float precision instead of double. Internally double precision is still used.
2012-04-08 08:39:09 +00:00
Thomas Krijnen
b2b51e343f
Only add faces to shells that have a surface area larger than some threshold value
2012-04-07 14:34:44 +00:00
Thomas Krijnen
aa7a290ea1
Adjust some tolerances
2012-04-07 09:59:04 +00:00
Thomas Krijnen
a9bba39b9d
Applied Patch #3509752 by mv2ax
...
Made the sewing of TopoDS_Shells into a IfcGeomObjects::Setting
Limit the maximum number of faces a shell to be sewed
2012-03-23 17:38:44 +00:00
Thomas Krijnen
df2bcecf96
- Fix a regression due to too high tolerance in Polyline -Loop creation.
...
- Make tolerances slightly more explicit, ideally these should obviously be configurable at runtime.
2012-03-20 09:32:51 +00:00
Thomas Krijnen
cdbafac676
Fix a bug in the order of applying the scaling of a IfcCartesianTransformationOperator3DnonUniform
...
Fix a bug in the formatting of IFC simple types
Provide a way of iterating over all entities in the IFC file
Added IFC test file by Ryan Schultz
Added another IFC test file from AutoCAD Architecture 2010
2012-03-16 15:21:52 +00:00
Thomas Krijnen
3bb008c89f
- Switch to double precision
...
- Allow accessing entities by GlobalId
- Some more support for writing back IFC
- Prefix EXPRESS Enum values to avoid collisions
- Fix a bug in the SenseAgreement of Cartesian trimmed curves
- Use straight line segment in case point projection failed on trimmed curve
- Add epsilon to polylines and -loops point equality test
- Decompose a convex polygonal bounded halfspace into several unbounded halfspace and process only if they operate on a volume larger than some epsilon
- No longer fail connected facesets if a single face is invalid
- Updated IfcBlender for compatibility with Blender 2.62
- Added additional test files
2012-03-13 11:56:52 +00:00
Thomas Krijnen
2b27b86b34
- IfcGeom: Major performance improvement by only sewing faces of IfcConnectedFaceSets when needed for boolean operations
...
- Automatic tests for several well known IFC files on the Internet
- IfcBlender: Make visibility in render consistent with 3d view
- Some compatibility for Ifc2x files with IfcShapeRepresentations and RepresentationIdentifier 'IAI'
2012-03-01 21:17:06 +00:00
Thomas Krijnen
3336102b46
No longer warn about 'empty' halfspace solids
2012-01-31 17:30:46 +00:00
Thomas Krijnen
b719e12417
Provide access to IfcGeomObject geometry as Open Cascade BRep data
2012-01-31 08:56:10 +00:00
Thomas Krijnen
644ff7c033
- IfcJni: Fix access violation errors by creating a copy of the byte[]
...
- Add version identifier to bimserver_plugin and IfcJni
2012-01-24 13:38:37 +00:00
Thomas Krijnen
798397fa21
Do not trim conical curves if the difference between parametric values is 2pi
2012-01-02 14:56:11 +00:00
Thomas Krijnen
2d30fb4615
Catch errors in the processing of lists of shapes
2011-12-29 14:45:32 +00:00
Thomas Krijnen
508cb2679f
#3452372 Parent Elements to Openings to Walls
2011-12-27 09:26:16 +00:00
Thomas Krijnen
9d88d75b3b
Fixes #3452363 Fail to create meshes of parametric curves when no angular unit information is present in the IFC file
2011-12-07 14:07:22 +00:00
Thomas Krijnen
479fcd9013
Further address UCS2 - UCS4 incompatibility, move compatibility layer to ifcwrap/Interface.h
2011-12-06 10:38:14 +00:00
Thomas Krijnen
08d3eb649c
Allow for string data to be passed as vectors of int between IfcPython and IfcGeom, to circumvent SWG trying to access UCS-2 data as UCS-4 and vice versa
2011-12-05 14:23:22 +00:00
Thomas Krijnen
cab44ce754
IfcBlender: provide a temporary workaround for interfacing from a UCS2 Blender Python
...
A real solution could be to compile IfcGeom into a dynamic library and compile multiple versions of _IfcImport.so for different configurations which are selected based on sys.maxunicode
Another alternative would be not to rely on strings when exchanging textual data but vectors of int that contain the string character codes
2011-12-04 13:33:16 +00:00
Thomas Krijnen
f6da8285f7
Use std::string instead of char* for IfcGeomObjects::Init()
2011-12-01 11:19:27 +00:00
Thomas Krijnen
1a40a9f78c
Fix compilation of IfcMax by separating ShapeList definition into different header
2011-11-30 11:50:17 +00:00
Thomas Krijnen
4dc0bdbe02
Guess units if none are present and convert back if needed
2011-11-02 12:52:35 +00:00
Thomas Krijnen
d6d3333f9d
- Correct calculation of normals
...
- More verbosity for geometry conversion settings
2011-10-28 09:55:26 +00:00
Thomas Krijnen
5ef06dca64
- Calculate normals (incorrectly for curved surfaces)
2011-10-27 20:42:51 +00:00
Thomas Krijnen
ac155dc810
- Jave Native Interface library for use with the open source http://BIMserver.org
...
- IfcParse accepts char* as input
- IfcOpeningElements now return geometry
2011-10-27 16:13:29 +00:00
Thomas Krijnen
bede68bef7
Properly clear log_stream
2011-10-24 19:26:55 +00:00
Thomas Krijnen
bd79df2be7
- Make distinction between single shape and list of shapes
...
- Store shapes in std::vectors rather than TopoDS_Compounds
- Apply transformation only on triangulated meshes or when processing openings
- Store transformations in a gp_GTrsf to allow arbitrary transformations
- Support IfcCartesianTransformationOperator3DnonUniform
- TODO: Create proper class for ShapeList
- TODO: Carefully check for null pointers returned from IfcGeom::convert_shape()
2011-10-23 17:11:06 +00:00
Thomas Krijnen
59d768bcb0
No longer skips IfcShapeRepresentations if they're linked to an IfcProduct via an IfcProductRepresentation rather than an IfcProductDefinitionShape
2011-10-19 12:52:18 +00:00
Thomas Krijnen
61c07dbe37
- Implement correct use of IfcCompositeCurveSegment::SenseAgreement and IfcTrimmedCurve::SameSense
...
- Reintroduce smaller tolerance value for IfcCompositeCurves
2011-10-13 13:37:38 +00:00
Thomas Krijnen
6dbf618360
- Throw and catch IfcExceptions while parsing
...
- Fix issues with left-handed IfcCartesianTransformationOperator3D [fixes #3405491 Issues with MappingTarget of IfcMappedItem]
2011-10-13 11:25:59 +00:00