A module for running the Sweep-Line algorithm. More...
Functions | |
def | check_for_common_point |
def | checkForIntersect |
def | couplesGenerator |
def | ExplicitSweepLines |
def | frange |
def | lineSegmentsGenerator |
def | Magnitude |
def | scrubPoint |
def | SweepLine |
Variables | |
tuple | GLOBAL_X_UNIT = Point3D(1, 0, 0) |
tuple | GLOBAL_Y_UNIT = Point3D(0, 1, 0) |
A module for running the Sweep-Line algorithm.
Modified for use laying out grid patterns of rebar inside polygons in the XY plane.
def concrete.SweepLine.check_for_common_point | ( | args | ) |
check_for_common_point(args)
def concrete.SweepLine.checkForIntersect | ( | args | ) |
Make sure rebar line intersects with base line @param sweep_line rebar line @param compareLine base line
def concrete.SweepLine.couplesGenerator | ( | args | ) |
couplesGenerator(args)
def concrete.SweepLine.ExplicitSweepLines | ( | args | ) |
A sweepline algorithm that allows the caller to provide explicit line to be checked for intersection. @param poly_list a Polygon.PolyList object @param sweepLines an iterable (not a dict) of LineSegment objects @param cover the cover for the concrete object @param flip add consideration for overlap violating cover @param single_piece a boolean that indicates that the rebar piece will be going around a corner and neds to be a single piece. this means that the cover will not be respected at the corner so that the layouts can be merged after. @return a list of SmartRebarLayout objects
def concrete.SweepLine.frange | ( | args | ) |
frange(args)
def concrete.SweepLine.lineSegmentsGenerator | ( | args | ) |
lineSegmentsGenerator(args)
def concrete.SweepLine.Magnitude | ( | arg1 | ) |
Magnitude == Length C++ signature : double Magnitude(Point3D)
def concrete.SweepLine.scrubPoint | ( | args | ) |
clean up extremely small values by setting them to 0 e.g. P3D(7.2345e-17, 0., 1200) becomes P3D(0., 0., 1200)
def concrete.SweepLine.SweepLine | ( | args | ) |
The Sweep-Line algorithm @param poly_list List of intersections of the concrete polyhedron with the grid plane @param poly_xform the xform associated with poly_list @param distanceBetweenRebar The distance between rebar @param sweep_length The distance needed to cover the whole polyhedron when traversing the sweep_line_path @param sweep_path A unit vector indicating the path the sweep line should take @param sweep_dir A unit vector indicating the angle of the rebar @param cover The distance from the edge of the polyhedron for the rebar @return a list of Proxie.Layout3D objects representing rebar segments @note this function expects the line segments to be instances of the LineSegment class. See plugins/ConcretePad/LineSegment.py
tuple concrete.SweepLine.GLOBAL_X_UNIT = Point3D(1, 0, 0) |
tuple concrete.SweepLine.GLOBAL_Y_UNIT = Point3D(0, 1, 0) |