#pragma once #include "DbBlockReference.h" /** \details This class is a block reference protocol extension allowing to access dynamic block properties w/o linking the dynamic blocks module */ class TOOLKIT_EXPORT OdDbDynamicBlockReferencePE : public OdRxObject { public: ODRX_DECLARE_MEMBERS(OdDbDynamicBlockReferencePE); /** \details * Returns eOk and the current visibility state if the block is dynamic and there is a visibility parameter * Returns eKeyNotFound if the block is dynamic but there is no visibility parameter * Returns eInvalidInput if the block is not dynamic */ virtual OdResult getCurrentVisibilityState(const OdDbBlockReference* block, OdDbObjectIdArray& visibilityState) const = 0; }; /** \details This class is a block table record protocol extension allowing to access dynamic block properties w/o linking the dynamic blocks module */ class TOOLKIT_EXPORT OdDbDynamicBlockPE : public OdRxObject { public: ODRX_DECLARE_MEMBERS(OdDbDynamicBlockPE); /** \details * Returns true if the object is a correct dynamic block */ virtual bool isDynamicBlock(const OdDbObject* block) const = 0; };