axpnt3d.h 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  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. #ifndef __AXPNT3D_H_
  12. #define __AXPNT3D_H_
  13. #include "gept3dar.h"
  14. #include "gepnt3d.h"
  15. #include "gevec3d.h"
  16. #pragma pack (push, 8)
  17. #ifndef AXAUTOEXP
  18. #ifdef AXAUTO_DLL
  19. #define AXAUTOEXP __declspec(dllexport)
  20. #else
  21. #define AXAUTOEXP __declspec(dllimport)
  22. #endif
  23. #endif
  24. #pragma warning(disable : 4290)
  25. class AXAUTOEXP AcAxPoint3d : public AcGePoint3d
  26. {
  27. public:
  28. // constructors
  29. AcAxPoint3d();
  30. AcAxPoint3d(double x, double y, double z);
  31. AcAxPoint3d(const AcGePoint3d& pt);
  32. AcAxPoint3d(const AcGeVector3d& pt);
  33. AcAxPoint3d(const VARIANT* var) throw(HRESULT);
  34. AcAxPoint3d(const VARIANT& var) throw(HRESULT);
  35. AcAxPoint3d(const SAFEARRAY* safeArrayPt) throw(HRESULT);
  36. // equal operators
  37. AcAxPoint3d& operator=(const AcGePoint3d& pt);
  38. AcAxPoint3d& operator=(const AcGeVector3d& pt);
  39. AcAxPoint3d& operator=(const VARIANT* var) throw(HRESULT);
  40. AcAxPoint3d& operator=(const VARIANT& var) throw(HRESULT);
  41. AcAxPoint3d& operator=(const SAFEARRAY* safeArrayPt) throw(HRESULT);
  42. // type requests
  43. VARIANT* asVariantPtr() const throw(HRESULT);
  44. SAFEARRAY* asSafeArrayPtr() const throw(HRESULT);
  45. VARIANT& setVariant(VARIANT& var) const throw(HRESULT);
  46. VARIANT* setVariant(VARIANT* var) const throw(HRESULT);
  47. // utilities
  48. private:
  49. AcAxPoint3d& fromSafeArray(const SAFEARRAY* safeArrayPt) throw(HRESULT);
  50. };
  51. #pragma warning(disable : 4275)
  52. class AXAUTOEXP AcAxPoint3dArray : public AcGePoint3dArray
  53. {
  54. public:
  55. // equal operators
  56. AcAxPoint3dArray& append(const AcGePoint3d& pt);
  57. AcAxPoint3dArray& append(const VARIANT* var) throw(HRESULT);
  58. AcAxPoint3dArray& append(const VARIANT& var) throw(HRESULT);
  59. AcAxPoint3dArray& append(const SAFEARRAY* safeArrayPt) throw(HRESULT);
  60. // type requests
  61. SAFEARRAY* asSafeArrayPtr() const throw(HRESULT);
  62. VARIANT& setVariant(VARIANT& var) const throw(HRESULT);
  63. VARIANT* setVariant(VARIANT* var) const throw(HRESULT);
  64. // utilities
  65. private:
  66. AcAxPoint3dArray& fromSafeArray(const SAFEARRAY* safeArrayPt) throw(HRESULT);
  67. };
  68. #pragma pack (pop)
  69. #endif