def convertPolygonToWorldSpace(canvasElement): polygon = canvasElement.getBoundaries().get(Polygon) polygon_in_world_space = [] for line in polygon: line_in_world_space = ( convert.pointToWorldSpace( line[0], canvasElement.getPosition(), canvasElement.getDirection()), convert.pointToWorldSpace( line[1], canvasElement.getPosition(), canvasElement.getDirection())) polygon_in_world_space.append(line_in_world_space) return tuple(polygon_in_world_space)
def convertCircleToWorldSpace(canvasElement): circle = canvasElement.getBoundaries().get(Circle) return (convert.pointToWorldSpace( circle[0], canvasElement.getPosition(), canvasElement.getDirection()), circle[1])
def updatePosition(self): owner = self.owner ownerPosition = owner.getPosition() position = convert.pointToWorldSpace(self.offset, ownerPosition, owner.getDirection()) ownerToGun = calculate.subtractPoints(position, ownerPosition) self.heading = vector.normalize(ownerToGun) self.position = position
def convertRectangleToWorldSpace(canvasElement): rectangle = canvasElement.getBoundaries().get(Rectangle) return (convert.pointToWorldSpace( rectangle[0], canvasElement.getPosition(), canvasElement.getDirection()), convert.pointToWorldSpace( rectangle[1], canvasElement.getPosition(), canvasElement.getDirection()), convert.pointToWorldSpace( rectangle[2], canvasElement.getPosition(), canvasElement.getDirection()), convert.pointToWorldSpace( rectangle[3], canvasElement.getPosition(), canvasElement.getDirection()), )
def test_3(self): newPoint = convert.pointToWorldSpace(point=(1, -1), localOrigin=(1, 1), localDirection=-math.pi / 4) self.assertEquals((1, -.4142), newPoint)
def test_2(self): newPoint = convert.pointToWorldSpace(point=(1, -1), localOrigin=(1, 1), localDirection=math.pi / 2) self.assertEquals((2, 2), newPoint)
def test_localSpaceIsTranslatedAndRotated_pointIsTranslatedAndRotated(self): newPoint = convert.pointToWorldSpace(point=(1, 0), localOrigin=(1, 0), localDirection=math.pi / 2) self.assertEquals((1, 1), newPoint)
def test_localSpaceIsTranslated_pointIsTranslated(self): newPoint = convert.pointToWorldSpace(point=(1, 1), localOrigin=(1, 1), localDirection=0) self.assertEquals((2, 2), newPoint)
def test_worldSpaceIsLocalSpace_pointIsTheSame(self): newPoint = convert.pointToWorldSpace(point=(1, 1), localOrigin=(0, 0), localDirection=0) self.assertEquals((1, 1), newPoint)