Thomas Krijnen
4f8b430040
Improvements to faceset_helper in case of nearby verts
2018-11-30 11:08:19 +01:00
Thomas Krijnen
3ff619c7ed
Quantities in convert and geomserver. Faceset helper for creating edge pairs.
2018-11-02 16:10:06 +01:00
Thomas Krijnen
cb535b4ba8
Merge branch 'master' into v0.6.0
2018-09-25 12:47:31 +02:00
Thomas Krijnen
a8effa8289
No need to cast to TopoDS_Face anymore
2018-09-25 12:46:20 +02:00
Thomas Krijnen
2b501a93c9
Merge branch 'master' into v0.6.0
...
# Conflicts:
# src/ifcgeom/IfcGeomFunctions.cpp
# src/ifcgeom/IfcGeomWires.cpp
2018-09-21 12:02:22 +02:00
Thomas Krijnen
bf4b5928dd
Fail on empty face early
2018-09-21 10:22:37 +02:00
Thomas Krijnen
028e8fb926
Merge branch 'master' into v0.6.0
...
# Conflicts:
# nix/build-all.py
# src/ifcgeom/IfcGeomFunctions.cpp
# src/ifcparse/IfcLogger.cpp
2018-09-17 17:46:13 +02:00
Thomas Krijnen
983745b508
More careful face orientation check
2018-09-17 12:05:30 +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
637d3e2eb6
Optimize generation of faces with large (n > 128) number of edges.
2018-05-14 11:06:07 +02:00
Thomas Krijnen
8b4650b169
Fix compilation on msvc
2017-12-20 16:38:55 +01:00
Thomas Krijnen
a792a7e2c7
Two simultaneous IfcGeom implementations
2017-12-18 15:25:09 +01:00
Thomas Krijnen
c099234796
Update ifcgeom
2017-12-11 15:07:40 +01:00
Thomas Krijnen
c0a2e3395f
Triangulate non-planar wires when invoked with --sew-shells
2017-11-27 16:27:36 +01:00
Thomas Krijnen
4354361a13
More elaborate wire ordering check and shell sewing code ( #147 )
2016-12-09 16:40:14 +01:00
Thomas Krijnen
aebb9e324b
Geometry serialization ( #71 )
...
Serialize geometry to IFC instances directly from a TopoDS_Shape
2016-06-22 15:03:18 +02:00
Thomas Krijnen
8f55aa732d
IfcParameterizedProfileDef.Position and IfcSweptAreaSolid.Position optional in IFC4
2016-06-21 11:18:16 +02:00
Thomas Krijnen
85ddae1228
Do not set wire tolerance prior to creating face
2016-05-24 12:51:00 +02:00
Thomas Krijnen
60cf4ab757
Additional check pertaining to face surfaces
2016-05-03 11:22:15 +02:00
Thomas Krijnen
884b3fe850
Project wires onto a plane if non-planar. Fixes #57 .
2016-04-16 14:47:09 +02:00
aothms
481515f5ae
Add missing include
2016-02-18 16:57:22 +01:00
aothms
da0af77570
Compatibility for older versions of cmake, python, open cascade, boost
2016-02-18 13:17:15 +01:00
aothms
f4d58b3969
Fix for IfcAdvancedFace when compiling for 2x3
2016-02-01 14:58:42 +01:00
aothms
ed8cc620ea
Use boost::shared_ptr
...
Fixes https://github.com/IfcOpenShell/IfcOpenShell/issues/17
2016-01-25 14:42:41 +01:00
Stinkfist0
a13042f227
Fix warnings: unused variables, shadowing variable names, constant conditional expressions, integer conversions, inability to generate copy-ctor and/or assignment operator, etc.
2015-11-21 23:05:28 +02:00
Stinkfist0
6190771817
Fix/suppress signed-unsigned int conversion warnings on Windows x64.
2015-11-04 18:27:46 +02:00
aothms
22a8d9a17b
Don't leave MakeFace in an invalid state when one of the face boundaries cannot be processed or is not planar
2015-09-04 11:48:53 +02:00
Thomas Krijnen
28863f90b9
Add support for IFC4.IfcTriangulatedFaceSet
2015-06-16 12:58:51 +00:00
Thomas Krijnen
7abe2df066
Update implementation of IfcBSplineSurfaceWithKnots for IfcAdvancedFace in IFC4
2015-05-21 13:02:10 +00:00
Thomas Krijnen
9b64c6f4b9
Check for orientation of wires when creating outer boundary of face
2015-05-21 13:01:01 +00:00
Thomas Krijnen
40a60386c8
Brand new implementation of IfcFace(Surface)
2015-05-20 08:55:02 +00:00
Thomas Krijnen
c97cf661a2
1. Also emit Plan and Axis shape representations and IfcTopologyRepresentations if requested. 2. Add serialization for curves. 3. In Python add option to specify representation for which to generate shape.
2015-04-22 09:15:48 +00:00
Thomas Krijnen
8581fed39b
Track inverse attributes more correctly
...
Rename Size() to size() on EntityList and friends
2015-01-10 22:13:52 +00:00
Thomas Krijnen
2a403e240d
*** See: https://sourceforge.net/p/ifcopenshell/discussion/1782718/thread/6bd0f843/ ***
...
Massive refactor of the IfcGeomObjects module, which is now the IfcGeom::Iterator class.
2014-12-19 12:14:36 +00:00
Thomas Krijnen
d88d4d5951
Add support for IfcAsymmetricIShapeProfileDef
2014-11-26 14:01:31 +00:00
Thomas Krijnen
9a1c7af953
Fixes for IfcRectangleHollowProfileDef and filleted profile generation.
2014-07-24 11:14:54 +00:00
Thomas Krijnen
81292f1adc
Detect cases where Newell's Method returns a zero-length vector and make no attempt to normalize it in order to prevent an exception. In this case the face will be flagged as invalid down the road, because its perimeter doesn't span any area.
2014-06-07 17:49:21 +00:00
Thomas Krijnen
1b54ba039d
- Add support for IFC4 nurbs surfaces (IfcBSplineSurfaceWithKnots and IfcAdvancedFace)
...
- Remove unnecessary typedefs
2014-05-04 14:42:55 +00:00
Thomas Krijnen
220b36b09c
Support for IfcCompositeProfileDef and IfcDerivedProfileDef
2014-03-16 13:34:01 +00:00
Thomas Krijnen
4c17d153f4
Add support for IfcGeometricSet IfcRevolvedAreaSolid IfcSurfaceOfLinearExtrusion IfcSurfaceOfRevolution IfcCenterLineProfileDef IfcArbitraryOpenProfileDef
2014-03-15 11:51:23 +00:00
Thomas Krijnen
7597f25db0
Implementations for more parameterized profile definitions
2014-03-08 17:21:39 +00:00
Thomas Krijnen
17f873b486
First stab at a new express parser to have some more luck with Ifc4
2014-02-17 22:13:55 +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
b4e42025fd
Convert all .cpp and .h files to UTF-8 with BOM
2012-07-19 18:26:47 +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
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
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
d02eeac132
Reduce unnecessary use of smart pointers
...
Speed up type checking by using std::maps and switch statements
Add compile flag to win/IfcGeom.vcproj
2011-09-03 13:58:59 +00:00
Thomas Krijnen
2561f94acb
- Fixed a bug regarding IfcUnitAssignment
...
- Separate IFC parsing library and geometry libraries [#3395025 ]
- Added example for IfcParse usage without geometry or Open CASCADE functionality
- Cleanup of vcproj Open CASCADE dependencies
- Added function to query parent class type in IfcExpressParser.py
2011-08-24 12:21:07 +00:00