tidy3d.ClipOperation#
- class ClipOperation[source]#
Bases:
Geometry
Class representing the result of a set operation between geometries.
- Parameters:
attrs (dict = {}) โ Dictionary storing arbitrary metadata for a Tidy3D object. This dictionary can be freely used by the user for storing data without affecting the operation of Tidy3D as it is not used internally. Note that, unlike regular Tidy3D fields,
attrs
are mutable. For example, the following is allowed for setting anattr
obj.attrs['foo'] = bar
. Also note that Tidy3D` will raise aTypeError
ifattrs
contain objects that can not be serialized. One can check ifattrs
are serializable by callingobj.json()
.operation (Literal['union', 'intersection', 'difference', 'symmetric_difference']) โ Operation to be performed between geometries.
geometry_a (ForwardRef('annotate_type(GeometryType)')) โ First operand for the set operation. It can be any geometry type, including
GeometryGroup
.geometry_b (ForwardRef('annotate_type(GeometryType)')) โ Second operand for the set operation. It can also be any geometry type.
Attributes
Methods
inside
(x, y, z)For input arrays
x
,y
,z
of arbitrary but identical shape, return an array with the same shape which isTrue
for every point in zip(x, y, z) that is inside the volume of theGeometry
, andFalse
otherwise.inside_meshgrid
(x, y, z)Faster way to check
self.inside
on a meshgrid.intersections_plane
([x, y, z])Returns list of shapely geometries at plane specified by one non-None value of x,y,z.
intersections_tilted_plane
(normal, origin, to_2D)Return a list of shapely geometries at the plane specified by normal and origin.
to_polygon_list
(base_geometry)Return a list of valid polygons from a shapely geometry, discarding points, lines, and empty polygons.
Inherited Common Usage
- operation#
- geometry_a#
- geometry_b#
- static to_polygon_list(base_geometry)[source]#
Return a list of valid polygons from a shapely geometry, discarding points, lines, and empty polygons.
- Parameters:
base_geometry (shapely.geometry.base.BaseGeometry) โ Base geometry for inspection.
- Returns:
Valid polygons retrieved from
base geometry
.- Return type:
List[shapely.geometry.base.BaseGeometry]
- intersections_tilted_plane(normal, origin, to_2D)[source]#
Return a list of shapely geometries at the plane specified by normal and origin.
- Parameters:
normal (Coordinate) โ Vector defining the normal direction to the plane.
origin (Coordinate) โ Vector defining the plane origin.
to_2D (MatrixReal4x4) โ Transformation matrix to apply to resulting shapes.
- Returns:
List of 2D shapes that intersect plane. For more details refer to Shapelyโs Documentation.
- Return type:
List[shapely.geometry.base.BaseGeometry]
- intersections_plane(x=None, y=None, z=None)[source]#
Returns list of shapely geometries at plane specified by one non-None value of x,y,z.
- Parameters:
x (float = None) โ Position of plane in x direction, only one of x,y,z can be specified to define plane.
y (float = None) โ Position of plane in y direction, only one of x,y,z can be specified to define plane.
z (float = None) โ Position of plane in z direction, only one of x,y,z can be specified to define plane.
- Returns:
List of 2D shapes that intersect plane. For more details refer to Shapelyโs Documentaton.
- Return type:
List[shapely.geometry.base.BaseGeometry]
- property bounds#
Returns bounding box min and max coordinates.
- Returns:
Min and max bounds packaged as
(minx, miny, minz), (maxx, maxy, maxz)
.- Return type:
Tuple[float, float, float], Tuple[float, float float]
- inside(x, y, z)[source]#
For input arrays
x
,y
,z
of arbitrary but identical shape, return an array with the same shape which isTrue
for every point in zip(x, y, z) that is inside the volume of theGeometry
, andFalse
otherwise.- Parameters:
x (np.ndarray[float]) โ Array of point positions in x direction.
y (np.ndarray[float]) โ Array of point positions in y direction.
z (np.ndarray[float]) โ Array of point positions in z direction.
- Returns:
True
for every point that is inside the geometry.- Return type:
np.ndarray[bool]
- inside_meshgrid(x, y, z)[source]#
Faster way to check
self.inside
on a meshgrid. The input arrays are assumed sorted.- Parameters:
x (np.ndarray[float]) โ 1D array of point positions in x direction.
y (np.ndarray[float]) โ 1D array of point positions in y direction.
z (np.ndarray[float]) โ 1D array of point positions in z direction.
- Returns:
Array with shape
(x.size, y.size, z.size)
, which isTrue
for every point that is inside the geometry.- Return type:
np.ndarray[bool]
- __hash__()#
Hash method.