{
  "title": "Cylinder",
  "public_path": "flex_rf.tidy3d.Cylinder",
  "lookup_path": "tidy3d.Cylinder",
  "slug": "flex_rf/tidy3d/Cylinder",
  "public_url": "/rf/latest/autogenerated/flex_rf/tidy3d/cylinder/",
  "object_kind": "class",
  "introduction": "Cylindrical geometry with optional sidewall angle along axis\ndirection. When `sidewall_angle` is nonzero, the shape is a\nconical frustum or a cone.",
  "notes": "",
  "examples": "```python\nc = Cylinder(center=(1,2,3), radius=2, length=5, axis=2)\n```",
  "references": "",
  "signature": "class Cylinder(Centered, Circular, Planar)",
  "source": {
    "path": "flex/public/tidy3d/tidy3d/components/geometry/primitives.py",
    "url": "",
    "lineno": 667,
    "endlineno": 1304
  },
  "bases": [
    "base.Centered",
    "base.Circular",
    "base.Planar"
  ],
  "parameter_rows": [
    {
      "name": "radius",
      "annotation": "TracedSize1D",
      "default": "",
      "description": "Radius of geometry at the `reference_plane`.",
      "origin": "declared"
    },
    {
      "name": "length",
      "annotation": "TracedSize1D",
      "default": "",
      "description": "Defines thickness of cylinder along axis dimension.",
      "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"
    },
    {
      "name": "axis",
      "annotation": "Axis",
      "default": "2",
      "description": "Specifies dimension of the planar axis (0,1,2) -> (x,y,z).",
      "origin": "inherited"
    },
    {
      "name": "sidewall_angle",
      "annotation": "TracedFloat",
      "default": "0.0",
      "description": "Angle of the sidewall. `sidewall_angle=0` (default) specifies a vertical wall; `0<sidewall_angle<np.pi/2` specifies a shrinking cross section along the `axis` direction; and `-np.pi/2<sidewall_angle<0` specifies an expanding cross section along the `axis` direction.",
      "origin": "inherited"
    },
    {
      "name": "reference_plane",
      "annotation": "PlanePosition",
      "default": "'middle'",
      "description": "The position of the plane where the supplied cross section are defined. The plane is perpendicular to the `axis`. The plane is located at the `bottom`, `middle`, or `top` of the geometry with respect to the axis. E.g. if `axis=1`, `bottom` refers to the negative side of the y-axis, and `top` refers to the positive side of the y-axis.",
      "origin": "inherited"
    },
    {
      "name": "center",
      "annotation": "TracedCoordinate",
      "default": "(0.0, 0.0, 0.0)",
      "description": "Center of object in x, y, and z.",
      "origin": "inherited"
    }
  ],
  "members": [
    {
      "name": "bounds",
      "kind": "function",
      "signature": "bounds()",
      "description": "Returns bounding box min and max coordinates."
    },
    {
      "name": "center_axis",
      "kind": "attribute",
      "signature": "center_axis: Any",
      "description": "Gets the position of the center of the geometry in the out of plane dimension."
    },
    {
      "name": "inside",
      "kind": "function",
      "signature": "inside(x: np.ndarray[float], y: np.ndarray[float], z: np.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": "length_axis",
      "kind": "attribute",
      "signature": "length_axis: float",
      "description": "Gets the length of the geometry along the out of plane dimension."
    },
    {
      "name": "radius_bottom",
      "kind": "function",
      "signature": "radius_bottom()",
      "description": "radius of bottom"
    },
    {
      "name": "radius_max",
      "kind": "function",
      "signature": "radius_max()",
      "description": "max(radius of top, radius of bottom)"
    },
    {
      "name": "radius_min",
      "kind": "function",
      "signature": "radius_min()",
      "description": "min(radius of top, radius of bottom). It can be negative for a large sidewall angle."
    },
    {
      "name": "radius_top",
      "kind": "function",
      "signature": "radius_top()",
      "description": "radius of bottom"
    },
    {
      "name": "to_polyslab",
      "kind": "function",
      "signature": "to_polyslab(num_pts_circumference: int = _N_PTS_CYLINDER_POLYSLAB, **kwargs: Any)",
      "description": "Convert instance of `Cylinder` into a discretized version using `PolySlab`."
    }
  ],
  "group": "flex_rf.tidy3d"
}
