gexbndsf.h 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  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 files implements the AcGeExternalBoundedSurface class,
  15. // which is a representation of the geometry associated with a
  16. // face entity.
  17. //
  18. #ifndef AC_GEXBNDSF_H
  19. #define AC_GEXBNDSF_H
  20. #include "gegbl.h"
  21. #include "gesurf.h"
  22. #pragma pack (push, 8)
  23. class AcGeExternalSurface;
  24. class AcGeCurveBoundary;
  25. class
  26. GX_DLLEXPIMPORT
  27. AcGeExternalBoundedSurface : public AcGeSurface
  28. {
  29. public:
  30. AcGeExternalBoundedSurface();
  31. AcGeExternalBoundedSurface(void* surfaceDef, AcGe::ExternalEntityKind surfaceKind,
  32. Adesk::Boolean makeCopy = Adesk::kTrue);
  33. AcGeExternalBoundedSurface(const AcGeExternalBoundedSurface&);
  34. // Surface data.
  35. //
  36. AcGe::ExternalEntityKind externalSurfaceKind () const;
  37. Adesk::Boolean isDefined () const;
  38. void getExternalSurface (void*& surfaceDef) const;
  39. // Access to unbounded surface.
  40. //
  41. void getBaseSurface (AcGeSurface*& surfaceDef) const;
  42. void getBaseSurface (AcGeExternalSurface& unboundedSurfaceDef) const;
  43. // Type queries on the unbounded base surface.
  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 isNurbs() const;
  50. Adesk::Boolean isExternalSurface() const;
  51. // Access to the boundary data.
  52. //
  53. int numContours () const;
  54. void getContours (int& numContours, AcGeCurveBoundary*& curveBoundaries) const;
  55. // Set methods
  56. //
  57. AcGeExternalBoundedSurface& set (void* surfaceDef,
  58. AcGe::ExternalEntityKind surfaceKind,
  59. Adesk::Boolean makeCopy = Adesk::kTrue);
  60. // Assignment operator.
  61. //
  62. AcGeExternalBoundedSurface& operator = (const AcGeExternalBoundedSurface&);
  63. // Surface ownership.
  64. //
  65. Adesk::Boolean isOwnerOfSurface() const;
  66. AcGeExternalBoundedSurface& setToOwnSurface();
  67. };
  68. #pragma pack (pop)
  69. #endif