本文整理汇总了Python中Utils.GeomUtils.strokeContainsStroke方法的典型用法代码示例。如果您正苦于以下问题:Python GeomUtils.strokeContainsStroke方法的具体用法?Python GeomUtils.strokeContainsStroke怎么用?Python GeomUtils.strokeContainsStroke使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Utils.GeomUtils
的用法示例。
在下文中一共展示了GeomUtils.strokeContainsStroke方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: onStrokeAdded
# 需要导入模块: from Utils import GeomUtils [as 别名]
# 或者: from Utils.GeomUtils import strokeContainsStroke [as 别名]
def onStrokeAdded( self, stroke ):
#If it's a closed figure, it is its own wall
rtm_logger.debug("Stroke Added")
newWallDict = {'closed': False, 'matches': {}}
ep1 = stroke.Points[0]
ep2 = stroke.Points[-1]
strokeLen = GeomUtils.strokeLength(stroke)
addToWalls = True
if GeomUtils.pointDistanceSquared(ep1.X, ep1.Y, ep2.X, ep2.Y) < (strokeLen * 0.05) ** 2:
rtm_logger.debug("Closed stroke")
newWallDict['closed'] = True
rtm_logger.debug("Adding stroke as possible future wall")
self.wallInfo[stroke] = newWallDict
#self.linkStrokesTogether()
for testStroke, wallDict in self.wallInfo.items():
gran = min(len(stroke.Points), len(testStroke.Points))
if wallDict['closed'] and GeomUtils.strokeContainsStroke(testStroke, stroke, granularity = gran):
outStk = testStroke
inStk = stroke
elif newWallDict['closed'] and GeomUtils.strokeContainsStroke(stroke, testStroke, granularity = gran):
outStk = stroke
inStk = testStroke
else:
continue
rtm_logger.debug("Found containment with another stroke")
rtAnno = RaceTrackAnnotation(rightwalls = [outStk], leftwalls = [inStk])
BoardSingleton().AnnotateStrokes([stroke, testStroke], rtAnno)
del(self.wallInfo[testStroke])
addToWalls = False
break