/////////////////////////////////////////////////////////////////////////////// // 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 _IFC4X1_IFCLOOP_AUTO_IMPL_H #define _IFC4X1_IFCLOOP_AUTO_IMPL_H #include "IfcTopologicalRepresentationItemAutoImpl.h" #include "TD_PackPush.h" /** \details The namespace contains schema-dependent classes, definitions and sub routines for work with IFC4X1 express schema definitions. */ namespace OdIfc4x1 { /** \details A loop is a topological entity constructed from a single vertex, or by stringing together connected (oriented) edges, or linear segments beginning and ending at the same vertex. It is typically used to bound a face lying on a surface. A loop has dimensionality of 0 or 1. The domain of a 0-dimensional loop is a single point. The domain of a 1-dimensional loop is a connected, oriented curve, but need not to be manifold. As the loop is a circle, the location of its beginning/ending point is arbitrary. A loop is represented by a single vertex, or by an ordered collection of oriented edges, or by an ordered collection of points. A loop is a graph, so M and the graph genus Gl can be determined by the graph traversal algorithm. Since M = 1, the Euler equation reduces in this case to
  ( V-E⊂l ) - ( 1-G⊃l ) = 0
  
where V and E~l~ are the number of unique vertices and oriented edges in the loop and G^l^ is the genus of the loop. */ class IFC4X1_EXPORT IfcLoop : public IfcTopologicalRepresentationItem { //DOM-IGNORE-BEGIN OD_EXP_DECLARE_MEMBERS(OdIfc4x1::IfcLoop); //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 IfcLoop object. */ typedef OdSmartPtr IfcLoopPtr; } // namespace #include "TD_PackPop.h" #endif // _IFC4X1_IFCLOOP_AUTO_IMPL_H