ParamVertex#

class lumopt2.parametrization.closed_curve.ParamVertex(idx: int, movement: str = 'manual', value: float = None, delta_x: float = None, delta_y: float = None)#

Specification for a parametric vertex adjustment.

Supports two modes of operation: 1. Manual mode (default): Specify delta_x and/or delta_y directly 2. Directional mode: Specify movement direction and value

Attributes:
idxint

1-based index of the vertex to parametrize.

movementstr, optional

Movement direction mode. Options: - ‘manual’ (default): Use delta_x and delta_y directly - ‘normal’: Move along outward normal direction by value - ‘tangent’: Move along tangent direction by value - ‘x-axis’: Move along x-axis by value - ‘y-axis’: Move along y-axis by value

valuefloat, optional

Movement amount (used when movement != ‘manual’). Positive values move outward for ‘normal’, forward for ‘tangent’.

delta_xfloat, optional

Manual adjustment in x direction (used when movement == ‘manual’).

delta_yfloat, optional

Manual adjustment in y direction (used when movement == ‘manual’).

Examples

Manual mode: >>> ParamVertex(idx=2, delta_x=100e-9, delta_y=50e-9)

Normal direction: >>> ParamVertex(idx=2, movement=’normal’, value=params[0])

X-axis only: >>> ParamVertex(idx=3, movement=’x-axis’, value=params[1])

Attributes