{
  "title": "Transformed",
  "public_path": "flex_rf.tidy3d.Transformed",
  "lookup_path": "tidy3d.Transformed",
  "slug": "flex_rf/tidy3d/Transformed",
  "public_url": "/rf/latest/autogenerated/flex_rf/tidy3d/transformed/",
  "object_kind": "class",
  "introduction": "Class representing a transformed geometry.",
  "notes": "",
  "examples": "",
  "references": "",
  "signature": "class Transformed(Geometry)",
  "source": {
    "path": "flex/public/tidy3d/tidy3d/components/geometry/base.py",
    "url": "",
    "lineno": 2951,
    "endlineno": 3263
  },
  "bases": [
    "Geometry"
  ],
  "parameter_rows": [
    {
      "name": "geometry",
      "annotation": "discriminated_union(GeometryType)",
      "default": "",
      "description": "Base geometry to be transformed.",
      "origin": "declared"
    },
    {
      "name": "transform",
      "annotation": "MatrixReal4x4",
      "default": "factory: lambda: np.eye(4).tolist()",
      "description": "Transform matrix applied to the base geometry.",
      "origin": "declared"
    },
    {
      "name": "attrs",
      "annotation": "dict",
      "default": "factory: dict",
      "description": "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 an `attr` `obj.attrs['foo'] = bar`. Also note that Tidy3D will raise a `TypeError` if `attrs` contain objects that can not be serialized. One can check if `attrs` are serializable by calling `obj.model_dump_json()`.",
      "origin": "inherited"
    }
  ],
  "members": [
    {
      "name": "bounds",
      "kind": "function",
      "signature": "bounds()",
      "description": "Returns bounding box min and max coordinates."
    },
    {
      "name": "identity",
      "kind": "function",
      "signature": "identity()",
      "description": "Return an identity matrix where no transform is applied."
    },
    {
      "name": "inside",
      "kind": "function",
      "signature": "inside(x: NDArray[float], y: NDArray[float], z: NDArray[float])",
      "description": "For input arrays `x`, `y`, `z` of arbitrary but identical shape, return an array with the same shape which is `True` for every point in zip(x, y, z) that is inside the volume of the `Geometry`, and `False` otherwise."
    },
    {
      "name": "intersections_tilted_plane",
      "kind": "function",
      "signature": "intersections_tilted_plane(normal: Coordinate, origin: Coordinate, to_2D: MatrixReal4x4, cleanup: bool = True, quad_segs: int | None = None, section_tolerance_2d: bool = False)",
      "description": "Return a list of shapely geometries at the plane specified by normal and origin."
    },
    {
      "name": "inverse",
      "kind": "function",
      "signature": "inverse()",
      "description": "Inverse of this transform."
    },
    {
      "name": "preserves_axis",
      "kind": "function",
      "signature": "preserves_axis(transform: MatrixReal4x4, axis: Axis)",
      "description": "Indicate if the transform preserves the orientation of a given axis."
    },
    {
      "name": "reflection",
      "kind": "function",
      "signature": "reflection(normal: Coordinate)",
      "description": "Return a reflection matrix."
    },
    {
      "name": "rotation",
      "kind": "function",
      "signature": "rotation(angle: float, axis: Axis | Coordinate)",
      "description": "Return a rotation matrix."
    },
    {
      "name": "scaling",
      "kind": "function",
      "signature": "scaling(x: float = 1.0, y: float = 1.0, z: float = 1.0)",
      "description": "Return a scaling matrix."
    },
    {
      "name": "translation",
      "kind": "function",
      "signature": "translation(x: float, y: float, z: float)",
      "description": "Return a translation matrix."
    }
  ],
  "group": "flex_rf.tidy3d"
}
