Skip to content

Controller¤

compas_model.viewer.controller ¤

Classes¤

ModelViewer ¤

ModelViewer(
    model: Model,
    viewer: Any | None = None,
    settings: RenderSettings | None = None,
    cache: RenderGeometryCache | None = None,
    install_tree: bool = True,
    install_inspector: bool = True,
    show_contacts: bool = True,
)

Control the COMPAS Viewer representation of a model.

Parameters:

  • model (Model) –

    Model to add to the viewer.

  • viewer (Any | None, default: None ) –

    Existing COMPAS Viewer instance. If omitted, a viewer is created.

  • settings (RenderSettings | None, default: None ) –

    Shared rendering settings. Implicit settings adopt the model unit.

  • cache (RenderGeometryCache | None, default: None ) –

    Shared render-geometry cache.

  • install_tree (bool, default: True ) –

    If True, replace COMPAS Viewer's generic scene tree with tabbed hierarchy, group, type, and interaction projections when the viewer provides a UI.

  • install_inspector (bool, default: True ) –

    If True, add the selected-element inspector to the viewer sidebar. show_contacts If True, display computed contact regions. Every region remains independently selectable and can be hidden through the interaction view.

Notes

The model tree remains authoritative. This controller creates the matching COMPAS scene hierarchy and indexes the resulting ElementObject instances; it does not create a second hierarchy or element-view layer.

Attributes¤
selected property ¤
selected: list[ElementObject]

list[ElementObject]: Selected element objects in model order.

Methods:¤
hide ¤
hide(elements: Iterable[Element | str]) -> None

Hide the requested element objects.

object_for_element ¤
object_for_element(element: Element) -> ElementObject

Return the scene object representing an element.

object_for_guid ¤
object_for_guid(guid: str) -> ElementObject

Return the scene object registered for an element GUID.

refresh ¤
refresh(element: Element | str) -> bool

Refresh one element object's render geometry.

Returns:

  • bool –

    True if the render geometry was replaced.

refresh_all ¤
refresh_all() -> list[ElementObject]

Refresh all changed element objects.

Returns:

select ¤
select(
    elements: Iterable[Element | str], selected: bool = True, clear: bool = False
) -> None

Set element selection state.

Parameters:

  • elements (Iterable[Element | str]) –

    Elements or element GUIDs to update.

  • selected (bool, default: True ) –

    Selection state assigned to the requested objects.

  • clear (bool, default: False ) –

    If True, clear selection on all other objects.

show ¤
show(elements: Iterable[Element | str]) -> None

Show the requested element objects.

show_viewer ¤
show_viewer() -> None

Open the viewer window.