/////////////////////////////////////////////////////////////////////////////// // 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 _IFC4X2_IFCSLABELEMENTEDCASE_AUTO_IMPL_H #define _IFC4X2_IFCSLABELEMENTEDCASE_AUTO_IMPL_H #include "IfcSlabAutoImpl.h" #include "TD_PackPush.h" /** \details The namespace contains schema-dependent classes, definitions and sub routines for work with IFC4X2 express schema definitions. */ namespace OdIfc4x2 { /** \details The IfcSlabElementedCase defines a slab with certain constraints for the provision of its components. The IfcSlabElementedCase handles all cases of slabs, that are decomposed into parts: * having components that are assigned to the IfcSlabElementedCase using the IfcRelAggregates relationship accessible by the inverse relationship IsDecomposedBy. * applying the constraint where the parts within the decomposition are of type IfcBeam, IfcMember, IfcPlate, IfcBuildingElementPart or IfcBuildingElementProxy. - Voiding Use Definition - As shown on the image below, openings within the composite slab are directly assigned to IfcSlabElementedCase using IfcRelVoidsElement pointing to IfcOpeningElement and apply to all aggregated parts. If individual parts have cutting and other voiding features, then the decomposed parts have a separate voiding relationship IfcRelVoidsElement pointing to IfcVoidingFeature. - Object Aggregation - The Object Aggregation concept applies to this entity as specified below: RelatedObjectsDescription IfcBeam Slabs can be aggregated into beams for joists. IfcPlate Slabs can be aggregated into plates for decking. IfcBuildingElementPart Slabs can be aggregated into parts for other elements.
- Product Placement - The Product Placement concept applies to this entity as specified below: TypeDescription IfcLocalPlacement Relative placement according to position and rotation relative to container. IfcLocalPlacement Absolute placement according to position and rotation of world coordinate system. IfcGridPlacement Placement according to grid intersection.
- Surface Geometry - A three-dimensional surface being a subtype of IfcBoundedSurface defining the reference surface for the elemented slab. It can be used as a simplified representation directly at the elemented slab. */ class IFC4X2_EXPORT IfcSlabElementedCase : public IfcSlab { //DOM-IGNORE-BEGIN OD_EXP_DECLARE_MEMBERS(OdIfc4x2::IfcSlabElementedCase); //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 IfcSlabElementedCase object. */ typedef OdSmartPtr IfcSlabElementedCasePtr; } // namespace #include "TD_PackPop.h" #endif // _IFC4X2_IFCSLABELEMENTEDCASE_AUTO_IMPL_H