dbproxy.h 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. //
  2. //////////////////////////////////////////////////////////////////////////////
  3. //
  4. // Copyright 2015 Autodesk, Inc. All rights reserved.
  5. //
  6. // Use of this software is subject to the terms of the Autodesk license
  7. // agreement provided at the time of installation or download, or which
  8. // otherwise accompanies this software in either electronic or hard copy form.
  9. //
  10. //////////////////////////////////////////////////////////////////////////////
  11. //
  12. #pragma once
  13. #include "dbmain.h"
  14. #include "dbintar.h"
  15. #pragma pack (push, 8)
  16. class ADESK_NO_VTABLE AcDbProxyObject : public AcDbObject
  17. {
  18. public:
  19. ACRX_DECLARE_MEMBERS(AcDbProxyObject);
  20. virtual ~AcDbProxyObject() {};
  21. virtual int proxyFlags() const = 0;
  22. virtual const ACHAR * originalClassName() const = 0;
  23. virtual const ACHAR * originalDxfName() const = 0;
  24. virtual const ACHAR * applicationDescription() const = 0;
  25. virtual Acad::ErrorStatus getReferences(AcDbObjectIdArray&,
  26. AcDbIntArray&) const = 0;
  27. virtual AcDb::DuplicateRecordCloning mergeStyle() const = 0;
  28. enum {kNoOperation = 0,
  29. kEraseAllowed = 0x01,
  30. kCloningAllowed = 0x80,
  31. kAllButCloningAllowed = 0x01,
  32. kAllAllowedBits = 0x81,
  33. kMergeIgnore = 0, // Keep existing (= default)
  34. kMergeReplace = 0x100, // Use clone
  35. kMergeMangleName = 0x200, // anonymous name
  36. kDisableProxyWarning = 0x400
  37. };
  38. };
  39. class ADESK_NO_VTABLE AcDbProxyEntity : public AcDbEntity
  40. {
  41. public:
  42. ACRX_DECLARE_MEMBERS(AcDbProxyEntity);
  43. virtual ~AcDbProxyEntity() {};
  44. virtual int proxyFlags() const = 0;
  45. virtual const ACHAR * originalClassName() const = 0;
  46. virtual const ACHAR * originalDxfName() const = 0;
  47. virtual const ACHAR * applicationDescription() const = 0;
  48. virtual Acad::ErrorStatus getReferences(AcDbObjectIdArray&,
  49. AcDbIntArray&) const = 0;
  50. enum GraphicsMetafileType {
  51. kNoMetafile = 0,
  52. kBoundingBox = 1,
  53. kFullGraphics = 2 };
  54. virtual AcDbProxyEntity::GraphicsMetafileType graphicsMetafileType()
  55. const = 0;
  56. enum {kNoOperation = 0,
  57. kEraseAllowed = 0x1,
  58. kTransformAllowed = 0x2,
  59. kColorChangeAllowed = 0x4,
  60. kLayerChangeAllowed = 0x8,
  61. kLinetypeChangeAllowed = 0x10,
  62. kLinetypeScaleChangeAllowed = 0x20,
  63. kVisibilityChangeAllowed = 0x40,
  64. kCloningAllowed = 0x80,
  65. kLineWeightChangeAllowed = 0x100,
  66. kPlotStyleNameChangeAllowed = 0x200,
  67. kAllButCloningAllowed = 0x37F,
  68. kAllAllowedBits = 0xBFF,
  69. kDisableProxyWarning = 0x400,
  70. kMaterialChangeAllowed = 0x800,
  71. };
  72. };
  73. #pragma pack (pop)