SMTK  @SMTK_VERSION@
Simulation Modeling Tool Kit
Public Member Functions | List of all members
smtk::attribute::SelectionFootprint Struct Reference

An API for determining which components to render to display a selection. More...

#include <SelectionFootprint.h>

Inheritance diagram for smtk::attribute::SelectionFootprint:
[legend]
Collaboration diagram for smtk::attribute::SelectionFootprint:
[legend]

Public Member Functions

bool operator() (smtk::resource::PersistentObject &selectedObject, std::unordered_set< smtk::resource::PersistentObject * > &footprint, const smtk::geometry::Backend &backend) const override
 Return the "selection footprint" of selectedObject. More...
 

Detailed Description

An API for determining which components to render to display a selection.

Some components may not have any renderable geometry. However, users might still wish to select them. Examples include groups and volume cells in the smtk::model::Resource; they typically do not have geometry but their members or boundary faces do. When a group or volume is selected, we need a way to fetch the objects that should be highlighted in the stead of the group or volume.

This query allows SMTK's geometry representation to choose which components to render with the "selection" appearance. Normally, it will return the component itself if it has renderable geometry but otherwise will look for related components that might be highlighted to indicate the selection.

Member Function Documentation

◆ operator()()

bool smtk::attribute::SelectionFootprint::operator() ( smtk::resource::PersistentObject selectedObject,
std::unordered_set< smtk::resource::PersistentObject * > &  footprint,
const smtk::geometry::Backend backend 
) const
inlineoverride

Return the "selection footprint" of selectedObject.

This is a set of persistent objects that should be rendered as "selected" instead of the input selectedObject, usually because selectedObject has no visual representation itself.


The documentation for this struct was generated from the following file: