render_config.Camera#

class Camera[source]#

Bases: Flow360BaseModel

A viewpoint camera shared by RenderOutput and the report — an eye direction plus framing, expressed in plain floats measured in model (geometry / mesh) units.

Example

>>> Camera(position=(-1, -1, 1), dimension=2.5)
>>> Camera(position=Viewpoint.TOP + Viewpoint.LEFT)  # frames the scene

Attributes

position: tuple[float, float, float], optional#

Eye position as a DIRECTION from look_at on the unit sphere (not an absolute position); the absolute position is resolved against the scene bounding box downstream. Model units.

Default:

(-1, -1, 1)

up: tuple[float, float, float], optional#

Up vector, if not specified assume Z+

Default:

(0, 0, 1)

look_at: tuple[float, float, float], optional#

Look-at target; if None, defaults to the scene bounding-box center. Model units.

Default:

None

pan_target: tuple[float, float, float], optional#

Viewport pan-center; if None, defaults to look_at. On a render this recenters the frustum (off-center) so pan_target lands at the viewport center. Model units.

Default:

None

dimension_dir: Literal['width', 'height', 'diagonal'], optional#

Which viewport extent ‘dimension’ measures. Defaults to ‘diagonal’ to match the webUI viewer. ‘height’/’diagonal’ are resolved to frustum width using the render output aspect ratio; ‘width’ needs no aspect

Default:

'diagonal'

dimension: float, optional#

Framing size in model units measured along dimension_dir; sets the orthographic frustum extent. If None, the framing fits the scene bounding box.

Default:

None