intercircle ($Date: 2008/21/04 $)
index
/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap_v0.1/intercircle.py

Intercircle is a collection of utilities for intersecting circles, used to get smooth loops around a collection of points and inset & outset loops.
 
To use intercircle, install python 2.x on your machine, which is available from http://www.python.org/download/
 
Then in the folder which intercircle is in, type 'python' in a shell to run the python interpreter.  Finally type
'import intercircle' to import these utilities.
 
 
Below are examples of intercircle use.
 
>>> import intercircle

 
Modules
       
euclidean
math

 
Classes
       
BoundingLoop
CircleIntersection
CircleNode

 
class BoundingLoop
    A class to hold a bounding loop composed of a minimum complex, a maximum complex and an outset loop.
 
  Methods defined here:
__cmp__(self, other)
Get comparison in order to sort bounding loops in descending order of area.
__repr__(self)
Get the string representation of this bounding loop.
getFromLoop(self, loop)
Get the bounding loop from a path.
getOutsetBoundingLoop(self, outsetDistance)
Outset the bounding rectangle and loop by a distance.
isEntirelyInsideAnother(self, anotherBoundingLoop)
Determine if this bounding loop is entirely inside another bounding loop.
isOverlappingAnother(self, anotherBoundingLoop)
Determine if this bounding loop is intersecting another bounding loop.
isRectangleMissingAnother(self, anotherBoundingLoop)
Determine if the rectangle of this bounding loop is missing the rectangle of another bounding loop.

 
class CircleIntersection
    An intersection of two circles.
 
  Methods defined here:
__init__(self)
__repr__(self)
Get the string representation of this CircleIntersection.
addToList(self, circleIntersectionPath)
getAbsolutePosition(self)
getCircleIntersectionAhead(self)
getFromCircleNodes(self, circleNodeAhead, index, circleNodeBehind)
getPositionRelativeToBehind(self)
isWithinCircles(self, circleNodes)

 
class CircleNode
    A node of circle intersections.
 
  Methods defined here:
__init__(self)
__repr__(self)
Get the string representation of this CircleNode.
getFromCircleRadius(self, circle, index, radius)
isWithin(self, circle)

 
Functions
       
addCircleIntersectionLoop(circleIntersectionPath, circleIntersections)
Add a circle intersection loop.
addPointsFromSegment(points, radius, pointBegin, pointEnd)
Add points between the endpoints of a segment.
getCentersFromCircleNodes(circleNodes)
Get the centers of the circle intersection loops from circle nodes.
getCentersFromIntersectionLoop(circleIntersectionLoop)
Get the centers from the intersection loop.
getCentersFromIntersectionLoops(circleIntersectionLoops)
Get the centers from the intersection loops.
getCentersFromLoopDirection(isWiddershins, loop, radius)
Get the centers of the circle intersection loops which go around in the given direction.
getCentersFromOutside(isOutside, loop, radius)
Get the centers of the circle intersection loops which are outside if isOutside is true, otherwise get the ones inside.
getCircleIntersectionLoops(circleIntersections)
Get all the loops going through the circle intersections.
getCircleIntersectionsFromCircleNodes(circleNodes)
Get all the circle intersections with exist between all the circle nodes.
getCircleNodesFromLoop(loop, radius)
Get the circle nodes from every point on a loop and between points.
getCircleNodesFromPath(path, radius)
Get the circle nodes from a path.
getInsetFromClockwiseLoop(loop, radius)
Get loop inset from clockwise loop, out from widdershins loop.
getInsetFromClockwiseTriple(aheadAbsolute, behindAbsolute, center, radius)
Get loop inset from clockwise triple, out from widdershins loop.
getIntersectionAtInset(ahead, behind, inset)
Get circle intersection loop at inset from segment.
getLoopsFromLoopsDirection(isWiddershins, loops)
Get the loops going round in a given direction.
isLoopIntersectingLoop(anotherLoop, loop)
Determine if the a loop is intersecting another loop.

 
Data
        __author__ = 'Enrique Perez (perez_enrique@yahoo.com)'
__date__ = '$Date: 2008/21/04 $'
__license__ = 'GPL 3.0'

 
Author
        Enrique Perez (perez_enrique@yahoo.com)