#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 | |
Member Function Documentation
◆ append()
void CArea::append | ( | const CCurve & | curve | ) |
Referenced by Path::Area::addWire(), CCurve::CurveIntersections(), CCurve::Offset(), and ThickLine::ThickLine().
◆ ChangeStartToNearest()
void CArea::ChangeStartToNearest | ( | const Point * | pstart = NULL , |
double | min_dist = 1.0 |
||
) |
◆ Clip()
void CArea::Clip | ( | ClipperLib::ClipType | op, |
const CArea * | a, | ||
ClipperLib::PolyFillType | subjFillType = ClipperLib::pftEvenOdd , |
||
ClipperLib::PolyFillType | clipFillType = ClipperLib::pftEvenOdd |
||
) |
◆ CurveIntersections()
References CCurve::GetSpans(), and SpanIntersections().
Referenced by InsideCurves().
◆ FitArcs()
void CArea::FitArcs | ( | ) |
References CCurve::FitArcs(), and m_curves.
◆ 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()
◆ InsideCurves()
References CurveIntersections(), CCurve::ExtractSeparateCurves(), CCurve::Perim(), and CCurve::PerimToPoint().
◆ Intersect()
void CArea::Intersect | ( | const CArea & | a2 | ) |
◆ MakeOnePocketCurve()
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.
◆ MakePocketToolpath()
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().
◆ move()
void CArea::move | ( | CCurve && | curve | ) |
References m_curves.
Referenced by Path::Area::addWire().
◆ NearestPoint()
References Point::dist(), DraftVecUtils::dist(), m_curves, and CCurve::NearestPoint().
◆ num_curves()
unsigned int CArea::num_curves | ( | ) |
References m_curves.
◆ Offset()
void CArea::Offset | ( | double | inwards_value | ) |
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(), and ClipperLib::ptClip.
◆ Reorder()
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(), and Split().
◆ SpanIntersections()
References m_curves, and CCurve::SpanIntersections().
Referenced by CurveIntersections().
◆ Split()
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().
◆ SplitAndMakePocketToolpath()
void CArea::SplitAndMakePocketToolpath | ( | std::list< CCurve > & | toolpath, |
const CAreaPocketParams & | params | ||
) | const |
◆ Subtract()
void CArea::Subtract | ( | const CArea & | a2 | ) |
◆ Thicken()
void CArea::Thicken | ( | double | value | ) |
Referenced by Path::Area::getShape(), and ThickLine::ThickLine().
◆ Union()
void CArea::Union | ( | const CArea & | a2 | ) |
◆ UniteCurves()
◆ Xor()
void CArea::Xor | ( | const CArea & | a2 | ) |
Member Data Documentation
◆ m_accuracy
|
static |
Referenced by CCurve::CheckForArc(), and CCurve::UnFitArcs().
◆ m_after_MakeOffsets_length
|
static |
Referenced by MakeOnePocketCurve().
◆ m_clipper_clean_distance
|
static |
◆ m_clipper_scale
|
static |
Referenced by DoubleAreaPoint::DoubleAreaPoint(), and DoubleAreaPoint::int_point().
◆ m_clipper_simple
|
static |
Referenced by Clip(), Intersect(), Subtract(), Union(), UniteCurves(), and Xor().
◆ m_curves
std::list<CCurve> CArea::m_curves |
Referenced by Path::Area::addShape(), Path::Area::addToBuild(), Path::Area::build(), ChangeStartToNearest(), FitArcs(), CInnerCurves::GetArea(), GetArea(), GetBox(), MakeOnePocketCurve(), MakePocketToolpath(), move(), NearestPoint(), num_curves(), AreaDxfRead::OnReadArc(), AreaDxfRead::OnReadLine(), Reorder(), SpanIntersections(), Split(), and CInnerCurves::Unite().
◆ m_fit_arcs
|
static |
◆ m_MakeOffsets_increment
|
static |
Referenced by MakeOnePocketCurve().
◆ m_max_arc_points
|
static |
◆ m_min_arc_points
|
static |
Referenced by OffsetWithClipper().
◆ m_please_abort
|
static |
Referenced by GetCurveItem::GetCurve(), MakeOnePocketCurve(), MakePocketToolpath(), and Split().
◆ m_processing_done
|
static |
Referenced by MakeOnePocketCurve(), MakePocketToolpath(), Reorder(), and SplitAndMakePocketToolpath().
◆ m_set_processing_length_in_split
|
static |
Referenced by Reorder(), and SplitAndMakePocketToolpath().
◆ m_single_area_processing_length
|
static |
Referenced by MakeOnePocketCurve(), MakePocketToolpath(), and SplitAndMakePocketToolpath().
◆ m_split_processing_length
|
static |
Referenced by Reorder(), and SplitAndMakePocketToolpath().
◆ m_units
|
static |
Referenced by CCurve::CheckForArc(), GetCurveItem::GetCurve(), SplitAndMakePocketToolpath(), and CCurve::UnFitArcs().
The documentation for this class was generated from the following files:
- src/Mod/Path/libarea/Area.h
- src/Mod/Path/libarea/Area.cpp
- src/Mod/Path/libarea/AreaClipper.cpp
- src/Mod/Path/libarea/AreaPocket.cpp