Turn all classes into new style classes, this speeds up skeinforge a tiny bit.
parent
d2f7aa4199
commit
7376c44b85
|
@ -2065,7 +2065,7 @@ def unbuckleBasis( basis, maximumUnbuckling, normal ):
|
|||
basis.setToVector3( basis * unbuckling )
|
||||
|
||||
|
||||
class DistanceIndex:
|
||||
class DistanceIndex(object):
|
||||
'A class to hold the distance and the index of the loop.'
|
||||
def __init__(self, distance, index):
|
||||
'Initialize.'
|
||||
|
@ -2077,7 +2077,7 @@ class DistanceIndex:
|
|||
return '%s, %s' % (self.distance, self.index)
|
||||
|
||||
|
||||
class Endpoint:
|
||||
class Endpoint(object):
|
||||
'The endpoint of a segment.'
|
||||
def __repr__(self):
|
||||
'Get the string representation of this Endpoint.'
|
||||
|
@ -2180,7 +2180,7 @@ class Endpoint:
|
|||
return self
|
||||
|
||||
|
||||
class LoopLayer:
|
||||
class LoopLayer(object):
|
||||
'Loops with a z.'
|
||||
def __init__(self, z):
|
||||
'Initialize.'
|
||||
|
@ -2192,7 +2192,7 @@ class LoopLayer:
|
|||
return '%s, %s' % (self.z, self.loops)
|
||||
|
||||
|
||||
class NestedRing:
|
||||
class NestedRing(object):
|
||||
'A nested ring.'
|
||||
def __init__(self):
|
||||
'Initialize.'
|
||||
|
@ -2345,7 +2345,7 @@ class NestedBand(NestedRing):
|
|||
self.infillPaths = getTransferredPaths(paths, self.boundary)
|
||||
|
||||
|
||||
class PathZ:
|
||||
class PathZ(object):
|
||||
'Complex path with a z.'
|
||||
def __init__( self, z ):
|
||||
self.path = []
|
||||
|
@ -2356,7 +2356,7 @@ class PathZ:
|
|||
return '%s, %s' % ( self.z, self.path )
|
||||
|
||||
|
||||
class ProjectiveSpace:
|
||||
class ProjectiveSpace(object):
|
||||
'Class to define a projective space.'
|
||||
def __init__( self, basisX = Vector3(1.0, 0.0, 0.0), basisY = Vector3( 0.0, 1.0, 0.0 ), basisZ = Vector3(0.0, 0.0, 1.0) ):
|
||||
'Initialize the basis vectors.'
|
||||
|
@ -2466,7 +2466,7 @@ class ProjectiveSpace:
|
|||
unbuckleBasis( self.basisY, maximumUnbuckling, normal )
|
||||
|
||||
|
||||
class XIntersectionIndex:
|
||||
class XIntersectionIndex(object):
|
||||
'A class to hold the x intersection position and the index of the loop which intersected.'
|
||||
def __init__( self, index, x ):
|
||||
'Initialize.'
|
||||
|
|
|
@ -110,7 +110,7 @@ def getWindowAnalyzeFile(fileName):
|
|||
print('Open office writer can then be started from the command line with the command "soffice -writer".')
|
||||
|
||||
|
||||
class InterpretRepository:
|
||||
class InterpretRepository(object):
|
||||
"A class to handle the interpret settings."
|
||||
def __init__(self):
|
||||
"Set the default settings, execute title & settings fileName."
|
||||
|
|
|
@ -54,7 +54,7 @@ def readHeader( file ):
|
|||
pass
|
||||
|
||||
|
||||
class SampleTableEntry:
|
||||
class SampleTableEntry(object):
|
||||
"Sample table entry."
|
||||
def __init__( self, file ):
|
||||
"Read in the sampling table section. It contains a table length (byte) and the table entries."
|
||||
|
@ -68,7 +68,7 @@ class SampleTableEntry:
|
|||
return '%s, %s, %s' % ( self.min_z_level, self.layer_thickness, self.beam_comp )
|
||||
|
||||
|
||||
class SLCCarving:
|
||||
class SLCCarving(object):
|
||||
"An slc carving."
|
||||
def __init__(self):
|
||||
"Add empty lists."
|
||||
|
|
|
@ -33,7 +33,7 @@ def getCarving(fileName=''):
|
|||
return carving
|
||||
|
||||
|
||||
class SVGCarving:
|
||||
class SVGCarving(object):
|
||||
'An svg carving.'
|
||||
def __init__(self):
|
||||
'Add empty lists.'
|
||||
|
|
|
@ -224,7 +224,7 @@ def isThereAFirstWord(firstWord, lines, startIndex):
|
|||
return False
|
||||
|
||||
|
||||
class BoundingRectangle:
|
||||
class BoundingRectangle(object):
|
||||
'A class to get the corners of a gcode text.'
|
||||
def getFromGcodeLines(self, lines, radius):
|
||||
'Parse gcode text and get the minimum and maximum corners.'
|
||||
|
@ -256,7 +256,7 @@ class BoundingRectangle:
|
|||
self.oldLocation = location
|
||||
|
||||
|
||||
class DistanceFeedRate:
|
||||
class DistanceFeedRate(object):
|
||||
'A class to limit the z feed rate and round values.'
|
||||
def __init__(self):
|
||||
'Initialize.'
|
||||
|
|
|
@ -40,7 +40,7 @@ def processElementNode(elementNode):
|
|||
solid.processElementNodeByGeometry(elementNode, getGeometryOutput(None, elementNode))
|
||||
|
||||
|
||||
class DrillDerivation:
|
||||
class DrillDerivation(object):
|
||||
"Class to hold drill variables."
|
||||
def __init__(self, elementNode):
|
||||
'Set defaults.'
|
||||
|
|
|
@ -50,7 +50,7 @@ def processElementNode(elementNode):
|
|||
path.convertElementNode(elementNode, getGeometryOutput(None, elementNode))
|
||||
|
||||
|
||||
class SVGDerivation:
|
||||
class SVGDerivation(object):
|
||||
"Class to hold svg variables."
|
||||
def __init__(self, elementNode):
|
||||
'Set defaults.'
|
||||
|
|
|
@ -56,7 +56,7 @@ def processElementNode(elementNode):
|
|||
path.convertElementNode(elementNode, getGeometryOutput(None, elementNode))
|
||||
|
||||
|
||||
class CircleDerivation:
|
||||
class CircleDerivation(object):
|
||||
"Class to hold circle variables."
|
||||
def __init__(self, elementNode):
|
||||
'Set defaults.'
|
||||
|
|
|
@ -43,7 +43,7 @@ def processElementNode(elementNode):
|
|||
path.convertElementNode(elementNode, getGeometryOutput(None, elementNode))
|
||||
|
||||
|
||||
class ConcatenateDerivation:
|
||||
class ConcatenateDerivation(object):
|
||||
'Class to hold concatenate variables.'
|
||||
def __init__(self, elementNode):
|
||||
'Initialize.'
|
||||
|
|
|
@ -275,7 +275,7 @@ def setOffsetByMultiplier(begin, end, multiplier, offset):
|
|||
offset.setToVector3(offset + delta)
|
||||
|
||||
|
||||
class ExtrudeDerivation:
|
||||
class ExtrudeDerivation(object):
|
||||
'Class to hold extrude variables.'
|
||||
def __init__(self, elementNode):
|
||||
'Initialize.'
|
||||
|
@ -303,7 +303,7 @@ class ExtrudeDerivation:
|
|||
insertTwistPortions(self, elementNode)
|
||||
|
||||
|
||||
class Interpolation:
|
||||
class Interpolation(object):
|
||||
'Class to interpolate a path.'
|
||||
def __init__(self):
|
||||
'Set index.'
|
||||
|
@ -426,7 +426,7 @@ class Interpolation:
|
|||
self.endVertex = self.path[ self.interpolationIndex + 1 ]
|
||||
|
||||
|
||||
class PortionDirection:
|
||||
class PortionDirection(object):
|
||||
'Class to hold a portion and direction.'
|
||||
def __init__( self, portion ):
|
||||
'Initialize.'
|
||||
|
|
|
@ -1027,7 +1027,7 @@ def processElementNode(elementNode):
|
|||
solid.processElementNodeByGeometry(elementNode, geometryOutput)
|
||||
|
||||
|
||||
class GearDerivation:
|
||||
class GearDerivation(object):
|
||||
"Class to hold gear variables."
|
||||
def __init__(self, elementNode):
|
||||
'Set defaults.'
|
||||
|
|
|
@ -146,7 +146,7 @@ def processElementNode(elementNode):
|
|||
path.convertElementNode(elementNode, getGeometryOutput(elementNode))
|
||||
|
||||
|
||||
class GridDerivation:
|
||||
class GridDerivation(object):
|
||||
'Class to hold grid variables.'
|
||||
def __init__(self, elementNode):
|
||||
'Set defaults.'
|
||||
|
|
|
@ -187,7 +187,7 @@ def processElementNode(elementNode):
|
|||
solid.processElementNodeByGeometry(elementNode, getGeometryOutput(elementNode))
|
||||
|
||||
|
||||
class HeightmapDerivation:
|
||||
class HeightmapDerivation(object):
|
||||
'Class to hold heightmap variables.'
|
||||
def __init__(self, elementNode):
|
||||
'Set defaults.'
|
||||
|
|
|
@ -118,7 +118,7 @@ def processElementNode(elementNode):
|
|||
solid.processElementNodeByGeometry(elementNode, getGeometryOutput(None, elementNode))
|
||||
|
||||
|
||||
class LatheDerivation:
|
||||
class LatheDerivation(object):
|
||||
"Class to hold lathe variables."
|
||||
def __init__(self, elementNode):
|
||||
'Set defaults.'
|
||||
|
|
|
@ -88,7 +88,7 @@ def processElementNode(elementNode):
|
|||
path.convertElementNode(elementNode, getGeometryOutput(None, elementNode))
|
||||
|
||||
|
||||
class LineDerivation:
|
||||
class LineDerivation(object):
|
||||
"Class to hold line variables."
|
||||
def __init__(self, elementNode):
|
||||
'Set defaults.'
|
||||
|
|
|
@ -165,7 +165,7 @@ def processElementNode(elementNode):
|
|||
solid.processElementNodeByGeometry(elementNode, getGeometryOutput(elementNode))
|
||||
|
||||
|
||||
class LinearBearingCageDerivation:
|
||||
class LinearBearingCageDerivation(object):
|
||||
'Class to hold linear bearing cage variables.'
|
||||
def __init__(self, elementNode):
|
||||
'Set defaults.'
|
||||
|
|
|
@ -222,14 +222,14 @@ def setClosedAttribute(elementNode, revolutions):
|
|||
elementNode.attributes['closed'] = str(closedBoolean).lower()
|
||||
|
||||
|
||||
class LineationDerivation:
|
||||
class LineationDerivation(object):
|
||||
'Class to hold lineation variables.'
|
||||
def __init__(self, elementNode):
|
||||
'Set defaults.'
|
||||
self.target = evaluate.getTransformedPathsByKey([], elementNode, 'target')
|
||||
|
||||
|
||||
class SideLoop:
|
||||
class SideLoop(object):
|
||||
'Class to handle loop, side angle and side length.'
|
||||
def __init__(self, loop, sideAngle=None, sideLength=None):
|
||||
'Initialize.'
|
||||
|
@ -282,7 +282,7 @@ class SideLoop:
|
|||
self.loop.reverse()
|
||||
|
||||
|
||||
class Spiral:
|
||||
class Spiral(object):
|
||||
'Class to add a spiral.'
|
||||
def __init__(self, spiral, stepRatio):
|
||||
'Initialize.'
|
||||
|
|
|
@ -155,7 +155,7 @@ def processElementNode(elementNode):
|
|||
solid.processElementNodeByGeometry(elementNode, getGeometryOutput(elementNode))
|
||||
|
||||
|
||||
class CellExistence:
|
||||
class CellExistence(object):
|
||||
'Class to determine if a cell exists.'
|
||||
def __init__(self, columns, rows, value):
|
||||
'Initialize.'
|
||||
|
@ -184,7 +184,7 @@ class CellExistence:
|
|||
return (columnIndex, rowIndex) in self.existenceSet
|
||||
|
||||
|
||||
class HollowPegSocket:
|
||||
class HollowPegSocket(object):
|
||||
'Class to hold hollow peg socket variables.'
|
||||
def __init__(self, center):
|
||||
'Initialize.'
|
||||
|
@ -197,7 +197,7 @@ class HollowPegSocket:
|
|||
return euclidean.getDictionaryString(self.__dict__)
|
||||
|
||||
|
||||
class MechaslabDerivation:
|
||||
class MechaslabDerivation(object):
|
||||
'Class to hold mechaslab variables.'
|
||||
def __init__(self, elementNode):
|
||||
'Set defaults.'
|
||||
|
|
|
@ -82,7 +82,7 @@ def setTopOverBottomByRadius(derivation, endZ, radius, startZ):
|
|||
derivation.topOverBottom = cylinder.getTopOverBottom(math.radians(angleDegrees), endZ, complex(radius, radius), startZ)
|
||||
|
||||
|
||||
class PegDerivation:
|
||||
class PegDerivation(object):
|
||||
'Class to hold peg variables.'
|
||||
def __init__(self, elementNode):
|
||||
'Set defaults.'
|
||||
|
|
|
@ -48,7 +48,7 @@ def processElementNode(elementNode):
|
|||
path.convertElementNode(elementNode, getGeometryOutput(None, elementNode))
|
||||
|
||||
|
||||
class PolygonDerivation:
|
||||
class PolygonDerivation(object):
|
||||
"Class to hold polygon variables."
|
||||
def __init__(self, elementNode):
|
||||
'Set defaults.'
|
||||
|
|
|
@ -63,7 +63,7 @@ def processElementNode(elementNode):
|
|||
path.convertElementNode(elementNode, getGeometryOutput(None, elementNode))
|
||||
|
||||
|
||||
class ShaftDerivation:
|
||||
class ShaftDerivation(object):
|
||||
"Class to hold shaft variables."
|
||||
def __init__(self, elementNode):
|
||||
'Set defaults.'
|
||||
|
|
|
@ -167,7 +167,7 @@ def processTargetByFunctionPair(geometryFunction, pathFunction, target):
|
|||
target.getXMLProcessor().convertElementNode(target, geometryOutput)
|
||||
|
||||
|
||||
class SolidDerivation:
|
||||
class SolidDerivation(object):
|
||||
'Class to hold solid variables.'
|
||||
def __init__(self, elementNode):
|
||||
'Set defaults.'
|
||||
|
|
|
@ -77,7 +77,7 @@ def processElementNode(elementNode):
|
|||
path.convertElementNode(elementNode, getGeometryOutput(None, elementNode))
|
||||
|
||||
|
||||
class SpongeCircle:
|
||||
class SpongeCircle(object):
|
||||
"Class to hold sponge circle."
|
||||
def __init__(self, center, radius=0.0):
|
||||
'Initialize.'
|
||||
|
@ -120,7 +120,7 @@ class SpongeCircle:
|
|||
self.radius = greatestRadius
|
||||
|
||||
|
||||
class SpongeSliceDerivation:
|
||||
class SpongeSliceDerivation(object):
|
||||
"Class to hold sponge slice variables."
|
||||
def __init__(self, elementNode):
|
||||
'Initialize.'
|
||||
|
|
|
@ -64,7 +64,7 @@ def processElementNode(elementNode):
|
|||
path.convertElementNode(elementNode, getGeometryOutput(None, elementNode))
|
||||
|
||||
|
||||
class SquareDerivation:
|
||||
class SquareDerivation(object):
|
||||
"Class to hold square variables."
|
||||
def __init__(self, elementNode):
|
||||
'Set defaults.'
|
||||
|
|
|
@ -93,7 +93,7 @@ def processElementNode(elementNode):
|
|||
path.convertElementNode(elementNode, getGeometryOutput(None, elementNode))
|
||||
|
||||
|
||||
class TeardropDerivation:
|
||||
class TeardropDerivation(object):
|
||||
"Class to hold teardrop variables."
|
||||
def __init__(self, elementNode):
|
||||
'Set defaults.'
|
||||
|
|
|
@ -49,7 +49,7 @@ def processElementNode(elementNode):
|
|||
path.convertElementNode(elementNode, getGeometryOutput(None, elementNode))
|
||||
|
||||
|
||||
class TextDerivation:
|
||||
class TextDerivation(object):
|
||||
"Class to hold text variables."
|
||||
def __init__(self, elementNode):
|
||||
'Set defaults.'
|
||||
|
|
|
@ -48,7 +48,7 @@ def processElementNode(elementNode):
|
|||
evaluate.processArchivable( Dictionary, elementNode)
|
||||
|
||||
|
||||
class Dictionary:
|
||||
class Dictionary(object):
|
||||
'A dictionary object.'
|
||||
def __init__(self):
|
||||
'Add empty lists.'
|
||||
|
|
|
@ -67,7 +67,7 @@ def processElementNode(elementNode):
|
|||
elementNode.parentNode.xmlObject.faces.append(face)
|
||||
|
||||
|
||||
class Edge:
|
||||
class Edge(object):
|
||||
"An edge of a triangle mesh."
|
||||
def __init__(self):
|
||||
"Set the face indexes to None."
|
||||
|
@ -92,7 +92,7 @@ class Edge:
|
|||
return self
|
||||
|
||||
|
||||
class Face:
|
||||
class Face(object):
|
||||
"A face of a triangle mesh."
|
||||
def __init__(self):
|
||||
"Initialize."
|
||||
|
|
|
@ -123,7 +123,7 @@ class Path(dictionary.Dictionary):
|
|||
return dictionary.getAllTransformedPaths([], self)
|
||||
|
||||
|
||||
class SVGFabricationCarving:
|
||||
class SVGFabricationCarving(object):
|
||||
'An svg carving.'
|
||||
def __init__(self, addLayerTemplate, elementNode):
|
||||
'Add empty lists.'
|
||||
|
|
|
@ -67,7 +67,7 @@ def getMinimumZ(geometryObject):
|
|||
return min(archivableMinimumZ, geometryMinimumZ)
|
||||
|
||||
|
||||
class BooleanGeometry:
|
||||
class BooleanGeometry(object):
|
||||
'A boolean geometry scene.'
|
||||
def __init__(self):
|
||||
'Add empty lists.'
|
||||
|
|
|
@ -939,7 +939,7 @@ def setLocalAttribute(elementNode):
|
|||
elementNode.xmlObject = KeyValue()
|
||||
|
||||
|
||||
class BaseFunction:
|
||||
class BaseFunction(object):
|
||||
'Class to get equation results.'
|
||||
def __init__(self, elementNode):
|
||||
'Initialize.'
|
||||
|
@ -981,7 +981,7 @@ class ClassFunction(BaseFunction):
|
|||
return self.returnValue
|
||||
|
||||
|
||||
class ClassObject:
|
||||
class ClassObject(object):
|
||||
'Class to hold class attributes and functions.'
|
||||
def __init__(self, elementNode):
|
||||
'Initialize.'
|
||||
|
@ -1010,14 +1010,14 @@ class ClassObject:
|
|||
self.selfDictionary[attributeName] = value
|
||||
|
||||
|
||||
class EmptyObject:
|
||||
class EmptyObject(object):
|
||||
'An empty object.'
|
||||
def __init__(self):
|
||||
'Do nothing.'
|
||||
pass
|
||||
|
||||
|
||||
class Evaluator:
|
||||
class Evaluator(object):
|
||||
'Base evaluator class.'
|
||||
def __init__(self, elementNode, word):
|
||||
'Set value to none.'
|
||||
|
@ -1790,7 +1790,7 @@ class Function(BaseFunction):
|
|||
return self.returnValue
|
||||
|
||||
|
||||
class FunctionVariable:
|
||||
class FunctionVariable(object):
|
||||
'Class to hold class functions and variable set.'
|
||||
def __init__(self, elementNode):
|
||||
'Initialize.'
|
||||
|
@ -1834,7 +1834,7 @@ class FunctionVariable:
|
|||
self.processStatement(childNode)
|
||||
|
||||
|
||||
class KeyValue:
|
||||
class KeyValue(object):
|
||||
'Class to hold a key value.'
|
||||
def __init__(self, key=None, value=None):
|
||||
'Get key value.'
|
||||
|
@ -1865,7 +1865,7 @@ class KeyValue:
|
|||
return self.getByCharacter('=', line )
|
||||
|
||||
|
||||
class ModuleElementNode:
|
||||
class ModuleElementNode(object):
|
||||
'Class to get the in attribute, the index name and the value name.'
|
||||
def __init__( self, elementNode):
|
||||
'Initialize.'
|
||||
|
|
|
@ -32,7 +32,7 @@ def _getAccessibleAttribute(attributeName, elementNode):
|
|||
return Creation(elementNode, pluginModule).getCreation
|
||||
|
||||
|
||||
class Creation:
|
||||
class Creation(object):
|
||||
'Class to handle a creation.'
|
||||
def __init__(self, elementNode, pluginModule):
|
||||
'Initialize.'
|
||||
|
|
|
@ -19,7 +19,7 @@ def _getAccessibleAttribute(attributeName, elementNode):
|
|||
return None
|
||||
|
||||
|
||||
class Document:
|
||||
class Document(object):
|
||||
'Class to handle elementNodes in a document.'
|
||||
def __init__(self, elementNode):
|
||||
'Initialize.'
|
||||
|
|
|
@ -109,7 +109,7 @@ def getTwistPrecisionRadians(elementNode):
|
|||
return math.radians(getTwistPrecision(elementNode))
|
||||
|
||||
|
||||
class Setting:
|
||||
class Setting(object):
|
||||
'Class to get handle elementNodes in a setting.'
|
||||
def __init__(self, elementNode):
|
||||
'Initialize.'
|
||||
|
|
|
@ -24,7 +24,7 @@ def _getAccessibleAttribute(attributeName, dictionaryObject):
|
|||
return None
|
||||
|
||||
|
||||
class DictionaryAttribute:
|
||||
class DictionaryAttribute(object):
|
||||
'Class to handle a dictionary.'
|
||||
def __init__(self, dictionaryObject):
|
||||
'Initialize.'
|
||||
|
|
|
@ -24,7 +24,7 @@ def _getAccessibleAttribute(attributeName, listObject):
|
|||
return None
|
||||
|
||||
|
||||
class ListAttribute:
|
||||
class ListAttribute(object):
|
||||
'Class to handle a list.'
|
||||
def __init__(self, listObject):
|
||||
'Initialize.'
|
||||
|
|
|
@ -24,7 +24,7 @@ def _getAccessibleAttribute(attributeName, stringObject):
|
|||
return None
|
||||
|
||||
|
||||
class StringAttribute:
|
||||
class StringAttribute(object):
|
||||
'Class to handle a string.'
|
||||
def __init__(self, stringObject):
|
||||
'Initialize.'
|
||||
|
|
|
@ -67,7 +67,7 @@ def getVector3Index(index=0, x=0.0, y=0.0, z=0.0):
|
|||
return Vector3Index(index, x, y, z)
|
||||
|
||||
|
||||
class NestedVectorTestExample:
|
||||
class NestedVectorTestExample(object):
|
||||
'Class to test local attribute.'
|
||||
def __init__(self, vector3):
|
||||
'Get the accessible attribute.'
|
||||
|
|
|
@ -427,7 +427,7 @@ def transformVector3sByMatrix(tetragrid, vector3s):
|
|||
transformVector3Blindly(tetragrid, vector3)
|
||||
|
||||
|
||||
class Matrix:
|
||||
class Matrix(object):
|
||||
'A four by four matrix.'
|
||||
def __init__(self, tetragrid=None):
|
||||
'Add empty lists.'
|
||||
|
|
|
@ -58,7 +58,7 @@ def scalePoints(elementNode, points, prefix):
|
|||
point.z *= scaleVector3.z
|
||||
|
||||
|
||||
class ScaleDerivation:
|
||||
class ScaleDerivation(object):
|
||||
"Class to hold scale variables."
|
||||
def __init__(self, elementNode):
|
||||
'Set defaults.'
|
||||
|
|
|
@ -55,7 +55,7 @@ def rotatePoints(elementNode, points, prefix):
|
|||
matrix.transformVector3sByMatrix(derivation.rotateTetragrid, points)
|
||||
|
||||
|
||||
class RotateDerivation:
|
||||
class RotateDerivation(object):
|
||||
"Class to hold rotate variables."
|
||||
def __init__(self, elementNode, prefix):
|
||||
'Set defaults.'
|
||||
|
|
|
@ -55,7 +55,7 @@ def transformPoints(elementNode, points, prefix):
|
|||
matrix.transformVector3sByMatrix(derivation.transformTetragrid, points)
|
||||
|
||||
|
||||
class TransformDerivation:
|
||||
class TransformDerivation(object):
|
||||
"Class to hold transform variables."
|
||||
def __init__(self, elementNode, prefix):
|
||||
'Set defaults.'
|
||||
|
|
|
@ -59,7 +59,7 @@ def translatePoints(elementNode, points, prefix):
|
|||
euclidean.translateVector3Path(points, translateVector3)
|
||||
|
||||
|
||||
class TranslateDerivation:
|
||||
class TranslateDerivation(object):
|
||||
"Class to hold translate variables."
|
||||
def __init__(self, elementNode):
|
||||
'Set defaults.'
|
||||
|
|
|
@ -111,7 +111,7 @@ def processElementNodeByDerivation(derivation, elementNode):
|
|||
elementNode.getXMLProcessor().processElementNode(elementNode)
|
||||
|
||||
|
||||
class ArrayDerivation:
|
||||
class ArrayDerivation(object):
|
||||
"Class to hold array variables."
|
||||
def __init__(self, elementNode):
|
||||
'Set defaults.'
|
||||
|
|
|
@ -83,7 +83,7 @@ def processElementNodeByDerivation(derivation, elementNode):
|
|||
path.convertElementNode(pathElement, vector3Loops)
|
||||
|
||||
|
||||
class CarveDerivation:
|
||||
class CarveDerivation(object):
|
||||
"Class to hold carve variables."
|
||||
def __init__(self, elementNode):
|
||||
'Set defaults.'
|
||||
|
|
|
@ -63,7 +63,7 @@ def processElementNodeByDerivation(derivation, elementNode):
|
|||
elementNode.getXMLProcessor().convertElementNode(elementNode, geometryOutput)
|
||||
|
||||
|
||||
class CopyDerivation:
|
||||
class CopyDerivation(object):
|
||||
"Class to hold copy variables."
|
||||
def __init__(self, elementNode):
|
||||
'Set defaults.'
|
||||
|
|
|
@ -101,7 +101,7 @@ def processElementNodeByDerivation(derivation, elementNode):
|
|||
difference.processElementNode(differenceElement)
|
||||
|
||||
|
||||
class DisjoinDerivation:
|
||||
class DisjoinDerivation(object):
|
||||
"Class to hold disjoin variables."
|
||||
def __init__(self, elementNode):
|
||||
'Set defaults.'
|
||||
|
|
|
@ -81,7 +81,7 @@ def processElementNodeByDerivation(derivation, elementNode):
|
|||
evaluate.processArchivable(group.Group, elementNode)
|
||||
|
||||
|
||||
class ImportDerivation:
|
||||
class ImportDerivation(object):
|
||||
"Class to hold import variables."
|
||||
def __init__(self, elementNode):
|
||||
'Set defaults.'
|
||||
|
|
|
@ -81,7 +81,7 @@ def writeXMLObject(absoluteFolderDirectory, derivation, fileNames, target, xmlOb
|
|||
archive.writeFileText(absoluteFileName, xmlObject.getFabricationText(derivation.addLayerTemplate))
|
||||
|
||||
|
||||
class WriteDerivation:
|
||||
class WriteDerivation(object):
|
||||
"Class to hold write variables."
|
||||
def __init__(self, elementNode):
|
||||
'Set defaults.'
|
||||
|
|
|
@ -61,7 +61,7 @@ def processElementNode(elementNode):
|
|||
lineation.processElementNodeByFunction(elementNode, getManipulatedPaths)
|
||||
|
||||
|
||||
class BevelDerivation:
|
||||
class BevelDerivation(object):
|
||||
"Class to hold bevel variables."
|
||||
def __init__(self, elementNode, prefix, sideLength):
|
||||
'Set defaults.'
|
||||
|
|
|
@ -42,7 +42,7 @@ def processElementNode(elementNode):
|
|||
lineation.processElementNodeByFunction(elementNode, getManipulatedPaths)
|
||||
|
||||
|
||||
class OutlineDerivation:
|
||||
class OutlineDerivation(object):
|
||||
"Class to hold outline variables."
|
||||
def __init__(self, elementNode, prefix, sideLength):
|
||||
'Set defaults.'
|
||||
|
|
|
@ -137,7 +137,7 @@ def processElementNode(elementNode):
|
|||
lineation.processElementNodeByFunction(elementNode, getManipulatedPaths)
|
||||
|
||||
|
||||
class AlongAway:
|
||||
class AlongAway(object):
|
||||
"Class to derive the path along the point and away from the point."
|
||||
def __init__( self, loop, overhangPlaneAngle ):
|
||||
"Initialize."
|
||||
|
@ -211,7 +211,7 @@ class AlongAway:
|
|||
return self.getIsPointSupportedBySegment( self.pointIndex + 1 )
|
||||
|
||||
|
||||
class OverhangClockwise:
|
||||
class OverhangClockwise(object):
|
||||
"Class to get the intersection up from the point."
|
||||
def __init__( self, alongAway ):
|
||||
"Initialize."
|
||||
|
@ -269,7 +269,7 @@ class OverhangClockwise:
|
|||
self.alongAway.loop[ unsupportedBeginIndex : endIndex ] = supportPoints
|
||||
|
||||
|
||||
class OverhangDerivation:
|
||||
class OverhangDerivation(object):
|
||||
"Class to hold overhang variables."
|
||||
def __init__(self, elementNode, prefix):
|
||||
'Set defaults.'
|
||||
|
@ -277,7 +277,7 @@ class OverhangDerivation:
|
|||
self.overhangInclinationRadians = math.radians(evaluate.getEvaluatedFloat(0.0, elementNode, prefix + 'inclination'))
|
||||
|
||||
|
||||
class OverhangWiddershinsLeft:
|
||||
class OverhangWiddershinsLeft(object):
|
||||
"Class to get the intersection from the point down to the left."
|
||||
def __init__( self, alongAway ):
|
||||
"Initialize."
|
||||
|
|
|
@ -85,7 +85,7 @@ def processElementNode(elementNode):
|
|||
lineation.processElementNodeByFunction(elementNode, getManipulatedPaths)
|
||||
|
||||
|
||||
class RoundDerivation:
|
||||
class RoundDerivation(object):
|
||||
"Class to hold round variables."
|
||||
def __init__(self, elementNode, prefix, sideLength):
|
||||
'Set defaults.'
|
||||
|
|
|
@ -140,7 +140,7 @@ def processElementNode(elementNode):
|
|||
lineation.processElementNodeByFunction(elementNode, getManipulatedPaths)
|
||||
|
||||
|
||||
class SegmentDerivation:
|
||||
class SegmentDerivation(object):
|
||||
"Class to hold segment variables."
|
||||
def __init__(self, elementNode, prefix):
|
||||
'Set defaults.'
|
||||
|
@ -148,7 +148,7 @@ class SegmentDerivation:
|
|||
self.path = evaluate.getPathByPrefix(elementNode, getSegmentPathDefault(), prefix)
|
||||
|
||||
|
||||
class StartEnd:
|
||||
class StartEnd(object):
|
||||
'Class to get a start through end range.'
|
||||
def __init__(self, elementNode, modulo, prefix):
|
||||
"Initialize."
|
||||
|
|
|
@ -34,7 +34,7 @@ def processElementNode(elementNode):
|
|||
lineation.processElementNodeByFunction(elementNode, getManipulatedPaths)
|
||||
|
||||
|
||||
class WedgeDerivation:
|
||||
class WedgeDerivation(object):
|
||||
"Class to hold wedge variables."
|
||||
def __init__(self, elementNode, prefix):
|
||||
'Set defaults.'
|
||||
|
|
|
@ -89,7 +89,7 @@ def processElementNodeByDerivation(derivation, elementNode):
|
|||
bottomElementNode(derivation, target)
|
||||
|
||||
|
||||
class BottomDerivation:
|
||||
class BottomDerivation(object):
|
||||
"Class to hold bottom variables."
|
||||
def __init__(self, elementNode, prefix):
|
||||
'Set defaults.'
|
||||
|
|
|
@ -74,7 +74,7 @@ def processElementNode(elementNode):
|
|||
solid.processElementNodeByFunctionPair(elementNode, getManipulatedGeometryOutput, getManipulatedPaths)
|
||||
|
||||
|
||||
class InsetDerivation:
|
||||
class InsetDerivation(object):
|
||||
"Class to hold inset variables."
|
||||
def __init__(self, elementNode, prefix):
|
||||
'Set defaults.'
|
||||
|
|
|
@ -66,7 +66,7 @@ def processElementNode(elementNode):
|
|||
solid.processElementNodeByFunctionPair(elementNode, getManipulatedGeometryOutput, getManipulatedPaths)
|
||||
|
||||
|
||||
class OutsetDerivation:
|
||||
class OutsetDerivation(object):
|
||||
"Class to hold outset variables."
|
||||
def __init__(self, elementNode, prefix):
|
||||
'Set defaults.'
|
||||
|
|
|
@ -64,7 +64,7 @@ def getNewDerivation(elementNode, prefix, sideLength):
|
|||
return EquationDerivation(elementNode, prefix)
|
||||
|
||||
|
||||
class EquationDerivation:
|
||||
class EquationDerivation(object):
|
||||
"Class to hold equation variables."
|
||||
def __init__(self, elementNode, prefix):
|
||||
'Set defaults.'
|
||||
|
@ -81,7 +81,7 @@ class EquationDerivation:
|
|||
self.equationResults.append(EquationResult(elementNode, equationFunction, prefixedEquationName))
|
||||
|
||||
|
||||
class EquationResult:
|
||||
class EquationResult(object):
|
||||
"Class to get equation results."
|
||||
def __init__(self, elementNode, equationFunction, key):
|
||||
"Initialize."
|
||||
|
|
|
@ -82,7 +82,7 @@ def processElementNode(elementNode):
|
|||
solid.processElementNodeByFunctionPair(elementNode, getManipulatedGeometryOutput, getManipulatedPaths)
|
||||
|
||||
|
||||
class FlipDerivation:
|
||||
class FlipDerivation(object):
|
||||
"Class to hold flip variables."
|
||||
def __init__(self, elementNode, prefix):
|
||||
'Set defaults.'
|
||||
|
|
|
@ -68,7 +68,7 @@ class Cube(triangle_mesh.TriangleMesh):
|
|||
solid.processArchiveRemoveSolid(elementNode, self.getGeometryOutput())
|
||||
|
||||
|
||||
class CubeDerivation:
|
||||
class CubeDerivation(object):
|
||||
"Class to hold cube variables."
|
||||
def __init__(self, elementNode):
|
||||
'Set defaults.'
|
||||
|
|
|
@ -99,7 +99,7 @@ class Cylinder( cube.Cube ):
|
|||
solid.processArchiveRemoveSolid(elementNode, self.getGeometryOutput())
|
||||
|
||||
|
||||
class CylinderDerivation:
|
||||
class CylinderDerivation(object):
|
||||
"Class to hold cylinder variables."
|
||||
def __init__(self, elementNode):
|
||||
'Set defaults.'
|
||||
|
|
|
@ -73,7 +73,7 @@ class Sphere(cube.Cube):
|
|||
solid.processArchiveRemoveSolid(elementNode, self.getGeometryOutput())
|
||||
|
||||
|
||||
class SphereDerivation:
|
||||
class SphereDerivation(object):
|
||||
"Class to hold sphere variables."
|
||||
def __init__(self, elementNode):
|
||||
'Set defaults.'
|
||||
|
|
|
@ -724,7 +724,7 @@ def sortLoopsInOrderOfArea(isDescending, loops):
|
|||
loops.sort(key=euclidean.getAreaLoopAbsolute, reverse=isDescending)
|
||||
|
||||
|
||||
class EdgePair:
|
||||
class EdgePair(object):
|
||||
def __init__(self):
|
||||
'Pair of edges on a face.'
|
||||
self.edgeIndexes = []
|
||||
|
@ -743,7 +743,7 @@ class EdgePair:
|
|||
return self
|
||||
|
||||
|
||||
class FaceGenerator:
|
||||
class FaceGenerator(object):
|
||||
'A face generator.'
|
||||
def __init__(self, faces, indexedLoopBottom, indexedLoopTop):
|
||||
'Initialize.'
|
||||
|
@ -922,7 +922,7 @@ class TriangleMesh( group.Group ):
|
|||
face.setEdgeIndexesToVertexIndexes( self.edges, edgeTable )
|
||||
|
||||
|
||||
class ZoneArrangement:
|
||||
class ZoneArrangement(object):
|
||||
'A zone arrangement.'
|
||||
def __init__(self, layerHeight, vertexes):
|
||||
'Initialize the zone interval and the zZone table.'
|
||||
|
|
|
@ -46,7 +46,7 @@ def processElementNode(elementNode):
|
|||
processChildNodesByIndexValue( elementNode, function, inKey, elementNode.xmlObject, inValue[ inKey ] )
|
||||
|
||||
|
||||
class IndexValue:
|
||||
class IndexValue(object):
|
||||
"Class to get the in attribute, the index name and the value name."
|
||||
def __init__(self, elementNode):
|
||||
"Initialize."
|
||||
|
|
|
@ -548,7 +548,7 @@ def removeIntersection( loop ):
|
|||
return
|
||||
|
||||
|
||||
class BoundingLoop:
|
||||
class BoundingLoop(object):
|
||||
'A class to hold a bounding loop composed of a minimum complex, a maximum complex and an outset loop.'
|
||||
def __eq__(self, other):
|
||||
'Determine whether this bounding loop is identical to other one.'
|
||||
|
@ -614,7 +614,7 @@ class BoundingLoop:
|
|||
return self.minimum.imag > anotherBoundingLoop.maximum.imag or self.minimum.real > anotherBoundingLoop.maximum.real
|
||||
|
||||
|
||||
class CenterOutset:
|
||||
class CenterOutset(object):
|
||||
'A class to hold a center and an outset.'
|
||||
def __init__(self, center, outset):
|
||||
'Set the center and outset.'
|
||||
|
@ -626,7 +626,7 @@ class CenterOutset:
|
|||
return '%s\n%s' % (self.center, self.outset)
|
||||
|
||||
|
||||
class CircleIntersection:
|
||||
class CircleIntersection(object):
|
||||
'An intersection of two complex circles.'
|
||||
def __init__( self, circleNodeAhead, index, circleNodeBehind ):
|
||||
self.aheadMinusBehind = 0.5 * ( circleNodeAhead.dividedPoint - circleNodeBehind.dividedPoint )
|
||||
|
@ -695,7 +695,7 @@ class CircleIntersection:
|
|||
return False
|
||||
|
||||
|
||||
class CircleNode:
|
||||
class CircleNode(object):
|
||||
'A complex node of complex circle intersections.'
|
||||
def __init__(self, oneOverRadius, point):
|
||||
self.actualPoint = point
|
||||
|
|
|
@ -458,7 +458,7 @@ def getAlterationFile(fileName):
|
|||
## Configuration settings classes ##
|
||||
####################################
|
||||
|
||||
class GeneralSetting:
|
||||
class GeneralSetting(object):
|
||||
"Just a basic setting subclass"
|
||||
def getFromValue( self, name, repository, value ):
|
||||
#print('GeneralSetting:', name, repository, value )
|
||||
|
@ -477,7 +477,7 @@ class BooleanSetting( GeneralSetting ):
|
|||
def setValueToString(self, value):
|
||||
self.value = str(value) == "True"
|
||||
|
||||
class LatentStringVar:
|
||||
class LatentStringVar(object):
|
||||
"This is actually used as 'group' object for Radio buttons. (Did I mention the code is a mess?)"
|
||||
"This class doesn't have a name, and isn't really used for anything. It doesn't even know which repository it belongs to"
|
||||
|
||||
|
@ -505,7 +505,7 @@ class RadioCapitalizedButton( Radio ):
|
|||
repository.preferences.append(self)
|
||||
return self
|
||||
|
||||
class FileNameInput(StringSetting ):
|
||||
class FileNameInput(StringSetting):
|
||||
"A class to display, read & write a fileName."
|
||||
def getFromFileName( self, fileTypes, name, repository, value ):
|
||||
#print('FileNameInput:getFromFileName:', self, fileTypes, name, repository, value )
|
||||
|
@ -513,12 +513,12 @@ class FileNameInput(StringSetting ):
|
|||
self.value = value
|
||||
return self
|
||||
|
||||
class HelpPage:
|
||||
class HelpPage(object):
|
||||
"A class to open a help page."
|
||||
def getOpenFromAbsolute( self, hypertextAddress ):
|
||||
return self
|
||||
|
||||
class MenuButtonDisplay:
|
||||
class MenuButtonDisplay(object):
|
||||
"A class to add a combo box selection."
|
||||
def getFromName( self, name, repository ):
|
||||
#print('MenuButtonDisplay->getFromName:', name, repository )
|
||||
|
@ -553,7 +553,7 @@ class MenuRadio( BooleanSetting ):
|
|||
menuButtonDisplay.addRadio(self, value)
|
||||
return self
|
||||
|
||||
class LabelDisplay:
|
||||
class LabelDisplay(object):
|
||||
"A class to add a label."
|
||||
def getFromName( self, name, repository ):
|
||||
"Initialize."
|
||||
|
@ -574,7 +574,7 @@ class FloatSpin( FloatSetting ):
|
|||
repository.preferences.append(self)
|
||||
return self
|
||||
|
||||
class LabelSeparator:
|
||||
class LabelSeparator(object):
|
||||
"A class to add a label and menu separator."
|
||||
def getFromRepository( self, repository ):
|
||||
"Initialize."
|
||||
|
@ -596,7 +596,7 @@ class IntSpin(FloatSpin):
|
|||
# Helper classes
|
||||
##########################
|
||||
|
||||
class LayerCount:
|
||||
class LayerCount(object):
|
||||
'A class to handle the layerIndex.'
|
||||
def __init__(self):
|
||||
'Initialize.'
|
||||
|
|
|
@ -485,7 +485,7 @@ def processSVGElementtext(elementNode, svgReader):
|
|||
loopLayer.loops.append(matrixSVG.getTransformedPath(translatedLoop))
|
||||
|
||||
|
||||
class FontReader:
|
||||
class FontReader(object):
|
||||
"Class to read a font in the fonts folder."
|
||||
def __init__(self, fontFamily):
|
||||
"Initialize."
|
||||
|
@ -514,7 +514,7 @@ class FontReader:
|
|||
return self.glyphDictionary[character]
|
||||
|
||||
|
||||
class Glyph:
|
||||
class Glyph(object):
|
||||
"Class to handle a glyph."
|
||||
def __init__(self, elementNode, unitsPerEM, yAxisPointingUpward):
|
||||
"Initialize."
|
||||
|
@ -541,7 +541,7 @@ class Glyph:
|
|||
return sizedLoops
|
||||
|
||||
|
||||
class MatrixSVG:
|
||||
class MatrixSVG(object):
|
||||
"Two by three svg matrix."
|
||||
def __init__(self, tricomplex=None):
|
||||
"Initialize."
|
||||
|
@ -591,7 +591,7 @@ class MatrixSVG:
|
|||
return transformedPaths
|
||||
|
||||
|
||||
class PathReader:
|
||||
class PathReader(object):
|
||||
"Class to read svg path."
|
||||
def __init__(self, elementNode, loops, yAxisPointingUpward):
|
||||
"Add to path string to loops."
|
||||
|
@ -837,7 +837,7 @@ class PathReader:
|
|||
self.processPathWordZ()
|
||||
|
||||
|
||||
class SVGReader:
|
||||
class SVGReader(object):
|
||||
"An svg carving."
|
||||
def __init__(self):
|
||||
"Add empty lists."
|
||||
|
|
|
@ -92,7 +92,7 @@ def setSVGCarvingCorners(cornerMaximum, cornerMinimum, layerHeight, loopLayers):
|
|||
cornerMinimum.z -= halfLayerThickness
|
||||
|
||||
|
||||
class SVGWriter:
|
||||
class SVGWriter(object):
|
||||
'A base class to get an svg skein from a carving.'
|
||||
def __init__(self,
|
||||
addLayerTemplateToSVG,
|
||||
|
|
|
@ -93,7 +93,7 @@ def getFileText(fileName, printWarning=True, readMode='r'):
|
|||
return ''
|
||||
|
||||
|
||||
class CDATASectionMonad:
|
||||
class CDATASectionMonad(object):
|
||||
'A monad to handle a CDATASection node.'
|
||||
def __init__(self, input, parentNode):
|
||||
'Initialize.'
|
||||
|
@ -112,7 +112,7 @@ class CDATASectionMonad:
|
|||
return self
|
||||
|
||||
|
||||
class CDATASectionNode:
|
||||
class CDATASectionNode(object):
|
||||
'A CDATASection node.'
|
||||
def __init__(self, parentNode, textContent=''):
|
||||
'Initialize.'
|
||||
|
@ -228,7 +228,7 @@ class CommentNode(CDATASectionNode):
|
|||
nodeType = property(getNodeType)
|
||||
|
||||
|
||||
class DocumentNode:
|
||||
class DocumentNode(object):
|
||||
'A class to parse an xml text and store the elements.'
|
||||
def __init__(self, fileName, xmlText):
|
||||
'Initialize.'
|
||||
|
@ -337,7 +337,7 @@ class DocumentTypeNode(CDATASectionNode):
|
|||
nodeType = property(getNodeType)
|
||||
|
||||
|
||||
class ElementEndMonad:
|
||||
class ElementEndMonad(object):
|
||||
'A monad to look for the end of an ElementNode tag.'
|
||||
def __init__(self, parentNode):
|
||||
'Initialize.'
|
||||
|
@ -350,7 +350,7 @@ class ElementEndMonad:
|
|||
return self
|
||||
|
||||
|
||||
class ElementLocalNameMonad:
|
||||
class ElementLocalNameMonad(object):
|
||||
'A monad to set the local name of an ElementNode.'
|
||||
def __init__(self, character, parentNode):
|
||||
'Initialize.'
|
||||
|
@ -388,7 +388,7 @@ class ElementLocalNameMonad:
|
|||
self.elementNode.localName = self.input.getvalue().lower().strip()
|
||||
|
||||
|
||||
class ElementNode:
|
||||
class ElementNode(object):
|
||||
'An xml element.'
|
||||
def __init__(self, parentNode=None):
|
||||
'Initialize.'
|
||||
|
@ -725,7 +725,7 @@ class ElementNode:
|
|||
textContent = property(getTextContent)
|
||||
|
||||
|
||||
class ElementReadMonad:
|
||||
class ElementReadMonad(object):
|
||||
'A monad to read the attributes of the ElementNode tag.'
|
||||
def __init__(self, elementNode):
|
||||
'Initialize.'
|
||||
|
@ -744,7 +744,7 @@ class ElementReadMonad:
|
|||
return KeyMonad(character, self.elementNode)
|
||||
|
||||
|
||||
class KeyMonad:
|
||||
class KeyMonad(object):
|
||||
'A monad to set the key of an attribute of an ElementNode.'
|
||||
def __init__(self, character, elementNode):
|
||||
'Initialize.'
|
||||
|
@ -784,7 +784,7 @@ class OpenMonad(ElementEndMonad):
|
|||
return self
|
||||
|
||||
|
||||
class TextMonad:
|
||||
class TextMonad(object):
|
||||
'A monad to handle the open tag character and set the text.'
|
||||
def __init__(self, parentNode):
|
||||
'Initialize.'
|
||||
|
@ -824,7 +824,7 @@ class TextNode(CDATASectionNode):
|
|||
nodeType = property(getNodeType)
|
||||
|
||||
|
||||
class ValueMonad:
|
||||
class ValueMonad(object):
|
||||
'A monad to set the value of an attribute of an ElementNode.'
|
||||
def __init__(self, elementNode, key):
|
||||
'Initialize.'
|
||||
|
|
|
@ -61,7 +61,7 @@ def writeOutput(fileName):
|
|||
return skeinforge_craft.writeOutput(fileName)
|
||||
|
||||
|
||||
class CraftMenuSaveListener:
|
||||
class CraftMenuSaveListener(object):
|
||||
"A class to update a craft menu."
|
||||
def __init__( self, menu, window ):
|
||||
"Set the menu."
|
||||
|
@ -75,7 +75,7 @@ class CraftMenuSaveListener:
|
|||
addToCraftMenu( self.menu )
|
||||
|
||||
|
||||
class CraftRadioButtonsSaveListener:
|
||||
class CraftRadioButtonsSaveListener(object):
|
||||
"A class to update the craft radio buttons."
|
||||
def addToDialog( self, gridPosition ):
|
||||
"Add this to the dialog."
|
||||
|
|
|
@ -136,7 +136,7 @@ def writeOutput(fileName, shouldAnalyze=True):
|
|||
skeinforge_craft.writeChainTextWithNounMessage(fileName, 'alteration', shouldAnalyze)
|
||||
|
||||
|
||||
class AlterationRepository:
|
||||
class AlterationRepository(object):
|
||||
"A class to handle the alteration settings."
|
||||
def __init__(self):
|
||||
"Set the default settings, execute title & settings fileName."
|
||||
|
@ -158,7 +158,7 @@ class AlterationRepository:
|
|||
writeOutput(fileName)
|
||||
|
||||
|
||||
class AlterationSkein:
|
||||
class AlterationSkein(object):
|
||||
"A class to alteration a skein of extrusions."
|
||||
def __init__(self):
|
||||
'Initialize.'
|
||||
|
|
|
@ -83,7 +83,7 @@ def writeOutput(fileName, shouldAnalyze=True):
|
|||
skeinforge_craft.writeSVGTextWithNounMessage(fileName, BottomRepository(), shouldAnalyze)
|
||||
|
||||
|
||||
class BottomRepository:
|
||||
class BottomRepository(object):
|
||||
"A class to handle the bottom settings."
|
||||
def __init__(self):
|
||||
"Set the default settings, execute title & settings fileName."
|
||||
|
@ -106,7 +106,7 @@ class BottomRepository:
|
|||
writeOutput(fileName)
|
||||
|
||||
|
||||
class BottomSkein:
|
||||
class BottomSkein(object):
|
||||
"A class to bottom a skein of extrusions."
|
||||
def getCraftedGcode(self, fileName, repository, svgText):
|
||||
"Parse svgText and store the bottom svgText."
|
||||
|
|
|
@ -145,7 +145,7 @@ def writeOutput(fileName, shouldAnalyze=True):
|
|||
settings.openSVGPage(suffixFileName, repository.svgViewer.value)
|
||||
|
||||
|
||||
class CarveRepository:
|
||||
class CarveRepository(object):
|
||||
"A class to handle the carve settings."
|
||||
def __init__(self):
|
||||
"Set the default settings, execute title & settings fileName."
|
||||
|
@ -189,7 +189,7 @@ class CarveRepository:
|
|||
writeOutput(fileName)
|
||||
|
||||
|
||||
class CarveSkein:
|
||||
class CarveSkein(object):
|
||||
"A class to carve a carving."
|
||||
def getCarvedSVG(self, carving, fileName, repository):
|
||||
"Parse gnu triangulated surface text and store the carved gcode."
|
||||
|
|
|
@ -198,7 +198,7 @@ def writeOutput(fileName, shouldAnalyze=True):
|
|||
skeinforge_craft.writeChainTextWithNounMessage(fileName, 'chamber', shouldAnalyze)
|
||||
|
||||
|
||||
class ChamberRepository:
|
||||
class ChamberRepository(object):
|
||||
"A class to handle the chamber settings."
|
||||
def __init__(self):
|
||||
"Set the default settings, execute title & settings fileName."
|
||||
|
@ -225,7 +225,7 @@ class ChamberRepository:
|
|||
|
||||
|
||||
|
||||
class ChamberSkein:
|
||||
class ChamberSkein(object):
|
||||
"A class to chamber a skein of extrusions."
|
||||
def __init__(self):
|
||||
'Initialize.'
|
||||
|
|
|
@ -135,7 +135,7 @@ def writeOutput(fileName, shouldAnalyze=True):
|
|||
settings.openSVGPage( suffixFileName, repository.svgViewer.value )
|
||||
|
||||
|
||||
class ChopRepository:
|
||||
class ChopRepository(object):
|
||||
"A class to handle the chop settings."
|
||||
def __init__(self):
|
||||
"Set the default settings, execute title & settings fileName."
|
||||
|
@ -164,7 +164,7 @@ class ChopRepository:
|
|||
writeOutput(fileName)
|
||||
|
||||
|
||||
class ChopSkein:
|
||||
class ChopSkein(object):
|
||||
"A class to chop a carving."
|
||||
def addExtraTopLayerIfNecessary( self, carving, layerHeight, loopLayers ):
|
||||
"Add extra top layer if necessary."
|
||||
|
|
|
@ -130,7 +130,7 @@ def writeOutput(fileName, shouldAnalyze=True):
|
|||
settings.openSVGPage( suffixFileName, repository.svgViewer.value )
|
||||
|
||||
|
||||
class CleaveRepository:
|
||||
class CleaveRepository(object):
|
||||
"A class to handle the cleave settings."
|
||||
def __init__(self):
|
||||
"Set the default settings, execute title & settings fileName."
|
||||
|
@ -158,7 +158,7 @@ class CleaveRepository:
|
|||
writeOutput(fileName)
|
||||
|
||||
|
||||
class CleaveSkein:
|
||||
class CleaveSkein(object):
|
||||
"A class to cleave a carving."
|
||||
def getCarvedSVG( self, carving, fileName, repository ):
|
||||
"Parse gnu triangulated surface text and store the cleaved gcode."
|
||||
|
|
|
@ -82,7 +82,7 @@ def writeOutput(fileName, shouldAnalyze=True):
|
|||
skeinforge_craft.writeChainTextWithNounMessage(fileName, 'clip', shouldAnalyze)
|
||||
|
||||
|
||||
class ClipRepository:
|
||||
class ClipRepository(object):
|
||||
"A class to handle the clip settings."
|
||||
def __init__(self):
|
||||
"Set the default settings, execute title & settings fileName."
|
||||
|
@ -101,7 +101,7 @@ class ClipRepository:
|
|||
writeOutput(fileName)
|
||||
|
||||
|
||||
class ClipSkein:
|
||||
class ClipSkein(object):
|
||||
"A class to clip a skein of extrusions."
|
||||
def __init__(self):
|
||||
self.distanceFeedRate = gcodec.DistanceFeedRate()
|
||||
|
|
|
@ -70,7 +70,7 @@ def writeOutput(fileName, shouldAnalyze=True):
|
|||
skeinforge_craft.writeChainTextWithNounMessage(fileName, 'coil', shouldAnalyze)
|
||||
|
||||
|
||||
class CoilRepository:
|
||||
class CoilRepository(object):
|
||||
"A class to handle the coil settings."
|
||||
def __init__(self):
|
||||
"Set the default settings, execute title & settings fileName."
|
||||
|
@ -88,7 +88,7 @@ class CoilRepository:
|
|||
|
||||
|
||||
|
||||
class CoilSkein:
|
||||
class CoilSkein(object):
|
||||
"A class to coil a skein of extrusions."
|
||||
def __init__(self):
|
||||
self.boundaryLayers = []
|
||||
|
|
|
@ -125,7 +125,7 @@ def writeOutput(fileName, shouldAnalyze=True):
|
|||
skeinforge_craft.writeChainTextWithNounMessage(fileName, 'comb', shouldAnalyze)
|
||||
|
||||
|
||||
class BoundarySegment:
|
||||
class BoundarySegment(object):
|
||||
'A boundary and segment.'
|
||||
def __init__(self, begin):
|
||||
'Initialize'
|
||||
|
@ -144,7 +144,7 @@ class BoundarySegment:
|
|||
return (self.segment[0], end)
|
||||
|
||||
|
||||
class CombRepository:
|
||||
class CombRepository(object):
|
||||
"A class to handle the comb settings."
|
||||
def __init__(self):
|
||||
"Set the default settings, execute title & settings fileName."
|
||||
|
@ -162,7 +162,7 @@ class CombRepository:
|
|||
writeOutput(fileName)
|
||||
|
||||
|
||||
class CombSkein:
|
||||
class CombSkein(object):
|
||||
"A class to comb a skein of extrusions."
|
||||
def __init__(self):
|
||||
'Initialize'
|
||||
|
@ -451,7 +451,7 @@ class CombSkein:
|
|||
self.distanceFeedRate.addLineCheckAlteration(line)
|
||||
|
||||
|
||||
class DistancePoint:
|
||||
class DistancePoint(object):
|
||||
'A class to get the distance of the point along a segment inside a loop.'
|
||||
def __init__(self, begin, loop, runningJumpSpace, segment):
|
||||
'Initialize'
|
||||
|
|
|
@ -131,7 +131,7 @@ def writeOutput(fileName, shouldAnalyze=True):
|
|||
skeinforge_craft.writeChainTextWithNounMessage(fileName, 'cool', shouldAnalyze)
|
||||
|
||||
|
||||
class CoolRepository:
|
||||
class CoolRepository(object):
|
||||
'A class to handle the cool settings.'
|
||||
def __init__(self):
|
||||
'Set the default settings, execute title & settings fileName.'
|
||||
|
@ -172,7 +172,7 @@ class CoolRepository:
|
|||
writeOutput(fileName)
|
||||
|
||||
|
||||
class CoolSkein:
|
||||
class CoolSkein(object):
|
||||
'A class to cool a skein of extrusions.'
|
||||
def __init__(self):
|
||||
self.boundaryLayer = None
|
||||
|
|
|
@ -137,7 +137,7 @@ def writeOutput(fileName, shouldAnalyze=True):
|
|||
skeinforge_craft.writeChainTextWithNounMessage(fileName, 'dimension', shouldAnalyze)
|
||||
|
||||
|
||||
class DimensionRepository:
|
||||
class DimensionRepository(object):
|
||||
'A class to handle the dimension settings.'
|
||||
def __init__(self):
|
||||
'Set the default settings, execute title & settings fileName.'
|
||||
|
@ -169,7 +169,7 @@ class DimensionRepository:
|
|||
writeOutput(fileName)
|
||||
|
||||
|
||||
class DimensionSkein:
|
||||
class DimensionSkein(object):
|
||||
'A class to dimension a skein of extrusions.'
|
||||
def __init__(self):
|
||||
'Initialize.'
|
||||
|
|
|
@ -80,7 +80,7 @@ def writeOutput(fileName, shouldAnalyze=True):
|
|||
skeinforge_craft.writeChainTextWithNounMessage(fileName, 'drill', shouldAnalyze)
|
||||
|
||||
|
||||
class ThreadLayer:
|
||||
class ThreadLayer(object):
|
||||
"A layer of loops and paths."
|
||||
def __init__( self, z ):
|
||||
"Thread layer constructor."
|
||||
|
@ -92,7 +92,7 @@ class ThreadLayer:
|
|||
return '%s, %s' % ( self.z, self.points )
|
||||
|
||||
|
||||
class DrillRepository:
|
||||
class DrillRepository(object):
|
||||
"A class to handle the drill settings."
|
||||
def __init__(self):
|
||||
"Set the default settings, execute title & settings fileName."
|
||||
|
@ -110,7 +110,7 @@ class DrillRepository:
|
|||
writeOutput(fileName)
|
||||
|
||||
|
||||
class DrillSkein:
|
||||
class DrillSkein(object):
|
||||
"A class to drill a skein of extrusions."
|
||||
def __init__(self):
|
||||
self.boundary = None
|
||||
|
|
|
@ -84,7 +84,7 @@ def writeOutput(fileName, shouldAnalyze=True):
|
|||
skeinforge_craft.writeChainTextWithNounMessage(fileName, 'dwindle', shouldAnalyze)
|
||||
|
||||
|
||||
class DwindleRepository:
|
||||
class DwindleRepository(object):
|
||||
'A class to handle the dwindle settings.'
|
||||
def __init__(self):
|
||||
'Set the default settings, execute title & settings fileName.'
|
||||
|
@ -106,7 +106,7 @@ class DwindleRepository:
|
|||
writeOutput(fileName)
|
||||
|
||||
|
||||
class DwindleSkein:
|
||||
class DwindleSkein(object):
|
||||
'A class to dwindle a skein of extrusions.'
|
||||
def __init__(self):
|
||||
'Initialize.'
|
||||
|
@ -207,7 +207,7 @@ class DwindleSkein:
|
|||
self.distanceFeedRate.addLine(line)
|
||||
|
||||
|
||||
class ThreadSection:
|
||||
class ThreadSection(object):
|
||||
'A class to handle a volumetric section of a thread.'
|
||||
def __init__(self, feedRateMinute, flowRate, location, oldLocation):
|
||||
'Initialize.'
|
||||
|
|
|
@ -310,7 +310,7 @@ def writeOutput(fileName, shouldAnalyze=True):
|
|||
return window
|
||||
|
||||
|
||||
class ExportRepository:
|
||||
class ExportRepository(object):
|
||||
'A class to handle the export settings.'
|
||||
def __init__(self):
|
||||
'Set the default settings, execute title & settings fileName.'
|
||||
|
@ -363,7 +363,7 @@ class ExportRepository:
|
|||
writeOutput(fileName)
|
||||
|
||||
|
||||
class ExportSkein:
|
||||
class ExportSkein(object):
|
||||
'A class to export a skein of extrusions.'
|
||||
def __init__(self):
|
||||
self.crafting = False
|
||||
|
|
|
@ -132,7 +132,7 @@ def writeOutput( fileName, gcodeText = ''):
|
|||
print('The converted file is saved as ' + archive.getSummarizedFileName(suffixFileName))
|
||||
|
||||
|
||||
class GcodeStepRepository:
|
||||
class GcodeStepRepository(object):
|
||||
'A class to handle the export settings.'
|
||||
def __init__(self):
|
||||
'Set the default settings, execute title & settings fileName.'
|
||||
|
@ -163,7 +163,7 @@ class GcodeStepRepository:
|
|||
writeOutput(fileName)
|
||||
|
||||
|
||||
class GcodeStepSkein:
|
||||
class GcodeStepSkein(object):
|
||||
'A class to convert gcode into 16 byte binary segments.'
|
||||
def __init__(self):
|
||||
self.oldFeedRateString = None
|
||||
|
|
|
@ -117,7 +117,7 @@ def writeOutput( fileName, gcodeText = ''):
|
|||
print('The converted file is saved as ' + archive.getSummarizedFileName(suffixFileName) )
|
||||
|
||||
|
||||
class GcodeTimeSegmentRepository:
|
||||
class GcodeTimeSegmentRepository(object):
|
||||
"A class to handle the export settings."
|
||||
def __init__(self):
|
||||
"Set the default settings, execute title & settings fileName."
|
||||
|
@ -147,7 +147,7 @@ class GcodeTimeSegmentRepository:
|
|||
writeOutput(fileName)
|
||||
|
||||
|
||||
class GcodeTimeSegmentSkein:
|
||||
class GcodeTimeSegmentSkein(object):
|
||||
"A class to convert gcode into time segments."
|
||||
def __init__(self):
|
||||
'Initialize.'
|
||||
|
|
|
@ -62,7 +62,7 @@ def getTextLines(text):
|
|||
return text.replace('\r', '\n').split('\n')
|
||||
|
||||
|
||||
class GcodeSmallSkein:
|
||||
class GcodeSmallSkein(object):
|
||||
"A class to remove redundant z and feed rate parameters from a skein of extrusions."
|
||||
def __init__(self):
|
||||
self.lastFeedRateString = None
|
||||
|
|
|
@ -81,8 +81,7 @@ def writeOutput(fileName, shouldAnalyze=True):
|
|||
"Feed a gcode linear move file."
|
||||
skeinforge_craft.writeChainTextWithNounMessage(fileName, 'feed', shouldAnalyze)
|
||||
|
||||
|
||||
class FeedRepository:
|
||||
class FeedRepository(object):
|
||||
"A class to handle the feed settings."
|
||||
def __init__(self):
|
||||
"Set the default settings, execute title & settings fileName."
|
||||
|
@ -102,7 +101,7 @@ class FeedRepository:
|
|||
writeOutput(fileName)
|
||||
|
||||
|
||||
class FeedSkein:
|
||||
class FeedSkein(object):
|
||||
"A class to feed a skein of cuttings."
|
||||
def __init__(self):
|
||||
self.distanceFeedRate = gcodec.DistanceFeedRate()
|
||||
|
|
|
@ -761,7 +761,7 @@ def writeOutput(fileName, shouldAnalyze=True):
|
|||
skeinforge_craft.writeChainTextWithNounMessage(fileName, 'fill', shouldAnalyze)
|
||||
|
||||
|
||||
class FillRepository:
|
||||
class FillRepository(object):
|
||||
'A class to handle the fill settings.'
|
||||
def __init__(self):
|
||||
'Set the default settings, execute title & settings fileName.'
|
||||
|
@ -823,7 +823,7 @@ class FillRepository:
|
|||
writeOutput(fileName)
|
||||
|
||||
|
||||
class FillSkein:
|
||||
class FillSkein(object):
|
||||
'A class to fill a skein of extrusions.'
|
||||
def __init__(self):
|
||||
'Initialize.'
|
||||
|
@ -1334,7 +1334,7 @@ class FillSkein:
|
|||
self.gridJunctionMiddle = halfGridMinusWidth * repository.gridJunctionSeparationOverOctogonRadiusAtMiddle.value
|
||||
|
||||
|
||||
class RotatedLayer:
|
||||
class RotatedLayer(object):
|
||||
'A rotated layer.'
|
||||
def __init__( self, z ):
|
||||
'Initialize.'
|
||||
|
@ -1348,7 +1348,7 @@ class RotatedLayer:
|
|||
return '%s, %s, %s' % ( self.z, self.rotation, self.nestedRings )
|
||||
|
||||
|
||||
class YIntersectionPath:
|
||||
class YIntersectionPath(object):
|
||||
'A class to hold the y intersection position, the loop which it intersected and the point index of the loop which it intersected.'
|
||||
def __init__( self, pathIndex, pointIndex, y ):
|
||||
'Initialize from the path, point index, and y.'
|
||||
|
|
|
@ -109,7 +109,7 @@ def writeOutput(fileName, shouldAnalyze=True):
|
|||
skeinforge_craft.writeChainTextWithNounMessage(fileName, 'fillet', shouldAnalyze)
|
||||
|
||||
|
||||
class BevelSkein:
|
||||
class BevelSkein(object):
|
||||
"A class to bevel a skein of extrusions."
|
||||
def __init__(self):
|
||||
self.distanceFeedRate = gcodec.DistanceFeedRate()
|
||||
|
@ -352,7 +352,7 @@ class ArcRadiusSkein( ArcPointSkein ):
|
|||
return ' R' + ( self.distanceFeedRate.getRounded(radius) )
|
||||
|
||||
|
||||
class FilletRepository:
|
||||
class FilletRepository(object):
|
||||
"A class to handle the fillet settings."
|
||||
def __init__(self):
|
||||
"Set the default settings, execute title & settings fileName."
|
||||
|
|
|
@ -67,7 +67,7 @@ def writeOutput(fileName, shouldAnalyze=True):
|
|||
skeinforge_craft.writeChainTextWithNounMessage(fileName, 'flow', shouldAnalyze)
|
||||
|
||||
|
||||
class FlowRepository:
|
||||
class FlowRepository(object):
|
||||
"A class to handle the flow settings."
|
||||
def __init__(self):
|
||||
"Set the default settings, execute title & settings fileName."
|
||||
|
@ -84,7 +84,7 @@ class FlowRepository:
|
|||
writeOutput(fileName)
|
||||
|
||||
|
||||
class FlowSkein:
|
||||
class FlowSkein(object):
|
||||
"A class to flow a skein of extrusions."
|
||||
def __init__(self):
|
||||
self.distanceFeedRate = gcodec.DistanceFeedRate()
|
||||
|
|
|
@ -71,7 +71,7 @@ def writeOutput(fileName, shouldAnalyze=True):
|
|||
skeinforge_craft.writeChainTextWithNounMessage(fileName, 'home', shouldAnalyze)
|
||||
|
||||
|
||||
class HomeRepository:
|
||||
class HomeRepository(object):
|
||||
"A class to handle the home settings."
|
||||
def __init__(self):
|
||||
"Set the default settings, execute title & settings fileName."
|
||||
|
@ -89,7 +89,7 @@ class HomeRepository:
|
|||
writeOutput(fileName)
|
||||
|
||||
|
||||
class HomeSkein:
|
||||
class HomeSkein(object):
|
||||
"A class to home a skein of extrusions."
|
||||
def __init__(self):
|
||||
self.distanceFeedRate = gcodec.DistanceFeedRate()
|
||||
|
|
|
@ -83,7 +83,7 @@ def writeOutput(fileName, shouldAnalyze=True):
|
|||
skeinforge_craft.writeChainTextWithNounMessage(fileName, 'hop', shouldAnalyze)
|
||||
|
||||
|
||||
class HopRepository:
|
||||
class HopRepository(object):
|
||||
"A class to handle the hop settings."
|
||||
def __init__(self):
|
||||
"Set the default settings, execute title & settings fileName."
|
||||
|
@ -102,7 +102,7 @@ class HopRepository:
|
|||
writeOutput(fileName)
|
||||
|
||||
|
||||
class HopSkein:
|
||||
class HopSkein(object):
|
||||
"A class to hop a skein of extrusions."
|
||||
def __init__(self):
|
||||
'Initialize'
|
||||
|
|
|
@ -280,7 +280,7 @@ def writeOutput(fileName, shouldAnalyze=True):
|
|||
skeinforge_craft.writeChainTextWithNounMessage(fileName, 'inset', shouldAnalyze)
|
||||
|
||||
|
||||
class InsetRepository:
|
||||
class InsetRepository(object):
|
||||
"A class to handle the inset settings."
|
||||
def __init__(self):
|
||||
"Set the default settings, execute title & settings fileName."
|
||||
|
@ -308,7 +308,7 @@ class InsetRepository:
|
|||
writeOutput(fileName)
|
||||
|
||||
|
||||
class InsetSkein:
|
||||
class InsetSkein(object):
|
||||
"A class to inset a skein of extrusions."
|
||||
def __init__(self):
|
||||
'Initialize.'
|
||||
|
|
|
@ -106,7 +106,7 @@ def writeOutput(fileName, shouldAnalyze=True):
|
|||
skeinforge_craft.writeChainTextWithNounMessage(fileName, 'jitter', shouldAnalyze)
|
||||
|
||||
|
||||
class JitterRepository:
|
||||
class JitterRepository(object):
|
||||
'A class to handle the jitter settings.'
|
||||
def __init__(self):
|
||||
'Set the default settings, execute title & settings fileName.'
|
||||
|
@ -124,7 +124,7 @@ class JitterRepository:
|
|||
writeOutput(fileName)
|
||||
|
||||
|
||||
class JitterSkein:
|
||||
class JitterSkein(object):
|
||||
'A class to jitter a skein of extrusions.'
|
||||
def __init__(self):
|
||||
'Initialize.'
|
||||
|
|
|
@ -62,7 +62,7 @@ def writeOutput(fileName, shouldAnalyze=True):
|
|||
skeinforge_craft.writeChainTextWithNounMessage(fileName, 'joris', shouldAnalyze)
|
||||
|
||||
|
||||
class JorisRepository:
|
||||
class JorisRepository(object):
|
||||
'A class to handle the Joris settings.'
|
||||
def __init__(self):
|
||||
'Set the default settings, execute title & settings fileName.'
|
||||
|
@ -81,7 +81,7 @@ class JorisRepository:
|
|||
writeOutput(fileName)
|
||||
|
||||
|
||||
class JorisSkein:
|
||||
class JorisSkein(object):
|
||||
'A class to Joris a skein of extrusions.'
|
||||
def __init__(self):
|
||||
'Initialize.'
|
||||
|
|
|
@ -78,7 +78,7 @@ def writeOutput(fileName, shouldAnalyze=True):
|
|||
skeinforge_craft.writeChainTextWithNounMessage(fileName, 'lash', shouldAnalyze)
|
||||
|
||||
|
||||
class LashRepository:
|
||||
class LashRepository(object):
|
||||
"A class to handle the lash settings."
|
||||
def __init__(self):
|
||||
"Set the default settings, execute title & settings fileName."
|
||||
|
@ -97,7 +97,7 @@ class LashRepository:
|
|||
writeOutput(fileName)
|
||||
|
||||
|
||||
class LashSkein:
|
||||
class LashSkein(object):
|
||||
"A class to lash a skein of extrusions."
|
||||
def __init__(self):
|
||||
self.distanceFeedRate = gcodec.DistanceFeedRate()
|
||||
|
|
|
@ -70,7 +70,7 @@ def writeOutput(fileName, shouldAnalyze=True):
|
|||
skeinforge_craft.writeChainTextWithNounMessage(fileName, 'lift', shouldAnalyze)
|
||||
|
||||
|
||||
class LiftRepository:
|
||||
class LiftRepository(object):
|
||||
"A class to handle the lift settings."
|
||||
def __init__(self):
|
||||
"Set the default settings, execute title & settings fileName."
|
||||
|
@ -88,7 +88,7 @@ class LiftRepository:
|
|||
writeOutput(fileName)
|
||||
|
||||
|
||||
class LiftSkein:
|
||||
class LiftSkein(object):
|
||||
"A class to lift a skein of extrusions."
|
||||
def __init__(self):
|
||||
self.distanceFeedRate = gcodec.DistanceFeedRate()
|
||||
|
|
|
@ -71,7 +71,7 @@ def writeOutput(fileName, shouldAnalyze=True):
|
|||
skeinforge_craft.writeChainTextWithNounMessage(fileName, 'limit', shouldAnalyze)
|
||||
|
||||
|
||||
class LimitRepository:
|
||||
class LimitRepository(object):
|
||||
'A class to handle the limit settings.'
|
||||
def __init__(self):
|
||||
'Set the default settings, execute title & settings fileName.'
|
||||
|
@ -89,7 +89,7 @@ class LimitRepository:
|
|||
writeOutput(fileName)
|
||||
|
||||
|
||||
class LimitSkein:
|
||||
class LimitSkein(object):
|
||||
'A class to limit a skein of extrusions.'
|
||||
def __init__(self):
|
||||
self.distanceFeedRate = gcodec.DistanceFeedRate()
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue