gebndpln.h 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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 the class AcGeBoundedPlane - A mathematical entity
  14. // used to represent a 4-side bounded plane in 3-space.
  15. #ifndef AC_GEBNDPLN_H
  16. #define AC_GEBNDPLN_H
  17. #include "geplanar.h"
  18. #include "geplane.h"
  19. #pragma pack (push, 8)
  20. class AcGePlane;
  21. class AcGeVector3d;
  22. class AcGePoint3d;
  23. class AcGePoint2d;
  24. class AcGeLineSeg3d;
  25. class
  26. GE_DLLEXPIMPORT
  27. AcGeBoundedPlane : public AcGePlanarEnt
  28. {
  29. public:
  30. AcGeBoundedPlane();
  31. AcGeBoundedPlane(const AcGeBoundedPlane& plane);
  32. AcGeBoundedPlane(const AcGePoint3d& origin, const AcGeVector3d& uVec,
  33. const AcGeVector3d& vVec);
  34. AcGeBoundedPlane(const AcGePoint3d& p1, const AcGePoint3d& origin,
  35. const AcGePoint3d& p2);
  36. // Intersection.
  37. //
  38. Adesk::Boolean intersectWith (const AcGeLinearEnt3d& linEnt, AcGePoint3d& point,
  39. const AcGeTol& tol = AcGeContext::gTol) const;
  40. Adesk::Boolean intersectWith (const AcGePlane& plane, AcGeLineSeg3d& results,
  41. const AcGeTol& tol = AcGeContext::gTol) const;
  42. Adesk::Boolean intersectWith (const AcGeBoundedPlane& plane, AcGeLineSeg3d& result,
  43. const AcGeTol& tol = AcGeContext::gTol) const;
  44. // Set methods.
  45. //
  46. AcGeBoundedPlane& set (const AcGePoint3d& origin,
  47. const AcGeVector3d& uVec,
  48. const AcGeVector3d& vVec);
  49. AcGeBoundedPlane& set (const AcGePoint3d& p1,
  50. const AcGePoint3d& origin,
  51. const AcGePoint3d& p2);
  52. // Assignment operator.
  53. //
  54. AcGeBoundedPlane& operator = (const AcGeBoundedPlane& bplane);
  55. };
  56. #pragma pack (pop)
  57. #endif