/////////////////////////////////////////////////////////////////////////////// // 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 _DbBlockElement_h_Included_ #define _DbBlockElement_h_Included_ #include "DbEvalGraph.h" #include "IntArray.h" #include "Ge/GePoint3dArray.h" class OdDbBlockTableRecord; class OdDbBlockRepresentationContext; #define ODDB_EVAL_DECLARE_MEMBERS(ClassName) \ ODDB_DECLARE_MEMBERS(ClassName);\ OdResult dwgInFields(OdDbDwgFiler* pFiler);\ void dwgOutFields(OdDbDwgFiler* pFiler) const;\ OdResult dxfInFields(OdDbDxfFiler* pFiler);\ void dxfOutFields(OdDbDxfFiler* pFiler) const // #define DEBUG_EVALGRAPH 1 /** \details \sa TD_Db */ class DYNBLOCKS_EXPORT OdDbBlockElement : public OdDbEvalConnectable { public: enum HistoryCompression{kHistoryCompression0,kHistoryCompression1,kHistoryCompression2,kHistoryCompression3}; ODDB_EVAL_DECLARE_MEMBERS(OdDbBlockElement); //!DOM EvalExpr interface //!DOM virtual void adjacentNodeRemoved( const OdDbEvalNodeId& ); virtual bool evaluate( const OdDbEvalContext* ); //!DOM OdDbEvalConnectable interface virtual bool connectionAllowed(const OdString&,OdDbEvalNodeId,const OdString&) const; virtual bool connectTo(const OdString&,OdDbEvalNodeId,const OdString&); virtual bool disconnectFrom(const OdString&,OdDbEvalNodeId,const OdString&); virtual bool hasConnectionNamed(const OdString&) const; virtual bool getConnectedNames(const OdString&,unsigned long,OdStringArray&) const; virtual bool getConnectedObjects(const OdString&,OdDbEvalNodeIdArray&) const; virtual void getConnectionNames(OdStringArray&) const; virtual bool getConnectionType (const OdString& name, OdResBuf::ValueType& type) const; virtual OdResBufPtr getConnectionValue (const OdString& name) const; //!DOM virtual OdString name() const; virtual void setName( const OdString& ); //!DOM virtual unsigned long alertState() const; //!DOM virtual void auditAlertState(); //!DOM OdDbObjectId getEntity(); //!DOM class AcRxClass * getRxEntity(void) virtual OdDb::MaintReleaseVer getInstanceMaintenanceVersion(); virtual OdDb::DwgVersion getInstanceVersion(); virtual void getStretchPoints( OdGePoint3dArray& )const; virtual void moveStretchPointsAt( const OdIntArray &, const OdGeVector3d &); virtual HistoryCompression historyCompression() const; virtual bool historyRequired() const; //!DOM static bool isNameUnique(class OdDbEvalGraph* graph, const OdString& name, OdString* result ); virtual bool hasInstanceData()const; // has instance data loaded virtual bool loadInstanceData(const OdResBuf*); // loads instance data from xdata chain virtual OdResBufPtr saveInstanceData()const; // saves instance data to xdata chain virtual void updateConnections(); //!DOM virtual bool onBeginEdit( OdDbBlockTableRecord* ); //!DOM virtual bool onEndEdit(OdDbBlockTableRecord*); /*!DOM void OnBeginEditCancelled(class AcDbObjectId,class AcDbObjectId) void OnBeginEditEnded(class AcDbObjectId,class AcDbObjectId) void OnBeginSaveCancelled(class AcDbObjectId,class AcDbObjectId) void OnBeginSaveEnded(class AcDbObjectId,class AcDbObjectId) void OnBeginSaveStarted(class AcDbObjectId,class AcDbObjectId) void OnEndEditCancelled(class AcDbObjectId,class AcDbObjectId) void OnEndEditStarted(class AcDbObjectId,class AcDbObjectId) */ virtual bool isMemberOfCurrentVisibilitySet()const; virtual void setMemberOfCurrentVisibilitySet(bool); //!DOM enum Acad::ErrorStatus AcDbBlockElement::sync(class AcDbBlockElementEntity *) //!DOM virtual void transformDefinitionBy( const OdGeMatrix3d &); virtual OdResult transformBy( const OdGeMatrix3d& ); }; typedef OdSmartPtrOdDbBlockElementPtr; #endif // _DbBlockElement_h_Included_