``SWE002`` Mirroring within IfcDerivedProfileDef shall not be used - v2 ======================================================================================================================================================================================================== .. parsed-literal:: 001 | \@informal-proposition 002 | \@SWE 003 | \@version2 004 | Feature: SWE002 - Mirroring within IfcDerivedProfileDef shall not be used 005 | 006 | The rule verifies that the transformation defined in IfcDerivedProfileDef.Operator does not introduce mirroring. 007 | The subtype IfcMirroredProfileDef should be used for that. For the tapered sweeps, which tend to rely on 008 | IfcDerivedProfileDef, by expressing the tapering operation as a change in profile, mirroring should not be used 009 | altogether. 010 | 011 | Scenario: IfcDerivedProfileDef must not use mirroring as there is a dedicated subtype for that 012 | 013 | :doc:`Given An .IfcDerivedProfileDef. ^without subtypes^ ` 014 | :doc:`Given Its attribute .Operator. ` 015 | :doc:`Given The determinant of the placement matrix ` 016 | 017 | :doc:`Then The resulting value must be ^greater than 0^ ` 018 | 019 | Scenario Outline: Tapered sweeps must not use mirroring altogether 020 | 021 | :doc:`Given An .\. ` 022 | :doc:`Given Its attribute .\. ` 023 | :doc:`Given [Its entity type] ^is^ 'IfcDerivedProfileDef' or 'IfcMirroredProfileDef' ` 024 | :doc:`Given Its attribute .Operator. ` 025 | :doc:`Given The determinant of the placement matrix ` 026 | 027 | :doc:`Then The resulting value must be ^greater than 0^ ` 028 | 029 | Examples: 030 | | entity | attribute | 031 | | IfcExtrudedAreaSolidTapered | SweptArea | 032 | | IfcExtrudedAreaSolidTapered | EndSweptArea | 033 | | IfcRevolvedAreaSolidTapered | SweptArea | 034 | | IfcRevolvedAreaSolidTapered | EndSweptArea | .. rubric:: Version history .. list-table:: :header-rows: 1 * - Version - Tag - Date - Commit - Rule link * - v1 - :tag:`v0.6.11` - 2025-01-23 - :commit:`2a8ba5d3c2bad343dcc486dfa951ee260c7d01a6` - `view `_ * - v2 - :tag:`v0.8.2` - 2025-10-28 - :commit:`f332af51b676186e001ed8ddc2370c9dde301815` - `view `_