geponc3d.h 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. //////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright 2015 Autodesk, Inc. All rights reserved.
  4. //
  5. // Use of this software is subject to the terms of the Autodesk license
  6. // agreement provided at the time of installation or download, or which
  7. // otherwise accompanies this software in either electronic or hard copy form.
  8. //
  9. //////////////////////////////////////////////////////////////////////////////
  10. //
  11. // DESCRIPTION:
  12. //
  13. // This file contains:
  14. // The class AcGePointOnCurve3d which is used to keep information of
  15. // a point belonging to a 3d curve
  16. #ifndef AC_GEPONC3D_H
  17. #define AC_GEPONC3D_H
  18. #include "gepent3d.h"
  19. #pragma pack (push, 8)
  20. class AcGeCurve3d;
  21. class
  22. GE_DLLEXPIMPORT
  23. AcGePointOnCurve3d : public AcGePointEnt3d
  24. {
  25. public:
  26. AcGePointOnCurve3d();
  27. AcGePointOnCurve3d(const AcGeCurve3d& crv);
  28. AcGePointOnCurve3d(const AcGeCurve3d& crv, double param);
  29. AcGePointOnCurve3d(const AcGePointOnCurve3d& src);
  30. // Assignment operator.
  31. //
  32. AcGePointOnCurve3d& operator = (const AcGePointOnCurve3d& src);
  33. // Query functions.
  34. //
  35. const AcGeCurve3d* curve () const;
  36. double parameter () const;
  37. // Functions to evaluate a point.
  38. //
  39. AcGePoint3d point () const;
  40. AcGePoint3d point (double param);
  41. AcGePoint3d point (const AcGeCurve3d& crv, double param);
  42. // Functions to evaluate the derivatives.
  43. //
  44. AcGeVector3d deriv (int order) const;
  45. AcGeVector3d deriv (int order, double param);
  46. AcGeVector3d deriv (int order, const AcGeCurve3d& crv,
  47. double param);
  48. // Singularity
  49. //
  50. Adesk::Boolean isSingular (const AcGeTol& tol =
  51. AcGeContext::gTol) const;
  52. Adesk::Boolean curvature (double& res);
  53. Adesk::Boolean curvature (double param, double& res);
  54. // Set functions.
  55. //
  56. AcGePointOnCurve3d& setCurve (const AcGeCurve3d& crv);
  57. AcGePointOnCurve3d& setParameter (double param);
  58. };
  59. #pragma pack (pop)
  60. #endif