86 lines
2.0 KiB
Python
86 lines
2.0 KiB
Python
"""Module with enum options classes for plotting."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from pyvista.core.utilities.misc import AnnotatedIntEnum
|
|
|
|
|
|
class InterpolationType(AnnotatedIntEnum):
|
|
"""Lighting interpolation types.
|
|
|
|
Attributes
|
|
----------
|
|
FLAT : (int, str)
|
|
Flat interpolation type.
|
|
GOURAUD : (int, str)
|
|
Gouraud interpolation type.
|
|
PHONG : (int, str)
|
|
Phong interpolation type.
|
|
PBR : (int, str)
|
|
Physically based rendering interpolation type.
|
|
|
|
"""
|
|
|
|
FLAT = (0, 'Flat')
|
|
GOURAUD = (1, 'Gouraud')
|
|
PHONG = (2, 'PHONG')
|
|
PBR = (3, 'Physically based rendering')
|
|
|
|
@classmethod
|
|
def from_str(cls, input_str):
|
|
"""Create from string.
|
|
|
|
Create an instance of InterpolationType from a string.
|
|
|
|
Parameters
|
|
----------
|
|
input_str : str
|
|
The string representation of the interpolation type. Accepts
|
|
aliases such as ``'pbr'`` for ``'Physically based rendering'``.
|
|
|
|
Returns
|
|
-------
|
|
InterpolationType
|
|
Interpolation type as defined by the input string.
|
|
|
|
"""
|
|
aliases = {
|
|
'pbr': 'Physically based rendering',
|
|
}
|
|
if input_str in aliases:
|
|
input_str = aliases[input_str]
|
|
return super().from_str(input_str)
|
|
|
|
|
|
class RepresentationType(AnnotatedIntEnum):
|
|
"""Types of representations the models can have."""
|
|
|
|
POINTS = (0, 'Points')
|
|
WIREFRAME = (1, 'Wireframe')
|
|
SURFACE = (2, 'Surface')
|
|
|
|
|
|
class ElementType(AnnotatedIntEnum):
|
|
"""Types of elemental geometries."""
|
|
|
|
MESH = (0, 'Mesh')
|
|
CELL = (1, 'Cell')
|
|
FACE = (2, 'Face')
|
|
EDGE = (3, 'Edge')
|
|
POINT = (4, 'Point')
|
|
|
|
|
|
class PickerType(AnnotatedIntEnum):
|
|
"""Types of pickers."""
|
|
|
|
AREA = (0, 'Area')
|
|
CELL = (1, 'Cell')
|
|
HARDWARE = (2, 'Hardware')
|
|
POINT = (3, 'Point')
|
|
PROP = (4, 'Prop')
|
|
RENDERED = (5, 'Rendered')
|
|
RESLICE = (6, 'Reslice')
|
|
SCENE = (7, 'Scene')
|
|
VOLUME = (8, 'Volume')
|
|
WORLD = (9, 'World')
|