Package fabmetheus_utilities :: Module intercircle
[hide private]
[frames] | no frames]

Module intercircle

source code

Intercircle is a collection of utilities for intersecting circles, used to get smooth loops around a collection of points and inset & outset loops.


Date: $Date: 2008/21/04 $

Author: Enrique Perez (perez_enrique@yahoo.com)

License: GNU Affero General Public License http://www.gnu.org/licenses/agpl.html

Classes [hide private]
  BoundingLoop
A class to hold a bounding loop composed of a minimum complex, a maximum complex and an outset loop.
  CenterOutset
A class to hold a center and an outset.
  CircleIntersection
An intersection of two complex circles.
  CircleNode
A complex node of complex circle intersections.
Functions [hide private]
 
addCircleIntersectionLoop(circleIntersectionLoop, circleIntersections)
Add a circle intersection loop.
source code
 
addEndCap(begin, end, points, radius)
Get circular end cap.
source code
 
addHalfPath(path, points, radius, thresholdRatio=0.9)
Add the points from every point on a half path and between points.
source code
 
addInsetPointFromClockwiseTriple(begin, center, end, loop, radius)
Get inset point with possible intersection from clockwise triple, out from widdershins loop.
source code
 
addOrbits(distanceFeedRate, loop, orbitalFeedRatePerSecond, temperatureChangeTime, z)
Add orbits with the extruder off.
source code
 
addOrbitsIfLarge(distanceFeedRate, loop, orbitalFeedRatePerSecond, temperatureChangeTime, z)
Add orbits with the extruder off if the orbits are large enough.
source code
 
addPointsFromSegment(pointBegin, pointEnd, points, radius, thresholdRatio=0.9)
Add point complexes between the endpoints of a segment.
source code
 
directLoop(isWiddershins, loop)
Direct the loop.
source code
 
directLoops(isWiddershins, loops)
Direct the loops.
source code
 
directLoopLists(isWiddershins, loopLists)
Direct the loop lists.
source code
 
getAroundsFromLoop(loop, radius, thresholdRatio=0.9)
Get the arounds from the loop.
source code
 
getAroundsFromLoops(loops, radius, thresholdRatio=0.9)
Get the arounds from the loops.
source code
 
getAroundsFromPath(path, radius, thresholdRatio=0.9)
Get the arounds from the path.
source code
 
getAroundsFromPathPoints(points, radius, thresholdRatio=0.9)
Get the arounds from the path.
source code
 
getAroundsFromPaths(paths, radius, thresholdRatio=0.9)
Get the arounds from the path.
source code
 
getAroundsFromPoints(points, radius)
Get the arounds from the points.
source code
 
getCentersFromCircleNodes(circleNodes, radius)
Get the complex centers of the circle intersection loops from circle nodes.
source code
 
getCentersFromLoop(loop, radius)
Get the centers of the loop.
source code
 
getCentersFromLoopDirection(isWiddershins, loop, radius)
Get the centers of the loop which go around in the given direction.
source code
 
getCentersFromPoints(points, radius)
Get the centers from the points.
source code
 
getCircleIntersectionsFromCircleNodes(circleNodes)
Get all the circle intersections which exist between all the circle nodes.
source code
 
getCircleIntersectionLoops(circleIntersections)
Get all the loops going through the circle intersections.
source code
 
getCircleNodesFromLoop(loop, radius, thresholdRatio=0.9)
Get the circle nodes from every point on a loop and between points.
source code
 
getCircleNodesFromPoints(points, radius)
Get the circle nodes from a path.
source code
 
getInsetLoopsFromLoop(loop, radius, thresholdRatio=0.9)
Get the inset loops, which might overlap.
source code
 
getInsetLoopsFromLoops(inset, loops)
Get the inset loops, which might overlap.
source code
 
getInsetLoopsFromVector3Loop(loop, radius, thresholdRatio=0.9)
Get the inset loops from vector3 loop, which might overlap.
source code
 
getInsetSeparateLoopsFromLoops(inset, loops, thresholdRatio=0.9)
Get the separate inset loops.
source code
 
getLargestCenterOutsetLoopFromLoop(loop, radius, thresholdRatio=0.9)
Get the largest circle outset loop from the loop.
source code
 
getLargestCenterOutsetLoopFromLoopRegardless(loop, radius)
Get the largest circle outset loop from the loop, even if the radius has to be shrunk and even if there is still no outset loop.
source code
 
getLargestInsetLoopFromLoop(loop, radius)
Get the largest inset loop from the loop.
source code
 
getLargestInsetLoopFromLoopRegardless(loop, radius)
Get the largest inset loop from the loop, even if the radius has to be shrunk and even if there is still no inset loop.
source code
 
getLoopsFromLoopsDirection(isWiddershins, loops)
Get the loops going round in a given direction.
source code
 
getPointsFromLoop(loop, radius, thresholdRatio=0.9)
Get the points from every point on a loop and between points.
source code
 
getPointsFromLoops(loops, radius, thresholdRatio=0.9)
Get the points from every point on a loop and between points.
source code
 
getPointsFromPath(path, radius, thresholdRatio=0.9)
Get the points from every point on a path and between points.
source code
 
getSimplifiedInsetFromClockwiseLoop(loop, radius)
Get loop inset from clockwise loop, out from widdershins loop.
source code
 
getWiddershinsByLength(begin, end, length)
Get the widdershins by length.
source code
 
getWithoutIntersections(loop)
Get loop without intersections.
source code
 
isLargeSameDirection(inset, loop, radius)
Determine if the inset is in the same direction as the loop and it is large enough.
source code
 
isLoopIntersectingLoop(anotherLoop, loop)
Determine if the a loop is intersecting another loop.
source code
 
orbitsAreLarge(loop, temperatureChangeTime)
Determine if the orbits are large enough.
source code
 
removeIntersection(loop)
Get loop without the first intersection.
source code
Variables [hide private]
  globalDecreasingRadiusMultipliers = [1.0, 0.55, 0.35, 0.2]
  __package__ = 'fabmetheus_utilities'