/////////////////////////////////////////////////////////////////////////////// // 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 _ODHLRBLOCK_INCLUDED_ #define _ODHLRBLOCK_INCLUDED_ #include "HlrAlgoExport.h" class OdGeMatrix3d; namespace OdHlrN { class HlrBlockImpl; /** * The class for representing blocks */ class HLRALGO_TOOLKIT_EXPORT HlrBlock { public: //DOM-IGNORE-BEGIN ~HlrBlock(); //DOM-IGNORE-END /** \details Checks if blocks have the same contents. \returns Returns true if blocks have same content, false otherwise */ bool hasSameContent(HlrBlock* other) const; /** \details Get the flag of block owns it's content \returns Returns true if blocks ownt it's content */ bool ownContent() const; /** \details Get the transformation of this block \returns Returns a pointer to transformation matrix */ const OdGeMatrix3d* getLocalTransf() const; /** \details Get the block id \returns Returns the block id */ OdUInt32 getId() const; private: HlrBlock(const OdGeMatrix3d& mx, OdUInt32 id, HlrBlock* pParentBlock = NULL); HlrBlockImpl* m_pImpl; friend class HlrInternal; friend class HlrAlgoBaseImpl; friend class HlrAlgoBrepImpl; friend class HlrAlgoBrep; friend class HlrAlgoDb; }; } //namespace OdHlr #endif //_ODHLRBLOCK_INCLUDED_