AcDbAssocRevolvedSurfaceActionBody.h 4.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  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. // CREATED BY: Pei Zhan May 2009
  12. //
  13. //////////////////////////////////////////////////////////////////////////////
  14. #pragma once
  15. #include "AcDbAssocPathBasedSurfaceActionBody.h"
  16. #pragma pack (push, 8)
  17. /// <summary>
  18. /// Action that sets the contents of AcDbRevolvedSurface entity based on the
  19. /// input data of the action. With this action, if the original input data is
  20. /// changed, the revolved surface will regenerate.
  21. /// </summary>
  22. ///
  23. class ACDB_PORT AcDbAssocRevolvedSurfaceActionBody : public AcDbAssocPathBasedSurfaceActionBody
  24. {
  25. public:
  26. ACRX_DECLARE_MEMBERS(AcDbAssocRevolvedSurfaceActionBody);
  27. /// <summary> Default constructor. </summary>
  28. /// <param name="createImpObject"> See AcDbAssocCreateImpObject explanation. </param>
  29. ///
  30. explicit AcDbAssocRevolvedSurfaceActionBody(AcDbAssocCreateImpObject createImpObject = kAcDbAssocCreateImpObject);
  31. /// <summary><para>
  32. /// Set revolve angle of the resulting revolved surface
  33. /// </para><para>
  34. /// the same parameter can be set through class AcDbAssocAction by calling method
  35. /// setValueParam with name "kRevolveAngleParamName".
  36. /// </para></summary>
  37. /// <param name="angle"> New value of the revolve angle. </param>
  38. /// <param name="expression"> Expression of the parameter, if the value is controlled by other parameters</param>
  39. /// <param name="evaluatorId"> The id of the expression evaluator that is used to parse the expression, if an expression is used. </param>
  40. /// <returns> Acad::ErrorStatus. </returns>
  41. ///
  42. Acad::ErrorStatus setRevolveAngle(double angle, const AcString& expression = AcString(),
  43. const AcString& evaluatorId = AcString());
  44. /// <summary><para>
  45. /// Get revolve angle of the resulting revolved surface
  46. /// </para><para>
  47. /// the same parameter can be accessed through class AcDbAssocAction by calling method
  48. /// getValueParam with name "kRevolveAngleParamName".
  49. /// </para></summary>
  50. /// <param name="expression"> Expression of the parameter, empty string if no expression is being used. </param>
  51. /// <param name="evaluatorId"> The id of the expression evaluator that is used to parse the expression, empty string if no expression is being used </param>
  52. /// <returns> Revolve angle. </returns>
  53. ///
  54. double revolveAngle(AcString& expression = dummyString(), AcString& evaluatorId = dummyString()) const;
  55. /// <summary>
  56. /// Create an instance of AcDbAssocRevolvedSurfaceActionBody
  57. /// </summary>
  58. /// <param name="resultingSurfaceId"> Object id of resulting revolved surface. </param>
  59. /// <param name="revolvePath"> Input profile that is to be revolved to create the resulting surface. </param>
  60. /// <param name="axisPath"> Input profile that is to be revolved around to create the resulting surface, if the axis is not an entity but a vector, pass AcDbPathRef(NULL). </param>
  61. /// <param name="dAngle"> Revolve angle that used to create the resulting revolved surface. </param>
  62. /// <param name="dStartAngle"> Start angle that used to create the resulting revolved surface. </param>
  63. /// <param name="revolveOptions"> Revolve option that used to create the resulting revolved surface. </param>
  64. /// <param name="bFlipAxisDirection"> When a linear entity is used as axis, the vector is calculated as (endpoint - startpoint), set this option if the vector should be reversed. </param>
  65. /// <param name="bEnabled"> Specify if the action is fully associative. </param>
  66. /// <param name="createdActionId"> Id of created action. </param>
  67. /// <returns> Acad::ErrorStatus. </returns>
  68. ///
  69. static Acad::ErrorStatus createInstance( const AcDbObjectId& resultingSurfaceId,
  70. const AcDbPathRef& revolvePath,
  71. const AcDbPathRef& axisPath,
  72. double dAngle,
  73. double dStartAngle,
  74. const AcDbRevolveOptions& revolveOptions,
  75. bool bFlipAxisDirection,
  76. bool bEnabled,
  77. AcDbObjectId& createdActionId);
  78. }; // class AcDbAssocRevolvedSurfaceActionBody
  79. #pragma pack (pop)