Skip to content

View State¤

compas_model.viewer.viewstate ¤

Classes¤

RenderGeometryCache ¤

RenderGeometryCache(builder: RenderGeometryBuilder | None = None)

Revision-aware cache of element render geometry.

Parameters:

  • builder (RenderGeometryBuilder | None, default: None ) –

    Optional render-geometry builder. The default dispatches Mesh and BRep representations without converting between them.

Notes

Entries are keyed by element GUID and additionally verify object identity, geometry revision, and render settings. The cache owns CPU-side arrays; GPU buffer lifetime remains the responsibility of COMPAS Viewer.

Attributes¤
hits property ¤
hits: int

int: Number of render-geometry cache hits.

misses property ¤
misses: int

int: Number of render-geometry cache misses.

Methods:¤
get ¤
get(element: Element, settings: RenderSettings | None = None) -> RenderGeometry

Return current render geometry for an element.

Parameters:

  • element (Element) –

    Element whose model geometry should be rendered.

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

    Tessellation and triangulation settings.

Returns:

Raises:

  • TypeError –

    If the element has no supported Mesh or BRep representation.

invalidate ¤
invalidate(element: Element | None = None) -> None

Invalidate one element entry or clear the entire cache.

Parameters:

  • element (Element | None, default: None ) –

    Element to invalidate. If omitted, all entries are removed.

RenderSettings dataclass ¤

RenderSettings(
    unit: ModelUnit = "M",
    quality: RenderQuality = "standard",
    mesh_tolerance: float | None = None,
    linear_deflection: float | None = None,
    angular_deflection: float | None = None,
)

Settings that affect generated render geometry.

Parameters:

  • unit (ModelUnit, default: 'M' ) –

    Length unit used by coordinate values.

  • quality (RenderQuality, default: 'standard' ) –

    Named scale-aware visual approximation quality.

  • mesh_tolerance (float | None, default: None ) –

    Optional cleanup tolerance in model units. If omitted, a physically equivalent default is derived from unit.

  • linear_deflection (float | None, default: None ) –

    Optional BRep tessellation linear deflection.

  • angular_deflection (float | None, default: None ) –

    Optional BRep tessellation angular deflection.

Attributes¤
effective_angular_deflection property ¤
effective_angular_deflection: float

float: BRep angular deflection in radians.

effective_mesh_tolerance property ¤
effective_mesh_tolerance: float

float: Mesh cleanup tolerance expressed in model units.

Methods:¤
effective_linear_deflection ¤
effective_linear_deflection(characteristic_length: float) -> float

Compute BRep linear deflection for an object size.

Parameters:

  • characteristic_length (float) –

    Object bounding-box diagonal expressed in model units.

Returns:

  • float –

    Scale-aware linear deflection expressed in model units.

Raises:

  • ValueError –

    If the characteristic length is negative or non-finite.