InflatePaths

Delphifunction InflatePaths(const paths: TPaths64; delta: Double;
 jt: TJoinType; et: TEndType; MiterLimit: double): TPaths64;

Delphifunction InflatePaths(const paths: TPathsD; delta: Double;
 jt: TJoinType; et: TEndType; miterLimit: double; precision: integer): TPathsD;


C++Paths64 InflatePaths(const Paths64& paths, double delta,
 JoinType join_type, EndType end_type,
 double miter_limit = 2.0, double arc_tolerance = 0.0);

C++PathsD InflatePaths(const PathsD& paths, double delta,
 JoinType join_type, EndType end_type, double miter_limit = 2.0,
 int precision = 2, double arc_tolerance = 0.0);


C# public static Paths64 InflatePaths(Paths64 paths, double delta,
 JoinType joinType, EndType endType,
 double miterLimit, double arcTolerance = 0.0);

C# public static PathsD InflatePaths(PathsD paths, double delta,
 JoinType joinType, EndType endType,
 double miterLimit, int precision = 2, double arcTolerance = 0.0);


These functions encapsulate most of the features of ClipperOffset, the class that performs both polygon and open path offsetting. (And it's important to understand the notes pertaining to offsetting too.)

Parameter Explanation
paths A Paths64 or PathsD object that is to undergo offsetting.
delta The amount paths are to be offset.
joinType See JoinType.
endType See EndType.
miterLimit See ClipperOffset.MiterLimit.
precision The number of decimal places of precision to consider when paths is type PathsD. (Maximum is 8 decimal places)
arcTolerance See ClipperOffset.ArcTolerance.


#include "clipper2/clipper.h"  
...
using namespace Clipper2Lib;

int main()
{
  PathsD polyline, solution;
  polyline.push_back(MakePathD({100,100, 1500,100, 100,1500, 1500,1500}));
  // offset polyline
  solution = InflatePaths(polyline, 200, JoinType::Miter, EndType::Square);

  //draw polyline and inflated solution
}
      


#include "clipper2/clipper.h"  
...
using namespace Clipper2Lib;

int main()
{
  PathsD polygon, solution; 
  // add outer polygon contour
  polygon.push_back(Ellipse(RectD(100, 100, 1500, 1500)));
  // add inner "hole" contour
  PathD p = Ellipse(RectD(400, 400, 1200, 1200));
  std::reverse(p.begin(), p.end());
  polygon.push_back(p);

  // offset polygon
  solution = InflatePaths(polygon, 100, JoinType::Round, EndType::Polygon);
  
  //draw polygon and inflated solution
}
      

See Also

ClipperOffset, ClipperOffset.ArcTolerance, ClipperOffset.MiterLimit, EndType, JoinType, Paths64, PathsD