|
|
| SelectionInfo () |
| | Constructs a default SelectionInfo with initial state.
|
| bool | allowSolidInteraction () const |
| | Returns whether solid (filled) geometry intersection testing is allowed.
|
|
void | clear () |
| | Resets all selection state, clearing tracked results and selection areas.
|
|
void | clearLastSelection () |
| | Clears only the most recent selection data, preserving historical state.
|
|
void | finishSelection () |
| | Finalizes selection state after a selection pass is complete.
|
| void | getEnclosedVertices (GeometryVertices &vertices) const |
| | Populates the given GeometryVertices with all vertices enclosed by the current selection area.
|
| Bounds< 3, fltp08 > | globalSelectionBounds () const |
| | Returns the bounding box of the current selection area in global coordinates.
|
| UUID | nearestGeometry (PrimitiveMode mode) const |
| | Returns the UUID of the nearest geometry for a specific primitive mode.
|
| UUID | nearestModel () const |
| | Returns the UUID of the nearest model across all primitive modes.
|
| Vertex< 3, fltp08 > | nearestScreenLocation () const |
| | Returns the screen-space location of the nearest selection hit.
|
| Vertex< 3, fltp08 > | nearestWorldLocation () const |
| | Returns the world-space location of the nearest selection hit.
|
| bool | operator== (const SelectionInfo &) const |
| | Equality operator.
|
| ParseResult | postProcess (Model &model) override |
| | Post-processes a model after its children have been visited.
|
|
void | prepareSelection () |
| | Prepares internal state before beginning a new selection pass.
|
| ParseResult | process (Model &model) override |
| | Processes a model during iteration, evaluating it for selection.
|
| ParseResult | process (Model &model, Geometry &geo) override |
| | Processes a model with its associated geometry for selection.
|
| ParseResult | process (Model &model, Material &mat) override |
| | Processes a model with its associated material for selection.
|
| bool | processGeometry (const Model &model, const Geometry &geo, PrimitiveProperty primitive_property, UUID selection_id) |
| | Evaluates a specific geometry primitive for selection hits.
|
| fltp08 | screenClosestDistanceSqr (bool outer_bound) const |
| | Returns the squared screen-space distance to the closest selected element.
|
| fltp08 | screenClosestDistanceSqr (PrimitiveMode mode) const |
| | Returns the squared screen-space distance to the closest element of a specific primitive mode.
|
| Bounds< 3, fltp08 > | selectionBounds () const |
| | Returns the bounding box of the current selection area in local coordinates.
|
| void | setAllowSolidInteraction (bool allow_solid_intersection) |
| | Sets whether solid (filled) geometry intersection testing is allowed.
|
| void | setCurrentSelection (const SelectionArea< 3, fltp08 > &new_selection) |
| | Sets the current selection area used for hit testing.
|
| void | setGeometryTransform (PrimitiveMode mode, const Matrix< fltp08 > &mat) |
| | Sets the geometry transform matrix for a given primitive mode.
|
| void | setNearestGeometry (const Geometry &geo, PrimitiveMode primitive_mode, uint04 index, uint04 vertex) |
| | Sets the nearest geometry hit for a given primitive mode.
|
| void | setNearestLayer (PrimitiveMode mode, const UUID &layer) |
| | Sets the nearest layer UUID for a given primitive mode.
|
| void | setNearestMaterial (PrimitiveMode mode, const UUID &material) |
| | Sets the nearest material UUID for a given primitive mode.
|
| void | setNearestModel (PrimitiveMode mode, const Model &model) |
| | Sets the nearest model for a given primitive mode.
|
| bool | setNearestScreenPosition (PrimitiveMode mode, const Vertex< 3, fltp08 > &screen_point, fltp08 screen_distance) |
| | Sets the nearest screen-space position for a given primitive mode.
|
| void | updateLineEndPoint (PrimitiveMode mode, Vertex< 3, fltp08 > vec) |
| | Updates the endpoint of the selection line for a given primitive mode.
|
| UUID | uuid () const |
| | Returns the unique identifier of this SelectionInfo instance.
|
| bool | validModelSelection (const Model &model) const |
| | Checks whether a model passes the current selection filters and is valid for selection.
|
| | ModelIterator () |
| | Default constructor.
|
| | ModelIterator (Buffer< Model > models) |
| | Constructs an iterator initialized with multiple root models.
|
| | ModelIterator (const Model &model) |
| | Constructs an iterator initialized with a single root model.
|
| void | addToStack (const Model &model) |
| | Adds a model to the internal traversal stack without starting iteration.
|
| Model | currentModel () const |
| | Returns the model currently at the top of the traversal stack.
|
| void | parseAll () |
| | Parses all models currently on the internal stack and their descendants.
|
| void | parseAll (const Model &model) |
| | Parses the given model and all of its descendants.
|
| void | parseAllChildren (const Model &parent) |
| | Parses all children of the given parent model, but not the parent itself.
|
| void | parseAllModels (const Buffer< Model > &models) |
| | Parses all models in the given buffer and their descendants.
|
| ParseResult | parseNext () |
| | Parses the next model on the stack, processing it and optionally its geometry and material.
|
|
|
UUID | camera = Constant<UUID>::Invalid |
| | The UUID of the camera used for screen-space projection.
|
|
UUID | current_model = Constant<UUID>::Invalid |
| | The UUID of the model currently being processed.
|
|
SelectionArea< 3, fltp08 > | current_selection |
| | The current active selection area.
|
|
Dictionary< UUID, EnclosedModelInfo > | enclosed_info |
| | Map of model UUIDs to their enclosed selection information.
|
|
Buffer< UUID > | grips |
| | Collection of grip point UUIDs associated with the selection.
|
|
bool | is_edit = false |
| | Whether this selection is for editing (vs. simple picking).
|
|
bool | is_exact = true |
| | Whether exact intersection testing is used (vs. bounding-box only).
|
|
SelectionArea< 3, fltp08 > | last_selection |
| | The previous selection area, used for incremental updates.
|
|
bool | mask_added = false |
| | Whether additive mask mode is active.
|
|
bool | mask_subtracted = true |
| | Whether subtractive mask mode is active.
|
|
fltp08 | min_screen_cutoff_distance = 0.0 |
| | Minimum screen-space distance below which hits are ignored.
|
|
ClosestModelInfo | nearest_line |
| | Closest hit info for line primitives.
|
|
ClosestModelInfo | nearest_point |
| | Closest hit info for point primitives.
|
|
ClosestModelInfo | nearest_solid |
| | Closest hit info for solid (triangle/face) primitives.
|
|
Material | override_material |
| | Material used to override rendering of selected objects.
|
|
fltp08 | screen_line_bias = 0.0 |
| | Bias added to line selection distances for priority tuning.
|
|
fltp08 | screen_point_bias = 0.0 |
| | Bias added to point selection distances for priority tuning.
|
|
DesignSelection | selection |
| | The resulting design selection produced by this operation.
|
|
std::function< bool(const Model &)> | selection_filter |
| | Optional filter callback invoked after selection to validate the selected model's parent. Returns true if selectable.
|
|
Buffer< SelectionArea< 3, fltp08 > > | selection_masks |
| | Collection of selection mask areas for complex selection shapes.
|
|
WindingMode | selection_winding_mode |
| | The winding mode used for determining enclosed geometry.
|
|
bool | use_interaction_flag = true |
| | Whether to respect the model's interaction flag when selecting.
|
|
Vertex< 3, fltp08 > | world_nearest_location |
| | The world-space position of the nearest hit.
|
|
LineSegment< 3, fltp08 > | world_selection_line |
| | The selection ray/line in world (screen) space.
|
|
bool | depth_first = true |
| | Whether to traverse depth-first (true) or breadth-first (false).
|
|
std::function< bool(const Model &, const Geometry &)> | geo_filter |
| | Optional filter predicate for geometry processing. Returns true to include.
|
|
bool | is_recursive = true |
| | Whether to recurse into child models.
|
|
std::function< bool(const Model &, const Material &)> | material_filter |
| | Optional filter predicate for material processing. Returns true to include.
|
|
std::function< bool(const Model &)> | model_filter |
| | Optional filter predicate for model processing. Returns true to include.
|
|
bool | post_process_model = false |
| | Whether to invoke postProcess() after a model's children have been parsed.
|
|
bool | process_geometry = true |
| | Whether to invoke process() for each Geometry on a model.
|
|
bool | process_material = false |
| | Whether to invoke process() for each Material on a model.
|
|
bool | process_model = true |
| | Whether to invoke process() for the model itself.
|
|
bool | use_unit = false |
| | Whether to apply unit conversions during processing.
|
|
|
bool | m_allow_solid_intersection |
| | Whether solid geometry intersection testing is enabled.
|
|
UUID | m_id |
| | Unique identifier for this SelectionInfo instance.
|
|
LineIterator< 3, fltp04 > | m_line_position_iter |
| | Iterator for accessing line segment positions.
|
|
VertexIterator< Vertex< 3, fltp04 > > | m_position_iter |
| | Iterator for accessing vertex positions.
|
|
TriangleIterator< 3, fltp04 > | m_triangle_position_iter |
| | Iterator for accessing triangle positions.
|
|
Buffer< Model > | m_valid_model_stack |
| | Stack of models that passed validation during traversal.
|
|
uint04 | m_forward_position = 0U |
| | Current forward index position used in breadth-first traversal.
|
|
Buffer< std::pair< Model, uint04 > > | m_model_parent_stack |
| | Stack tracking parent models and their child indices for post-processing.
|
|
Buffer< Model > | m_model_stack |
| | The stack of models pending traversal.
|
Responsible for turning a user interaction into a selection within a DesignObjectLookup.
- See also
- SelectionController, Geometry, Camera
Definition at line 51 of file Selector.h.