geponc2d.h 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  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:
  15. // The AcGePointOnCurve2d class which is used to keep information of a point
  16. // belonging to a 2d curve
  17. #ifndef AC_GEPONC2D_H
  18. #define AC_GEPONC2D_H
  19. #include "gepent2d.h"
  20. #pragma pack (push, 8)
  21. class AcGeCurve2d;
  22. class
  23. GE_DLLEXPIMPORT
  24. AcGePointOnCurve2d : public AcGePointEnt2d
  25. {
  26. public:
  27. AcGePointOnCurve2d ();
  28. AcGePointOnCurve2d (const AcGeCurve2d& crv);
  29. AcGePointOnCurve2d (const AcGeCurve2d& crv, double param);
  30. AcGePointOnCurve2d (const AcGePointOnCurve2d& src);
  31. // Assignment operator.
  32. //
  33. AcGePointOnCurve2d& operator = (const AcGePointOnCurve2d& src);
  34. // Query functions.
  35. //
  36. const AcGeCurve2d* curve () const;
  37. double parameter () const;
  38. // Functions to evaluate a point.
  39. //
  40. AcGePoint2d point () const;
  41. AcGePoint2d point (double param);
  42. AcGePoint2d point (const AcGeCurve2d& crv, double param);
  43. // Functions to evaluate the derivatives.
  44. //
  45. AcGeVector2d deriv (int order) const;
  46. AcGeVector2d deriv (int order, double param);
  47. AcGeVector2d deriv (int order, const AcGeCurve2d& crv,
  48. double param);
  49. // Singularity
  50. //
  51. Adesk::Boolean isSingular (const AcGeTol& tol =
  52. AcGeContext::gTol) const;
  53. Adesk::Boolean curvature (double& res);
  54. Adesk::Boolean curvature (double param, double& res);
  55. // Set functions.
  56. //
  57. AcGePointOnCurve2d& setCurve (const AcGeCurve2d& crv);
  58. AcGePointOnCurve2d& setParameter (double param);
  59. };
  60. #pragma pack (pop)
  61. #endif