cc44089440
circular, convex, concave) and performs efficient collision detection agains these build volumes. As of now, collision detection is performed against a convex hull of a concave build volume for efficency. GCodeProcessor::Result renamed out of GCodeProcessor to GCodeProcessorResult, so it could be forward declared. Plater newly exports BuildVolume, not Bed3D. Bed3D is a rendering class, while BuildVolume is a purely geometric class. Reduced usage of global wxGetApp, the Bed3D is passed as a parameter to View3D/Preview/GLCanvas. Convex hull code was extracted from Geometry.cpp/hpp to Geometry/ConvexHulll.cpp,hpp. New test inside_convex_polygon(). New efficent point inside polygon test: Decompose convex hull to bottom / top parts and use the decomposition to detect point inside a convex polygon in O(log n). decompose_convex_polygon_top_bottom(), inside_convex_polygon(). New Circle constructing functions: circle_ransac() and circle_taubin_newton(). New polygon_is_convex() test with unit tests. |
||
---|---|---|
.. | ||
BoundingBox.xsp | ||
BridgeDetector.xsp | ||
Clipper.xsp | ||
Config.xsp | ||
ExPolygon.xsp | ||
ExPolygonCollection.xsp | ||
ExtrusionEntityCollection.xsp | ||
ExtrusionLoop.xsp | ||
ExtrusionMultiPath.xsp | ||
ExtrusionPath.xsp | ||
ExtrusionSimulator.xsp | ||
Filler.xsp | ||
Flow.xsp | ||
GCode.xsp | ||
GCodeSender.xsp | ||
Geometry.xsp | ||
Layer.xsp | ||
Line.xsp | ||
Model.xsp | ||
my.map | ||
mytype.map | ||
PerimeterGenerator.xsp | ||
PlaceholderParser.xsp | ||
Point.xsp | ||
Polygon.xsp | ||
Polyline.xsp | ||
PolylineCollection.xsp | ||
Print.xsp | ||
Surface.xsp | ||
SurfaceCollection.xsp | ||
TriangleMesh.xsp | ||
typemap.xspt | ||
XS.xsp |