/////////////////////////////////////////////////////////////////////////////// // 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. /////////////////////////////////////////////////////////////////////////////// #ifndef _PRCFILESTRUCTUREEXACTGEOMETRY_INCLUDED_ #define _PRCFILESTRUCTUREEXACTGEOMETRY_INCLUDED_ #include "PrcTopoContext.h" /** \details The class implements the exact geometry and topology data of the leaf items of the file structure tree. Exact geometry consists of an array of topological contexts. A topological context contains an array of boundary representation bodies. Any exact geometry or topological entity belongs to only one context. */ class PRC_TOOLKIT OdPrcFileStructureExactGeometry { private: OdPrcTopoContextPtrArray m_topological_context; public: //DOM-IGNORE-BEGIN PRC_DECLARE_CIO(OdPrcFileStructureExactGeometry) //DOM-IGNORE-END /** \details Requests the current topological context of the exact geometry file structure. \returns An array of smart pointers to objects. This array represents the topological context. \remarks The method returns the array of smart pointers to objects through the reference; therefore, any modification of this array outside the exact geometry file structure object causes changes in the topological context. To avoid modification of the topological context outside the exact geometry file structure object, call the method that returns a constant reference. */ OdPrcTopoContextPtrArray &topologicalContext(); /** \details Requests the current topological context of the exact geometry file structure. \returns An array of smart pointers to objects. This array represents the topological context. \remarks The method returns the array of smart pointers to objects through the constant reference; therefore, the array can't be modified outside the exact geometry file structure object. \sa method that returns a non-constant reference. */ const OdPrcTopoContextPtrArray &topologicalContext() const; /** \details Updates co-edge neighbors for the exact geometry file structure. Co-edges are called neighboring if they point to the same edge. */ void updateCoedgeNeighbours (void); }; #endif // _PRCFILESTRUCTUREEXACTGEOMETRY_INCLUDED_