dbxline.h 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  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. // DESCRIPTION: Exported AcDbXline Entity class
  13. #ifndef AD_DBXLINE_H
  14. #define AD_DBXLINE_H 1
  15. #include "dbmain.h"
  16. #include "dbcurve.h"
  17. #pragma pack(push, 8)
  18. class AcGePoint3d;
  19. class AcGeVector3d;
  20. class AcDbXline: public AcDbCurve
  21. {
  22. public:
  23. AcDbXline();
  24. ~AcDbXline();
  25. ACDB_DECLARE_MEMBERS(AcDbXline);
  26. DBCURVE_METHODS
  27. Acad::ErrorStatus getOffsetCurvesGivenPlaneNormal(
  28. const AcGeVector3d& normal, double offsetDist,
  29. AcDbVoidPtrArray& offsetCurves) const;
  30. AcGePoint3d basePoint() const;
  31. void setBasePoint(const AcGePoint3d& pt);
  32. AcGeVector3d unitDir() const;
  33. void setUnitDir(const AcGeVector3d& vec);
  34. ACDB_PORT AcGePoint3d secondPoint() const;
  35. ACDB_PORT Acad::ErrorStatus setSecondPoint(AcGePoint3d const & pt);
  36. protected:
  37. virtual Acad::ErrorStatus subGetClassID(CLSID* pClsid) const;
  38. };
  39. inline Adesk::Boolean AcDbXline::isClosed() const
  40. {
  41. return Adesk::kFalse;
  42. }
  43. inline Adesk::Boolean AcDbXline::isPeriodic() const
  44. {
  45. return Adesk::kFalse;
  46. }
  47. inline Adesk::Boolean AcDbXline::isPlanar() const
  48. {
  49. return Adesk::kTrue;
  50. }
  51. inline Acad::ErrorStatus AcDbXline::getStartParam(double&) const
  52. {
  53. return Acad::eNotApplicable;
  54. }
  55. inline Acad::ErrorStatus AcDbXline::getEndParam(double&) const
  56. {
  57. // endParam for an Xline is positive infinity
  58. return Acad::eNotApplicable;
  59. }
  60. inline Acad::ErrorStatus AcDbXline::getStartPoint(AcGePoint3d&) const
  61. {
  62. return Acad::eNotApplicable;
  63. }
  64. inline Acad::ErrorStatus AcDbXline::getEndPoint(AcGePoint3d&) const
  65. {
  66. return Acad::eNotApplicable;
  67. }
  68. inline Acad::ErrorStatus AcDbXline::getSpline(AcDbSpline*&) const
  69. {
  70. return Acad::eNotApplicable;
  71. }
  72. inline Acad::ErrorStatus AcDbXline::extend(double /*newParam*/)
  73. {
  74. return Acad::eNotApplicable;
  75. }
  76. inline Acad::ErrorStatus AcDbXline::extend(Adesk::Boolean, const AcGePoint3d&)
  77. {
  78. return Acad::eNotApplicable;
  79. }
  80. inline Acad::ErrorStatus AcDbXline::getArea(double&) const
  81. {
  82. return Acad::eNotApplicable;
  83. }
  84. #pragma pack(pop)
  85. #endif