Classes | |
class | Adaptive2d |
struct | AdaptiveOutput |
class | BoundBox |
class | ClearedArea |
class | EngagePoint |
class | Interpolation |
class | PerfCounter |
Typedefs | |
typedef std::vector< DPoint > | DPath |
typedef std::vector< DPath > | DPaths |
typedef std::pair< double, double > | DPoint |
typedef std::pair< int, DPath > | TPath |
typedef std::vector< TPath > | TPaths |
Enumerations | |
enum | MotionType { mtCutting = 0 , mtLinkClear = 1 , mtLinkNotClear = 2 , mtLinkClearAtPrevPass = 3 } |
enum | OperationType { otClearingInside = 0 , otClearingOutside = 1 , otProfilingInside = 2 , otProfilingOutside = 3 } |
Functions | |
double | Angle3Points (const DoublePoint &p1, const DoublePoint &p2, const DoublePoint &p3) |
void | appendDirectChildPaths (Paths &outPaths, const Path &path, const Paths &paths) |
void | AverageDirection (const vector< DoublePoint > &unityVectors, DoublePoint &output) |
double | averageDV (const vector< double > &vec) |
bool | Circle2CircleIntersect (const IntPoint &c1, const IntPoint &c2, double radius, pair< DoublePoint, DoublePoint > &intersections) |
void | CleanPath (const Path &inp, Path &outpt, double tolerance) |
IntPoint | Compute2DPolygonCentroid (const Path &vertices) |
void | ConnectPaths (Paths input, Paths &output) |
void | DeduplicatePaths (const Paths &inputs, Paths &outputs) |
DoublePoint | DirectionV (const IntPoint &pt1, const IntPoint &pt2) |
double | DistancePointToLineSegSquared (const IntPoint &p1, const IntPoint &p2, const IntPoint &pt, IntPoint &closestPoint, double &ptParameter, bool clamp=true) |
double | DistancePointToPathsSqrd (const Paths &paths, const IntPoint &pt, IntPoint &closestPointOnPath, size_t &clpPathIndex, size_t &clpSegmentIndex, double &clpParameter) |
double | DistanceSqrd (const IntPoint &pt1, const IntPoint &pt2) |
DoublePoint | GetPathDirectionV (const Path &pth, size_t pointIndex) |
int | getPathNestingLevel (const Path &path, const Paths &paths) |
bool | HasAnyPath (const Paths &paths) |
bool | IntersectionPoint (const IntPoint &s1p1, const IntPoint &s1p2, const IntPoint &s2p1, const IntPoint &s2p2, IntPoint &intersection) |
bool | IntersectionPoint (const Paths &paths, const IntPoint &p1, const IntPoint &p2, IntPoint &intersection) |
bool | IsPointWithinCutRegion (const Paths &toolBoundPaths, const IntPoint &point) |
bool | Line2CircleIntersect (const IntPoint &c, double radius, const IntPoint &p1, const IntPoint &p2, vector< DoublePoint > &result, bool clamp=true) |
void | NormalizeV (DoublePoint &pt) |
std::ostream & | operator<< (std::ostream &s, const BoundBox &p) |
double | PathLength (const Path &path) |
double | PointSideOfLine (const IntPoint &p1, const IntPoint &p2, const IntPoint &pt) |
bool | PopPathWithClosestPoint (Paths &paths, IntPoint p1, Path &result) |
DoublePoint | rotate (const DoublePoint &in, double rad) |
void | ScaleDownPaths (Paths &paths, long scaleFactor) |
void | ScaleUpPaths (Paths &paths, long scaleFactor) |
bool | SetSegmentLength (const IntPoint &pt1, IntPoint &pt2, double new_length) |
void | SmoothPaths (Paths &paths, double stepSize, long pointCount, long iterations) |
Variables | |
PerfCounter | Perf_AppendToolPath ("AppendToolPath") |
PerfCounter | Perf_CalcCutAreaCirc ("CalcCutArea") |
PerfCounter | Perf_CalcCutAreaClip ("CalcCutAreaClip") |
PerfCounter | Perf_DistanceToBoundary ("DistanceToBoundary") |
PerfCounter | Perf_ExpandCleared ("ExpandCleared") |
PerfCounter | Perf_IsAllowedToCutTrough ("IsAllowedToCutTrough") |
PerfCounter | Perf_IsClearPath ("IsClearPath") |
PerfCounter | Perf_NextEngagePoint ("NextEngagePoint") |
PerfCounter | Perf_PointIterations ("PointIterations") |
PerfCounter | Perf_ProcessPolyNode ("ProcessPolyNode") |
typedef std::vector<DPoint> AdaptivePath::DPath |
typedef std::vector<DPath> AdaptivePath::DPaths |
typedef std::pair<double, double> AdaptivePath::DPoint |
typedef std::pair<int, DPath> AdaptivePath::TPath |
typedef std::vector<TPath> AdaptivePath::TPaths |
double AdaptivePath::Angle3Points | ( | const DoublePoint & | p1, |
const DoublePoint & | p2, | ||
const DoublePoint & | p3 | ||
) |
References ClipperLib::DoublePoint::X, and ClipperLib::DoublePoint::Y.
void AdaptivePath::appendDirectChildPaths | ( | Paths & | outPaths, |
const Path & | path, | ||
const Paths & | paths | ||
) |
References getPathNestingLevel(), and ClipperLib::PointInPolygon().
Referenced by AdaptivePath::Adaptive2d::Execute().
void AdaptivePath::AverageDirection | ( | const vector< DoublePoint > & | unityVectors, |
DoublePoint & | output | ||
) |
References ClipperLib::DoublePoint::X, and ClipperLib::DoublePoint::Y.
double AdaptivePath::averageDV | ( | const vector< double > & | vec | ) |
References draftgeoutils.general::vec().
bool AdaptivePath::Circle2CircleIntersect | ( | const IntPoint & | c1, |
const IntPoint & | c2, | ||
double | radius, | ||
pair< DoublePoint, DoublePoint > & | intersections | ||
) |
References ClipperLib::IntPoint::X, and ClipperLib::IntPoint::Y.
References ClipperLib::CleanPolygon(), DistancePointToPathsSqrd(), DistanceSqrd(), and draftutils.utils::tolerance().
Referenced by AdaptivePath::Adaptive2d::Execute(), and SmoothPaths().
References ClipperLib::DoublePoint::X, and ClipperLib::DoublePoint::Y.
References DistanceSqrd(), and ClipperLib::ReversePath().
Referenced by AdaptivePath::Adaptive2d::Execute().
References DistanceSqrd().
Referenced by AdaptivePath::Adaptive2d::Execute().
DoublePoint AdaptivePath::DirectionV | ( | const IntPoint & | pt1, |
const IntPoint & | pt2 | ||
) |
References ClipperLib::IntPoint::X, and ClipperLib::IntPoint::Y.
Referenced by GetPathDirectionV().
double AdaptivePath::DistancePointToLineSegSquared | ( | const IntPoint & | p1, |
const IntPoint & | p2, | ||
const IntPoint & | pt, | ||
IntPoint & | closestPoint, | ||
double & | ptParameter, | ||
bool | clamp = true |
||
) |
References ClipperLib::IntPoint::X, and ClipperLib::IntPoint::Y.
Referenced by DistancePointToPathsSqrd().
double AdaptivePath::DistancePointToPathsSqrd | ( | const Paths & | paths, |
const IntPoint & | pt, | ||
IntPoint & | closestPointOnPath, | ||
size_t & | clpPathIndex, | ||
size_t & | clpSegmentIndex, | ||
double & | clpParameter | ||
) |
References DistancePointToLineSegSquared().
Referenced by CleanPath().
References ClipperLib::IntPoint::X, and ClipperLib::IntPoint::Y.
Referenced by CleanPath(), ConnectPaths(), DeduplicatePaths(), AdaptivePath::EngagePoint::getCurrentDir(), AdaptivePath::EngagePoint::getCurrentPoint(), AdaptivePath::EngagePoint::moveToClosestPoint(), PathLength(), PopPathWithClosestPoint(), and SmoothPaths().
DoublePoint AdaptivePath::GetPathDirectionV | ( | const Path & | pth, |
size_t | pointIndex | ||
) |
References DirectionV().
References ClipperLib::PointInPolygon().
Referenced by appendDirectChildPaths(), and AdaptivePath::Adaptive2d::Execute().
bool AdaptivePath::IntersectionPoint | ( | const IntPoint & | s1p1, |
const IntPoint & | s1p2, | ||
const IntPoint & | s2p1, | ||
const IntPoint & | s2p2, | ||
IntPoint & | intersection | ||
) |
References ClipperLib::IntPoint::X, and ClipperLib::IntPoint::Y.
References ClipperLib::PointInPolygon().
void AdaptivePath::NormalizeV | ( | DoublePoint & | pt | ) |
References ClipperLib::DoublePoint::X, and ClipperLib::DoublePoint::Y.
std::ostream & AdaptivePath::operator<< | ( | std::ostream & | s, |
const BoundBox & | p | ||
) |
double AdaptivePath::PathLength | ( | const Path & | path | ) |
References DistanceSqrd().
double AdaptivePath::PointSideOfLine | ( | const IntPoint & | p1, |
const IntPoint & | p2, | ||
const IntPoint & | pt | ||
) |
References ClipperLib::IntPoint::X, and ClipperLib::IntPoint::Y.
References DraftVecUtils::dist(), and DistanceSqrd().
Referenced by AdaptivePath::EngagePoint::moveToClosestPoint().
DoublePoint AdaptivePath::rotate | ( | const DoublePoint & | in, |
double | rad | ||
) |
void AdaptivePath::ScaleDownPaths | ( | Paths & | paths, |
long | scaleFactor | ||
) |
Referenced by SmoothPaths().
void AdaptivePath::ScaleUpPaths | ( | Paths & | paths, |
long | scaleFactor | ||
) |
Referenced by SmoothPaths().
References ClipperLib::IntPoint::X, and ClipperLib::IntPoint::Y.
void AdaptivePath::SmoothPaths | ( | Paths & | paths, |
double | stepSize, | ||
long | pointCount, | ||
long | iterations | ||
) |
PerfCounter AdaptivePath::Perf_AppendToolPath("AppendToolPath") | ( | "AppendToolPath" | ) |
PerfCounter AdaptivePath::Perf_CalcCutAreaCirc("CalcCutArea") | ( | "CalcCutArea" | ) |
PerfCounter AdaptivePath::Perf_CalcCutAreaClip("CalcCutAreaClip") | ( | "CalcCutAreaClip" | ) |
PerfCounter AdaptivePath::Perf_DistanceToBoundary("DistanceToBoundary") | ( | "DistanceToBoundary" | ) |
PerfCounter AdaptivePath::Perf_ExpandCleared("ExpandCleared") | ( | "ExpandCleared" | ) |
Referenced by AdaptivePath::ClearedArea::ExpandCleared().
PerfCounter AdaptivePath::Perf_IsAllowedToCutTrough("IsAllowedToCutTrough") | ( | "IsAllowedToCutTrough" | ) |
PerfCounter AdaptivePath::Perf_IsClearPath("IsClearPath") | ( | "IsClearPath" | ) |
PerfCounter AdaptivePath::Perf_NextEngagePoint("NextEngagePoint") | ( | "NextEngagePoint" | ) |
Referenced by AdaptivePath::EngagePoint::nextEngagePoint().
PerfCounter AdaptivePath::Perf_PointIterations("PointIterations") | ( | "PointIterations" | ) |
PerfCounter AdaptivePath::Perf_ProcessPolyNode("ProcessPolyNode") | ( | "ProcessPolyNode" | ) |