/////////////////////////////////////////////////////////////////////////////// // Copyright (C) 2002-2025, Open Design Alliance (the "Alliance"). // All rights reserved. // // This software and its documentation and related materials are owned by // the Alliance. The software may only be incorporated into application // programs owned by members of the Alliance, subject to a signed // Membership Agreement and Supplemental Software License Agreement with the // Alliance. The structure and organization of this software are the valuable // trade secrets of the Alliance and its suppliers. The software is also // protected by copyright law and international treaty provisions. Application // programs incorporating this software must include the following statement // with their copyright notices: // // This application incorporates Open Design Alliance software pursuant to a license // agreement with Open Design Alliance. // Open Design Alliance Copyright (C) 2002-2025 by Open Design Alliance. // All rights reserved. // // By use of this software, its documentation or related materials, you // acknowledge and accept the above terms. /////////////////////////////////////////////////////////////////////////////// // This file is generated automatically. #ifndef _IFC2X2_FINAL_IFCCURTAINWALL_AUTO_IMPL_H #define _IFC2X2_FINAL_IFCCURTAINWALL_AUTO_IMPL_H #include "IfcBuildingElementAutoImpl.h" #include "TD_PackPush.h" /** \details The namespace contains schema-dependent classes, definitions and sub routines for work with IFC2X2_FINAL express schema definitions. */ namespace OdIfc2x2_final { /** \details A curtain wall is an exterior wall of a building which is an assembly of components, hung from the edge of the floor/roof structure rather than bearing on a floor. Curtain wall is represented as a building element assembly and implemented as a subtype of IfcBuildingElement that uses an IfcRelAggregates relationship. The geometric representation of IfcCurtainWall is defined using the following multiple shape representations for its definition: * Axis: A two-dimensional open curve (for restrictions see below) defining the axis for the curtain wall. * This is an optional representation for curtain walls. * Body: A surface model or boundary representation model representation defining the 3D shape of the curtain wall. * If the IfcCurtainWall has components (referenced by SELF\IfcObject.IsDecomposedBy) then no independent shape representation with RepresentationType = 'Body' is defined. The body of IfcCurtainWall is then geometrically represented by the shape representation of its components. The components are accessed via SELF\IfcObject.IsDecomposedBy[1].RelatedObjects. * If the IfcCurtainWall has no components defined (empty set of SELF\IfcObject.IsDecomposedBy) then the IfcCurtainWall can be represented by an shape representation with the RepresentationIdentifier ='Body'. - Axis 2D Geometry - The following additional constraints apply to the 'Axis' representation: * Geometry : IfcPolyline having two Points, or IfcTrimmedCurve with BasisCurve of type IfcLine or IfcCircle - Object Typing - This concept can be applied to the following resources: * IfcCurtainWallType - Product Local Placement - The following restriction can be imposed by view definitions or implementer agreements: * If the IfcCurtainWall establishes an aggregate, then all contained elements are placed relative to the IfcCurtainWall.ObjectPlacement - Property Sets for Objects - This concept can be applied to the following resources: * Pset_CurtainWallCommon - Quantity Sets - This concept can be applied to the following resources: * Qto_CurtainWallQuantities */ class IFC2X2_FINAL_EXPORT IfcCurtainWall : public IfcBuildingElement { //DOM-IGNORE-BEGIN OD_EXP_DECLARE_MEMBERS(OdIfc2x2_final::IfcCurtainWall); //DOM-IGNORE-END public: /** \details Returns a type of a class instance. \returns Pointer to the OdDAI::Entity type that determines an entity definition within a schema. */ virtual OdDAI::Entity* getInstanceType() const override; /** \details Checks whether the specified instance is the object derived from or belongs to this class. \param entityType [in] Entity to check. \returns true if the specified instance is the object derived from or belongs to this class, false otherwise. */ virtual bool isKindOf(OdIfc::OdIfcEntityType entityType) const override; /** \details Returns the type of this entity. \returns A value of the OdIfc::OdIfcEntityType type that represents type of this entity. */ virtual OdIfc::OdIfcEntityType type() const override; }; /** \details A data type that represents a smart pointer to a IfcCurtainWall object. */ typedef OdSmartPtr IfcCurtainWallPtr; } // namespace #include "TD_PackPop.h" #endif // _IFC2X2_FINAL_IFCCURTAINWALL_AUTO_IMPL_H