geoffsf.h 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  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 AcGeOffsetSurface, a
  15. // representation for an offset surface
  16. //
  17. #ifndef AC_GEOFFSF_H
  18. #define AC_GEOFFSF_H
  19. #include "gegbl.h"
  20. #include "gepnt3d.h"
  21. #include "gesurf.h"
  22. #pragma pack (push, 8)
  23. class AcGePlane;
  24. class AcGeBoundedPlane;
  25. class AcGeCylinder;
  26. class AcGeCone;
  27. class AcGeSphere;
  28. class AcGeTorus;
  29. class
  30. GX_DLLEXPIMPORT
  31. AcGeOffsetSurface : public AcGeSurface
  32. {
  33. public:
  34. AcGeOffsetSurface();
  35. AcGeOffsetSurface(AcGeSurface* baseSurface,
  36. double offsetDist,
  37. Adesk::Boolean makeCopy = Adesk::kTrue);
  38. AcGeOffsetSurface(const AcGeOffsetSurface& offset);
  39. // Test whether this offset surface can be converted to a simple surface
  40. //
  41. Adesk::Boolean isPlane () const;
  42. Adesk::Boolean isBoundedPlane () const;
  43. Adesk::Boolean isSphere () const;
  44. Adesk::Boolean isCylinder () const;
  45. Adesk::Boolean isCone () const;
  46. Adesk::Boolean isTorus () const;
  47. // Convert this offset surface to a simple surface
  48. //
  49. Adesk::Boolean getSurface(AcGeSurface*&) const;
  50. // Get a copy of the construction surface.
  51. //
  52. void getConstructionSurface (AcGeSurface*& base) const;
  53. double offsetDist () const;
  54. // Reset surface
  55. //
  56. AcGeOffsetSurface& set (AcGeSurface*, double offsetDist,
  57. Adesk::Boolean makeCopy = Adesk::kTrue);
  58. // Assignment operator.
  59. //
  60. AcGeOffsetSurface& operator = (const AcGeOffsetSurface& offset);
  61. };
  62. #pragma pack (pop)
  63. #endif