def get_chain_length(ve, orientation): """Returns the 2d length of a given ViewEdge.""" from freestyle.chainingiterators import pyChainSilhouetteGenericIterator length = 0.0 # setup iterator _it = pyChainSilhouetteGenericIterator(False, False) _it.begin = ve _it.current_edge = ve _it.orientation = orientation _it.init() # run iterator till end of chain while not (_it.is_end): length += _it.object.length_2d if (_it.is_begin): # _it has looped back to the beginning; # break to prevent infinite loop break _it.increment() # reset iterator _it.begin = ve _it.current_edge = ve _it.orientation = orientation # run iterator till begin of chain if not _it.is_begin: _it.decrement() while not (_it.is_end or _it.is_begin): length += _it.object.length_2d _it.decrement() return length
def get_chain_length(ve, orientation): """Returns the 2d length of a given ViewEdge.""" from freestyle.chainingiterators import pyChainSilhouetteGenericIterator length = 0.0 # setup iterator _it = pyChainSilhouetteGenericIterator(False, False) _it.begin = ve _it.current_edge = ve _it.orientation = orientation _it.init() # run iterator till end of chain while not (_it.is_end): length += _it.object.length_2d if (_it.is_begin): # _it has looped back to the beginning; # break to prevent infinite loop break _it.increment() # reset iterator _it.begin = ve _it.current_edge = ve _it.orientation = orientation # run iterator till begin of chain if not _it.is_begin: _it.decrement() while not (_it.is_end or _it.is_begin): length += _it.object.length_2d _it.decrement() return length