#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 ¶ms) const |
void | MakePocketToolpath (std::list< CCurve > &toolpath, const CAreaPocketParams ¶ms) 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 ¶ms) 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< CCurve > | m_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 |
void CArea::append | ( | const CCurve & | curve | ) |
Referenced by Path::Area::addWire(), CCurve::CurveIntersections(), CCurve::Offset(), and ThickLine::ThickLine().
void CArea::ChangeStartToNearest | ( | const Point * | pstart = NULL , |
double | min_dist = 1.0 |
||
) |
void CArea::Clip | ( | ClipperLib::ClipType | op, |
const CArea * | a, | ||
ClipperLib::PolyFillType | subjFillType = ClipperLib::pftEvenOdd , |
||
ClipperLib::PolyFillType | clipFillType = ClipperLib::pftEvenOdd |
||
) |
References CCurve::GetSpans(), and SpanIntersections().
Referenced by InsideCurves().
void CArea::FitArcs | ( | ) |
References CCurve::FitArcs(), and m_curves.
Referenced by Path::Area::toShape().
double CArea::GetArea | ( | bool | always_add = false | ) | const |
References CCurve::GetArea(), and m_curves.
Referenced by MakeOnePocketCurve().
void CArea::GetBox | ( | CBox2D & | box | ) |
References CCurve::GetBox(), and m_curves.
References CurveIntersections(), CCurve::ExtractSeparateCurves(), CCurve::Perim(), and CCurve::PerimToPoint().
void CArea::Intersect | ( | const CArea & | a2 | ) |
void CArea::MakeOnePocketCurve | ( | std::list< CCurve > & | curve_list, |
const CAreaPocketParams & | params | ||
) | const |
References GetArea(), GetCurveItem::GetCurve(), CurveTree::inners, m_after_MakeOffsets_length, m_curves, m_MakeOffsets_increment, m_please_abort, m_processing_done, m_single_area_processing_length, CCurve::m_vertices, CurveTree::MakeOffsets(), Offset(), CurveTree::offset_islands, and GetCurveItem::to_do_list.
void CArea::MakePocketToolpath | ( | std::list< CCurve > & | toolpath, |
const CAreaPocketParams & | params | ||
) | const |
References m_curves, m_please_abort, m_processing_done, m_single_area_processing_length, Offset(), and Split().
Referenced by SplitAndMakePocketToolpath().
void CArea::move | ( | CCurve && | curve | ) |
References m_curves, and draftfunctions.move::move().
Referenced by draftguitools.gui_circulararray.CircularArray::Activated(), draftguitools.gui_polararray.PolarArray::Activated(), and Path::Area::addWire().
References Point::dist(), DraftVecUtils::dist(), m_curves, and CCurve::NearestPoint().
void CArea::Offset | ( | double | inwards_value | ) |
References m_units, and Reorder().
Referenced by MakeOnePocketCurve(), and MakePocketToolpath().
void CArea::OffsetWithClipper | ( | double | offset, |
ClipperLib::JoinType | joinType = ClipperLib::jtRound , |
||
ClipperLib::EndType | endType = ClipperLib::etOpenRound , |
||
double | miterLimit = 5.0 , |
||
double | roundPrecision = 0.0 |
||
) |
void CArea::PopulateClipper | ( | ClipperLib::Clipper & | c, |
ClipperLib::PolyType | type | ||
) | const |
References CCurve::IsClosed(), m_curves, and ClipperLib::ptClip.
Referenced by Clip().
void CArea::Reorder | ( | ) |
References CAreaOrderer::Insert(), m_curves, m_processing_done, m_set_processing_length_in_split, m_split_processing_length, and CAreaOrderer::m_top_level.
Referenced by Path::Area::addShape(), Offset(), OffsetWithClipper(), Split(), and Thicken().
References m_curves, and CCurve::SpanIntersections().
Referenced by CurveIntersections().
void CArea::Split | ( | std::list< CArea > & | m_areas | ) | const |
References HolesLinked(), CCurve::IsClockwise(), m_curves, m_please_abort, and Reorder().
Referenced by MakePocketToolpath(), and SplitAndMakePocketToolpath().
void CArea::SplitAndMakePocketToolpath | ( | std::list< CCurve > & | toolpath, |
const CAreaPocketParams & | params | ||
) | const |
void CArea::Subtract | ( | const CArea & | a2 | ) |
void CArea::Thicken | ( | double | value | ) |
References m_units, and Reorder().
Referenced by ThickLine::ThickLine().
void CArea::Union | ( | const CArea & | a2 | ) |
void CArea::Xor | ( | const CArea & | a2 | ) |
|
static |
Referenced by CCurve::CheckForArc(), OffsetWithClipper(), and CCurve::UnFitArcs().
|
static |
Referenced by MakeOnePocketCurve().
|
static |
|
static |
Referenced by DoubleAreaPoint::DoubleAreaPoint(), DoubleAreaPoint::int_point(), and OffsetWithClipper().
|
static |
Referenced by Clip(), Intersect(), Subtract(), Union(), UniteCurves(), and Xor().
std::list<CCurve> CArea::m_curves |
Referenced by Path::Area::addShape(), Path::Area::addToBuild(), Path::Area::build(), ChangeStartToNearest(), FitArcs(), GetArea(), CInnerCurves::GetArea(), GetBox(), MakeOnePocketCurve(), MakePocketToolpath(), move(), NearestPoint(), num_curves(), OffsetWithClipper(), AreaDxfRead::OnReadArc(), AreaDxfRead::OnReadLine(), PopulateClipper(), Reorder(), SpanIntersections(), and Split().
|
static |
|
static |
Referenced by MakeOnePocketCurve().
|
static |
|
static |
Referenced by OffsetWithClipper().
|
static |
Referenced by GetCurveItem::GetCurve(), MakeOnePocketCurve(), MakePocketToolpath(), and Split().
|
static |
Referenced by MakeOnePocketCurve(), MakePocketToolpath(), Reorder(), and SplitAndMakePocketToolpath().
|
static |
Referenced by Reorder(), and SplitAndMakePocketToolpath().
|
static |
Referenced by MakeOnePocketCurve(), MakePocketToolpath(), and SplitAndMakePocketToolpath().
|
static |
Referenced by Reorder(), and SplitAndMakePocketToolpath().
|
static |