VR-Engage  2.2
Loading...
Searching...
No Matches
vreEntitySelectionFilter.h
Go to the documentation of this file.
1/*******************************************************************************
2** Copyright (c) 2025 MAK Technologies
3** All rights reserved.
4*******************************************************************************/
5
6//! \file vreEntitySelectionFilter.h
7//! \ingroup vreManager
8//! \brief Entity selection filter for VREngage Manager
9//!
10//! This file defines the DtVreEntitySelectionFilter class, which provides filtering
11//! capabilities for entity selection within the VREngage Manager.
12
13#pragma once
14
15#include "vreManager/export.h"
16#include <vrfGuiCore/vrfSelectionFilters.h>
17
18//! \brief Unique identifier for the VREngage entity selection filter
19const char DtVreEntitySelectionFilterId[] = "DtVreEntitySelectionFilter";
20
21namespace makVrv
22{
23struct DtVrlinkSimulatedBaseState;
24class DtDe;
25} // namespace makVrv
26
27namespace makVre
28{
29//! \brief Filter for selecting entities in the VREngage Manager
30//!
31//! This filter extends the VRF selection object filter with VREngage-specific
32//! filtering capabilities, allowing selection of entities based on
33//! VREngage-specific criteria.
34class VREMANAGER_DLL DtVreEntitySelectionFilter : public makVrf::DtVrfSelectionObjectFilter
35{
36public:
37 //! \brief Constructor
38 //! \param de The distributed environment reference
39 //!
40 //! Initializes a new entity selection filter with the specified distributed environment.
42
43 //! \brief Virtual destructor
44 //!
45 //! Destructor for proper cleanup of derived classes.
46 virtual ~DtVreEntitySelectionFilter() override {};
47
48 //! \brief Creates a copy of this filter
49 //! \return Pointer to a new dynamically allocated copy
50 //!
51 //! Creates a clone of this filter for use in filter collections or for copying filters.
52 virtual DtVrfSelectionFilter* clone() const override { return new DtVreEntitySelectionFilter(*this); };
53
54 //! \brief Determines if a simulation object passes the filter
55 //! \param simObject The simulation object reference to check
56 //! \return True if the object passes the filter criteria, false otherwise
57 //!
58 //! Evaluates whether a simulation object should be included in the filtered selection
59 //! based on VREngage-specific criteria.
60 virtual bool isValid(const makVrf::DtSimObjectReference& simObject) const override;
61
62protected:
63 //! \brief Reference to the distributed environment
64 //!
65 //! Used to access simulation state information for filtering decisions.
66 makVrv::DtDe& myDe;
67};
68} // namespace makVre
virtual DtVrfSelectionFilter * clone() const override
Creates a copy of this filter.
Definition vreEntitySelectionFilter.h:52
DtVreEntitySelectionFilter(makVrv::DtDe &de)
Constructor.
virtual bool isValid(const makVrf::DtSimObjectReference &simObject) const override
Determines if a simulation object passes the filter.
makVrv::DtDe & myDe
Reference to the distributed environment.
Definition vreEntitySelectionFilter.h:66
virtual ~DtVreEntitySelectionFilter() override
Virtual destructor.
Definition vreEntitySelectionFilter.h:46
Export macros for the VREngage Manager library.
#define VREMANAGER_DLL
Platform-specific export/import macro for VREngage Manager library.
Definition export.h:28
Include export definitions for this library.
Definition glsVreMessageUtil.h:49
Definition appLauncherComponent.h:28
makVrv::DtDe * de()
Gets the display element pointer used by the plugin.
const char DtVreEntitySelectionFilterId[]
Unique identifier for the VREngage entity selection filter.
Definition vreEntitySelectionFilter.h:19