View State¤
compas_model.viewer.viewstate
¤
Classes¤
RenderGeometryCache
¤
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¤
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:
-
RenderGeometry–Cached or newly generated render geometry.
Raises:
-
TypeError–If the element has no supported Mesh or BRep representation.
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
¤
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.