geextsf.h 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  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 implements the class AcGeExternalSurface, a
  14. // representation for a surface that has its definition external
  15. // to gelib.
  16. //
  17. #ifndef AC_GEEXTSF_H
  18. #define AC_GEEXTSF_H
  19. #include "gegbl.h"
  20. #include "gesurf.h"
  21. #pragma pack (push, 8)
  22. class AcGePlane;
  23. class AcGeCylinder;
  24. class AcGeCone;
  25. class AcGeSphere;
  26. class AcGeTorus;
  27. class AcGeNurbSurface;
  28. class surface;
  29. class
  30. GX_DLLEXPIMPORT
  31. AcGeExternalSurface : public AcGeSurface
  32. {
  33. public:
  34. AcGeExternalSurface();
  35. AcGeExternalSurface(void* surfaceDef, AcGe::ExternalEntityKind surfaceKind,
  36. Adesk::Boolean makeCopy = Adesk::kTrue);
  37. AcGeExternalSurface(const AcGeExternalSurface&);
  38. // Defining surface.
  39. //
  40. void getExternalSurface(void*& surfaceDef) const;
  41. // Type of the external surface.
  42. //
  43. AcGe::ExternalEntityKind externalSurfaceKind() const;
  44. Adesk::Boolean isPlane () const;
  45. Adesk::Boolean isSphere () const;
  46. Adesk::Boolean isCylinder () const;
  47. Adesk::Boolean isCone () const;
  48. Adesk::Boolean isTorus () const;
  49. Adesk::Boolean isNurbSurface() const;
  50. Adesk::Boolean isDefined () const;
  51. // Conversion to gelib entity
  52. //
  53. Adesk::Boolean isNativeSurface(AcGeSurface*& nativeSurface) const;
  54. // Assignment operator.
  55. //
  56. AcGeExternalSurface& operator = (const AcGeExternalSurface& src);
  57. // Reset surface
  58. //
  59. AcGeExternalSurface& set(void* surfaceDef,
  60. AcGe::ExternalEntityKind surfaceKind,
  61. Adesk::Boolean makeCopy = Adesk::kTrue);
  62. // Ownership of surface.
  63. //
  64. Adesk::Boolean isOwnerOfSurface () const;
  65. AcGeExternalSurface& setToOwnSurface ();
  66. };
  67. #pragma pack (pop)
  68. #endif