CArea Class Reference

#include <Area.h>

Public Member Functions

void append (const CCurve &curve)
 
void ChangeStartToNearest (const Point *pstart=NULL, double min_dist=1.0)
 
void Clip (ClipperLib::ClipType op, const CArea *a, ClipperLib::PolyFillType subjFillType=ClipperLib::pftEvenOdd, ClipperLib::PolyFillType clipFillType=ClipperLib::pftEvenOdd)
 
void CurveIntersections (const CCurve &curve, std::list< Point > &pts) const
 
void FitArcs ()
 
double GetArea (bool always_add=false) const
 
void GetBox (CBox2D &box)
 
void InsideCurves (const CCurve &curve, std::list< CCurve > &curves_inside) const
 
void Intersect (const CArea &a2)
 
void MakeOnePocketCurve (std::list< CCurve > &curve_list, const CAreaPocketParams &params) const
 
void MakePocketToolpath (std::list< CCurve > &toolpath, const CAreaPocketParams &params) const
 
void move (CCurve &&curve)
 
Point NearestPoint (const Point &p) const
 
unsigned int num_curves ()
 
void Offset (double inwards_value)
 
void OffsetWithClipper (double offset, ClipperLib::JoinType joinType=ClipperLib::jtRound, ClipperLib::EndType endType=ClipperLib::etOpenRound, double miterLimit=5.0, double roundPrecision=0.0)
 
void PopulateClipper (ClipperLib::Clipper &c, ClipperLib::PolyType type) const
 
void Reorder ()
 
void SpanIntersections (const Span &span, std::list< Point > &pts) const
 
void Split (std::list< CArea > &m_areas) const
 
void SplitAndMakePocketToolpath (std::list< CCurve > &toolpath, const CAreaPocketParams &params) const
 
void Subtract (const CArea &a2)
 
void Thicken (double value)
 
void Union (const CArea &a2)
 
void Xor (const CArea &a2)
 

Static Public Member Functions

static bool HolesLinked ()
 
static CArea UniteCurves (std::list< CCurve > &curves)
 

Public Attributes

std::list< CCurvem_curves
 

Static Public Attributes

static double m_accuracy = 0.01
 
static double m_after_MakeOffsets_length = 0.0
 
static double m_clipper_clean_distance = 0.0
 
static double m_clipper_scale = 10000.0
 
static bool m_clipper_simple = false
 
static bool m_fit_arcs = true
 
static double m_MakeOffsets_increment = 0.0
 
static int m_max_arc_points = 100
 
static int m_min_arc_points = 4
 
static bool m_please_abort = false
 
static double m_processing_done = 0.0
 
static bool m_set_processing_length_in_split = false
 
static double m_single_area_processing_length = 0.0
 
static double m_split_processing_length = 0.0
 
static double m_units = 1.0
 

Member Function Documentation

◆ append()

void CArea::append ( const CCurve curve)

◆ ChangeStartToNearest()

void CArea::ChangeStartToNearest ( const Point pstart = NULL,
double  min_dist = 1.0 
)

◆ Clip()

◆ CurveIntersections()

void CArea::CurveIntersections ( const CCurve curve,
std::list< Point > &  pts 
) const

References CCurve::GetSpans(), and SpanIntersections().

Referenced by InsideCurves().

◆ FitArcs()

void CArea::FitArcs ( )

References CCurve::FitArcs(), and m_curves.

Referenced by Path::Area::toShape().

◆ GetArea()

double CArea::GetArea ( bool  always_add = false) const

References CCurve::GetArea(), and m_curves.

Referenced by MakeOnePocketCurve().

◆ GetBox()

void CArea::GetBox ( CBox2D box)

References CCurve::GetBox(), and m_curves.

◆ HolesLinked()

bool CArea::HolesLinked ( )
static

Referenced by Split().

◆ InsideCurves()

void CArea::InsideCurves ( const CCurve curve,
std::list< CCurve > &  curves_inside 
) const

◆ Intersect()

◆ MakeOnePocketCurve()

◆ MakePocketToolpath()

void CArea::MakePocketToolpath ( std::list< CCurve > &  toolpath,
const CAreaPocketParams params 
) const

◆ move()

◆ NearestPoint()

Point CArea::NearestPoint ( const Point p) const

◆ num_curves()

unsigned int CArea::num_curves ( )

References m_curves.

◆ Offset()

void CArea::Offset ( double  inwards_value)

References m_units, and Reorder().

Referenced by MakeOnePocketCurve(), and MakePocketToolpath().

◆ OffsetWithClipper()

void CArea::OffsetWithClipper ( double  offset,
ClipperLib::JoinType  joinType = ClipperLib::jtRound,
ClipperLib::EndType  endType = ClipperLib::etOpenRound,
double  miterLimit = 5.0,
double  roundPrecision = 0.0 
)

◆ PopulateClipper()

void CArea::PopulateClipper ( ClipperLib::Clipper c,
ClipperLib::PolyType  type 
) const

References CCurve::IsClosed(), m_curves, and ClipperLib::ptClip.

Referenced by Clip().

◆ Reorder()

◆ SpanIntersections()

void CArea::SpanIntersections ( const Span span,
std::list< Point > &  pts 
) const

◆ Split()

void CArea::Split ( std::list< CArea > &  m_areas) const

◆ SplitAndMakePocketToolpath()

void CArea::SplitAndMakePocketToolpath ( std::list< CCurve > &  toolpath,
const CAreaPocketParams params 
) const

◆ Subtract()

◆ Thicken()

void CArea::Thicken ( double  value)

References m_units, and Reorder().

Referenced by ThickLine::ThickLine().

◆ Union()

◆ UniteCurves()

◆ Xor()

Member Data Documentation

◆ m_accuracy

double CArea::m_accuracy = 0.01
static

◆ m_after_MakeOffsets_length

double CArea::m_after_MakeOffsets_length = 0.0
static

Referenced by MakeOnePocketCurve().

◆ m_clipper_clean_distance

double CArea::m_clipper_clean_distance = 0.0
static

◆ m_clipper_scale

double CArea::m_clipper_scale = 10000.0
static

◆ m_clipper_simple

bool CArea::m_clipper_simple = false
static

◆ m_curves

◆ m_fit_arcs

bool CArea::m_fit_arcs = true
static

◆ m_MakeOffsets_increment

double CArea::m_MakeOffsets_increment = 0.0
static

Referenced by MakeOnePocketCurve().

◆ m_max_arc_points

int CArea::m_max_arc_points = 100
static

◆ m_min_arc_points

int CArea::m_min_arc_points = 4
static

Referenced by OffsetWithClipper().

◆ m_please_abort

bool CArea::m_please_abort = false
static

◆ m_processing_done

double CArea::m_processing_done = 0.0
static

◆ m_set_processing_length_in_split

bool CArea::m_set_processing_length_in_split = false
static

◆ m_single_area_processing_length

double CArea::m_single_area_processing_length = 0.0
static

◆ m_split_processing_length

double CArea::m_split_processing_length = 0.0
static

◆ m_units


The documentation for this class was generated from the following files: