Example #1
0
def getManipulatedPaths(close, elementNode, loop, prefix, sideLength):
    "Get flipped paths."
    if len(loop) < 1:
        return [[]]
    derivation = BottomDerivation(elementNode, prefix)
    targetMatrix = matrix.getBranchMatrixSetElementNode(elementNode)
    transformedLoop = matrix.getTransformedVector3s(matrix.getIdentityTetragrid(targetMatrix.tetragrid), loop)
    lift = derivation.altitude + derivation.getAdditionalPathLift() - euclidean.getBottomByPath(transformedLoop)
    for point in loop:
        point.z += lift
    return [loop]
Example #2
0
def getManipulatedPaths(close, elementNode, loop, prefix, sideLength):
	'Get flipped paths.'
	if len(loop) < 1:
		return [[]]
	derivation = BottomDerivation(elementNode, prefix)
	targetMatrix = matrix.getBranchMatrixSetElementNode(elementNode)
	transformedLoop = matrix.getTransformedVector3s(matrix.getIdentityTetragrid(targetMatrix.tetragrid), loop)
	lift = derivation.altitude + derivation.getAdditionalPathLift() - euclidean.getBottomByPath(transformedLoop)
	for point in loop:
		point.z += lift
	return [loop]
Example #3
0
def bottomElementNode(derivation, target):
    "Bottom target."
    xmlObject = target.xmlObject
    if xmlObject == None:
        print("Warning, bottomTarget in bottom could not get xmlObject for:")
        print(target)
        print(derivation.elementNode)
        return
    targetMatrix = matrix.getBranchMatrixSetElementNode(target)
    lift = derivation.altitude
    transformedPaths = xmlObject.getTransformedPaths()
    if len(transformedPaths) > 0:
        lift += derivation.getAdditionalPathLift() - euclidean.getBottomByPaths(transformedPaths)
    else:
        lift -= boolean_geometry.getMinimumZ(xmlObject)
    targetMatrix.tetragrid = matrix.getIdentityTetragrid(targetMatrix.tetragrid)
    targetMatrix.tetragrid[2][3] += lift
    matrix.setElementNodeDictionaryMatrix(target, targetMatrix)
Example #4
0
def bottomElementNode(derivation, target):
	"Bottom target."
	xmlObject = target.xmlObject
	if xmlObject == None:
		print('Warning, bottomTarget in bottom could not get xmlObject for:')
		print(target)
		print(derivation.elementNode)
		return
	targetMatrix = matrix.getBranchMatrixSetElementNode(target)
	lift = derivation.altitude
	transformedPaths = xmlObject.getTransformedPaths()
	if len(transformedPaths) > 0:
		lift += derivation.getAdditionalPathLift() - euclidean.getBottomByPaths(transformedPaths)
	else:
		lift -= boolean_geometry.getMinimumZ(xmlObject)
	targetMatrix.tetragrid = matrix.getIdentityTetragrid(targetMatrix.tetragrid)
	targetMatrix.tetragrid[2][3] += lift
	matrix.setElementNodeDictionaryMatrix(target, targetMatrix)