Add recurse arg to get_bounds
This commit is contained in:
parent
1598582865
commit
f8b5cec340
@ -286,12 +286,16 @@ class Pattern(PortList, AnnotatableImpl, Mirrorable):
|
|||||||
def get_bounds(
|
def get_bounds(
|
||||||
self,
|
self,
|
||||||
library: Optional[Mapping[str, 'Pattern']] = None,
|
library: Optional[Mapping[str, 'Pattern']] = None,
|
||||||
|
recurse: bool = True,
|
||||||
) -> Optional[NDArray[numpy.float64]]:
|
) -> Optional[NDArray[numpy.float64]]:
|
||||||
"""
|
"""
|
||||||
Return a `numpy.ndarray` containing `[[x_min, y_min], [x_max, y_max]]`, corresponding to the
|
Return a `numpy.ndarray` containing `[[x_min, y_min], [x_max, y_max]]`, corresponding to the
|
||||||
extent of the Pattern's contents in each dimension.
|
extent of the Pattern's contents in each dimension.
|
||||||
Returns `None` if the Pattern is empty.
|
Returns `None` if the Pattern is empty.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
TODO docs for get_bounds
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
`[[x_min, y_min], [x_max, y_max]]` or `None`
|
`[[x_min, y_min], [x_max, y_max]]` or `None`
|
||||||
"""
|
"""
|
||||||
@ -311,6 +315,7 @@ class Pattern(PortList, AnnotatableImpl, Mirrorable):
|
|||||||
if self.refs and (library is None):
|
if self.refs and (library is None):
|
||||||
raise PatternError('Must provide a library to get_bounds() to resolve refs')
|
raise PatternError('Must provide a library to get_bounds() to resolve refs')
|
||||||
|
|
||||||
|
if recurse:
|
||||||
for entry in self.refs:
|
for entry in self.refs:
|
||||||
bounds = entry.get_bounds(library=library)
|
bounds = entry.get_bounds(library=library)
|
||||||
if bounds is None:
|
if bounds is None:
|
||||||
@ -326,10 +331,14 @@ class Pattern(PortList, AnnotatableImpl, Mirrorable):
|
|||||||
def get_bounds_nonempty(
|
def get_bounds_nonempty(
|
||||||
self,
|
self,
|
||||||
library: Optional[Mapping[str, 'Pattern']] = None,
|
library: Optional[Mapping[str, 'Pattern']] = None,
|
||||||
|
recurse: bool = True,
|
||||||
) -> NDArray[numpy.float64]:
|
) -> NDArray[numpy.float64]:
|
||||||
"""
|
"""
|
||||||
Convenience wrapper for `get_bounds()` which asserts that the Pattern as non-None bounds.
|
Convenience wrapper for `get_bounds()` which asserts that the Pattern as non-None bounds.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
TODO docs for get_bounds
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
`[[x_min, y_min], [x_max, y_max]]`
|
`[[x_min, y_min], [x_max, y_max]]`
|
||||||
"""
|
"""
|
||||||
|
Loading…
Reference in New Issue
Block a user