geextc3d.h 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  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:
  13. //
  14. // This file contains the class AcGeExternalCurve3d - A
  15. // representation for a curve that has its definition external to
  16. // gelib.
  17. #ifndef AC_GEEXTC3D_H
  18. #define AC_GEEXTC3D_H
  19. #include "gecurv3d.h"
  20. #include "gearc3d.h"
  21. #include "gevec3d.h"
  22. #include "gepnt3d.h"
  23. #pragma pack (push, 8)
  24. class AcGeLine3d;
  25. class AcGeLineSeg3d;
  26. class AcGeRay3d;
  27. class AcGeEllipArc3d;
  28. class AcGeNurbCurve3d;
  29. class AcGeExternalCurve2d;
  30. class AcGeExternalCurve3d;
  31. class
  32. GX_DLLEXPIMPORT
  33. AcGeExternalCurve3d : public AcGeCurve3d
  34. {
  35. public:
  36. AcGeExternalCurve3d();
  37. AcGeExternalCurve3d(const AcGeExternalCurve3d& src);
  38. AcGeExternalCurve3d(void* curveDef, AcGe::ExternalEntityKind curveKind,
  39. Adesk::Boolean makeCopy = Adesk::kTrue);
  40. Adesk::Boolean isLine () const;
  41. Adesk::Boolean isRay () const;
  42. Adesk::Boolean isLineSeg () const;
  43. Adesk::Boolean isCircArc () const;
  44. Adesk::Boolean isEllipArc () const;
  45. Adesk::Boolean isNurbCurve() const;
  46. Adesk::Boolean isDefined () const;
  47. // Conversion to native gelib curve
  48. //
  49. Adesk::Boolean isNativeCurve (AcGeCurve3d*& nativeCurve) const;
  50. void getExternalCurve (void*& curveDef) const;
  51. // Type of the external curve.
  52. //
  53. AcGe::ExternalEntityKind externalCurveKind() const;
  54. // Reset surface
  55. //
  56. AcGeExternalCurve3d& set(void* curveDef, AcGe::ExternalEntityKind curveKind,
  57. Adesk::Boolean makeCopy = Adesk::kTrue);
  58. // Assignment operator
  59. //
  60. AcGeExternalCurve3d& operator = (const AcGeExternalCurve3d& src);
  61. // Ownership of curve
  62. //
  63. Adesk::Boolean isOwnerOfCurve () const;
  64. AcGeExternalCurve3d& setToOwnCurve ();
  65. };
  66. #pragma pack (pop)
  67. #endif