/////////////////////////////////////////////////////////////////////////////// // Copyright (C) 2002-2016, 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 Teigha(R) software pursuant to a license // agreement with Open Design Alliance. // Teigha(R) Copyright (C) 2002-2016 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 _OD_DB_BLOCK_ELEMENT_ENTITY_ #define _OD_DB_BLOCK_ELEMENT_ENTITY_ #include "TD_PackPush.h" #include "DbEntity.h" #include "DbEvalGraph.h" class OdDbBlockElementEntityImpl; class OdDbBlockElement; class OdDbBlockParameter; /** \details This class implements the OdDbBlockElementEntity object in the database. */ class DYNBLOCKS_EXPORT OdDbBlockElementEntity : public OdDbEntity { public: ODDB_DECLARE_MEMBERS(OdDbBlockElementEntity); /** \details Returns the id of the element it represents */ OdDbObjectId getElement() const; OdString name() const; void setName( const OdString& ); /** \details Sets the id of the element it represents */ virtual void setElement( const OdDbObjectId& id ); virtual OdResult sync(OdDbBlockElement *); virtual OdResult dwgInFields(OdDbDwgFiler* pFiler) ODRX_OVERRIDE; virtual void dwgOutFields(OdDbDwgFiler* pFiler) const ODRX_OVERRIDE; virtual bool subWorldDraw(OdGiWorldDraw* pWd) const ODRX_OVERRIDE; virtual OdUInt32 subSetAttributes(OdGiDrawableTraits* pTraits) const ODRX_OVERRIDE; virtual OdResult subTransformBy(const OdGeMatrix3d& xfm) ODRX_OVERRIDE; virtual OdResult subGetTransformedCopy(const OdGeMatrix3d& xfm, OdDbEntityPtr& pCopy) const ODRX_OVERRIDE; virtual OdResult subErase(bool erasing) ODRX_OVERRIDE; virtual void subClose() ODRX_OVERRIDE; virtual void subHighlight(bool bDoIt = true, const OdDbFullSubentPath* pSubId = 0, bool highlightAll = false) const ODRX_OVERRIDE; OdDbObjectPtr subDeepClone(OdDbIdMapping& idMap, OdDbObject*, bool bPrimary) const ODRX_OVERRIDE; static OdSmartPtr create(const OdDbBlockElement* pElem); }; /** \details The typified smart pointer for the object. This template class is specialization of the OdSmartPtr class for the OdDbBlockElementEntity class. \sa */ typedef OdSmartPtr OdDbBlockElementEntityPtr; /** \details This class implements the OdDbBlock2PtGripEntity object in the database. */ class DYNBLOCKS_EXPORT OdDbBlockGripEntity: public OdDbBlockElementEntity { public: ODDB_DECLARE_MEMBERS(OdDbBlockGripEntity); /** \details Builds an instance of the object. */ OdDbBlockGripEntity(); OdGePoint3d displayLocation() const; void setDisplayLocation(class OdGePoint3d const &); void resetPosition(); virtual void setElement( const OdDbObjectId& id ); virtual OdResult subTransformBy(const OdGeMatrix3d& xfm) ODRX_OVERRIDE; virtual OdResult subGetGripPoints( OdGePoint3dArray& gripPoints ) const ODRX_OVERRIDE; virtual OdResult subMoveGripPointsAt(const OdIntArray& indices,const OdGeVector3d& offset ) ODRX_OVERRIDE; virtual void subHighlight(bool bDoIt = true, const OdDbFullSubentPath* pSubId = 0, bool highlightAll = false) const; //Notification from OdDbBlockGrip virtual void erased(const OdDbObject* pObject, bool erasing) ODRX_OVERRIDE; virtual void syncPosition(const OdDbBlockParameter* pPrm); }; /** \details The typified smart pointer for the object. This template class is specialization of the OdSmartPtr class for the OdDbBlockGripEntity class. \sa */ typedef OdSmartPtr OdDbBlockGripEntityPtr; #include "TD_PackPop.h" #endif