Clipper.xsp 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. %module{Slic3r::XS};
  2. %{
  3. #include <xsinit.h>
  4. #include "libslic3r/ClipperUtils.hpp"
  5. %}
  6. %package{Slic3r::Geometry::Clipper};
  7. %{
  8. IV
  9. _constant()
  10. ALIAS:
  11. JT_MITER = jtMiter
  12. JT_ROUND = jtRound
  13. JT_SQUARE = jtSquare
  14. CODE:
  15. RETVAL = ix;
  16. OUTPUT: RETVAL
  17. Polygons
  18. offset(polygons, delta, joinType = Slic3r::ClipperLib::jtMiter, miterLimit = 3)
  19. Polygons polygons
  20. const float delta
  21. Slic3r::ClipperLib::JoinType joinType
  22. double miterLimit
  23. CODE:
  24. RETVAL = offset(polygons, delta, joinType, miterLimit);
  25. OUTPUT:
  26. RETVAL
  27. ExPolygons
  28. offset_ex(polygons, delta, joinType = Slic3r::ClipperLib::jtMiter, miterLimit = 3)
  29. Polygons polygons
  30. const float delta
  31. Slic3r::ClipperLib::JoinType joinType
  32. double miterLimit
  33. CODE:
  34. RETVAL = offset_ex(polygons, delta, joinType, miterLimit);
  35. OUTPUT:
  36. RETVAL
  37. Polygons
  38. offset2(polygons, delta1, delta2, joinType = Slic3r::ClipperLib::jtMiter, miterLimit = 3)
  39. Polygons polygons
  40. const float delta1
  41. const float delta2
  42. Slic3r::ClipperLib::JoinType joinType
  43. double miterLimit
  44. CODE:
  45. RETVAL = offset2(polygons, delta1, delta2, joinType, miterLimit);
  46. OUTPUT:
  47. RETVAL
  48. ExPolygons
  49. offset2_ex(polygons, delta1, delta2, joinType = Slic3r::ClipperLib::jtMiter, miterLimit = 3)
  50. Polygons polygons
  51. const float delta1
  52. const float delta2
  53. Slic3r::ClipperLib::JoinType joinType
  54. double miterLimit
  55. CODE:
  56. RETVAL = offset2_ex(polygons, delta1, delta2, joinType, miterLimit);
  57. OUTPUT:
  58. RETVAL
  59. Polygons
  60. diff(subject, clip, safety_offset = false)
  61. Polygons subject
  62. Polygons clip
  63. bool safety_offset
  64. CODE:
  65. RETVAL = diff(subject, clip, safety_offset);
  66. OUTPUT:
  67. RETVAL
  68. ExPolygons
  69. diff_ex(subject, clip, safety_offset = false)
  70. Polygons subject
  71. Polygons clip
  72. bool safety_offset
  73. CODE:
  74. RETVAL = diff_ex(subject, clip, safety_offset);
  75. OUTPUT:
  76. RETVAL
  77. Polylines
  78. diff_pl(subject, clip)
  79. Polylines subject
  80. Polygons clip
  81. CODE:
  82. RETVAL = diff_pl(subject, clip);
  83. OUTPUT:
  84. RETVAL
  85. Polygons
  86. intersection(subject, clip, safety_offset = false)
  87. Polygons subject
  88. Polygons clip
  89. bool safety_offset
  90. CODE:
  91. RETVAL = intersection(subject, clip, safety_offset);
  92. OUTPUT:
  93. RETVAL
  94. ExPolygons
  95. intersection_ex(subject, clip, safety_offset = false)
  96. Polygons subject
  97. Polygons clip
  98. bool safety_offset
  99. CODE:
  100. RETVAL = intersection_ex(subject, clip, safety_offset);
  101. OUTPUT:
  102. RETVAL
  103. Polylines
  104. intersection_pl(subject, clip)
  105. Polylines subject
  106. Polygons clip
  107. CODE:
  108. RETVAL = intersection_pl(subject, clip);
  109. OUTPUT:
  110. RETVAL
  111. Polygons
  112. union(subject, safety_offset = false)
  113. Polygons subject
  114. bool safety_offset
  115. CODE:
  116. RETVAL = union_(subject, safety_offset);
  117. OUTPUT:
  118. RETVAL
  119. ExPolygons
  120. union_ex(subject, safety_offset = false)
  121. Polygons subject
  122. bool safety_offset
  123. CODE:
  124. RETVAL = union_ex(subject, safety_offset);
  125. OUTPUT:
  126. RETVAL
  127. %}