tidy3d.components.geometry.Planar#

class tidy3d.components.geometry.Planar#

Geometry with one axis that is slab-like with thickness height.

Parameters
  • center (Tuple[float, float, float] = (0.0, 0.0, 0.0)) – [units = um]. Center of object in x, y, and z.

  • axis (Literal[0, 1, 2] = 2) – Specifies dimension of the planar axis (0,1,2) -> (x,y,z).

  • length (Optional[NonNegativeFloat] = None) – [units = um]. Defines thickness of geometry along axis dimension.

Show JSON schema
{
   "title": "Planar",
   "description": "Geometry with one ``axis`` that is slab-like with thickness ``height``.\n\nParameters\n----------\ncenter : Tuple[float, float, float] = (0.0, 0.0, 0.0)\n    [units = um].  Center of object in x, y, and z.\naxis : Literal[0, 1, 2] = 2\n    Specifies dimension of the planar axis (0,1,2) -> (x,y,z).\nlength : Optional[NonNegativeFloat] = None\n    [units = um].  Defines thickness of geometry along axis dimension.",
   "type": "object",
   "properties": {
      "center": {
         "title": "Center",
         "description": "Center of object in x, y, and z.",
         "default": [
            0.0,
            0.0,
            0.0
         ],
         "units": "um",
         "type": "array",
         "minItems": 3,
         "maxItems": 3,
         "items": [
            {
               "type": "number"
            },
            {
               "type": "number"
            },
            {
               "type": "number"
            }
         ]
      },
      "type": {
         "title": "Type",
         "default": "Planar",
         "enum": [
            "Planar"
         ],
         "type": "string"
      },
      "axis": {
         "title": "Axis",
         "description": "Specifies dimension of the planar axis (0,1,2) -> (x,y,z).",
         "default": 2,
         "enum": [
            0,
            1,
            2
         ],
         "type": "integer"
      },
      "length": {
         "title": "Length",
         "description": "Defines thickness of geometry along axis dimension.",
         "units": "um",
         "minimum": 0,
         "type": "number"
      }
   },
   "additionalProperties": false
}

Fields
attribute axis: Literal[0, 1, 2] = 2#

Specifies dimension of the planar axis (0,1,2) -> (x,y,z).

attribute length: pydantic.types.NonNegativeFloat = None#

Defines thickness of geometry along axis dimension.

Constraints
  • minimum = 0

intersections(x: Optional[float] = None, y: Optional[float] = None, z: Optional[float] = None)#

Returns shapely geometry at plane specified by one non None value of x,y,z.

Parameters
  • x (float) – Position of plane in x direction, only one of x,y,z can be specified to define plane.

  • y (float) – Position of plane in y direction, only one of x,y,z can be specified to define plane.

  • z (float) – Position of plane in z direction, only one of x,y,z can be specified to define plane.

Returns

  • List[shapely.geometry.base.BaseGeometry] – List of 2D shapes that intersect plane. For more details refer to

  • `Shapely’s Documentaton <https (//shapely.readthedocs.io/en/stable/project.html>`_.)

property bounds#

Returns bounding box for planar geometry, may implement for subclasses.

Returns

Min and max bounds packaged as (minx, miny, minz), (maxx, maxy, maxz).

Return type

Tuple[float, float, float], Tuple[float, float float]