NDEVR
API Documentation
PropertyChannelFilterfinal

Filters geometry based on property channel values attached to the geometry. More...

Inheritance diagram for PropertyChannelFilter:
[legend]
Collaboration diagram for PropertyChannelFilter:
[legend]

Public Member Functions

 PropertyChannelFilter ()
 Constructs a PropertyChannelFilter and registers it with the global filter registry.
bool canRunFilter (const GeometryFilterParameters &parameters) override
 Checks whether the filter can be applied to the geometry described in the given parameters.
Buffer< FilterDescriptiondefaultFilterArguments () override
 Returns the default set of filter argument descriptions for this filter.
bool runFilter (GeometryFilterParameters &parameters) override
 Executes the property-based filter on the geometry described in the given parameters.
Public Member Functions inherited from GeometryFilter
 GeometryFilter (const GeometryFilter &&filter)=delete
 Move constructor is deleted; filters are non-movable.
 GeometryFilter (const GeometryFilter &filter)=delete
 Copy constructor is deleted; filters are non-copyable.
virtual ~GeometryFilter ()=default
 Virtual destructor defaulted for proper polymorphic cleanup.
const StringfilterID () const
 Returns the internal string identifier of this filter.
const TranslatedStringfilterName () const
 Returns the user-facing translated name of this filter.

Additional Inherited Members

Static Public Member Functions inherited from GeometryFilter
static void AddAvailableFilter (GeometryFilter *filter)
 Registers a GeometryFilter instance in the global available filters dictionary.
static DynamicPointer< ManagedDesignCommandAddFilterCommand (const FilterDescription &filter)
 Creates a design command that adds a single filter to the active filter set.
static const Dictionary< String, GeometryFilter * > & AvailableFilters ()
 Returns the global dictionary of all registered GeometryFilter instances keyed by their ID.
static void ExecuteFiltering (const JSONNode &active_filters, const Matrix< fltp08 > &transform, Geometry &geo, LogPtr log, const void *lock)
 Executes filtering on a single Geometry object using the filters described in the JSON node.
static void ExecuteFiltering (const JSONNode &active_filters, Model &model, LogPtr log, const void *lock)
 Executes filtering on all geometry within a Model using the filters described in the JSON node.
static Buffer< FilterDescriptionGetAvailableDescriptions ()
 Retrieves the default FilterDescription entries for all registered filters.
static DynamicPointer< ManagedDesignCommandSetFiltersCommand (const Buffer< FilterDescription > &filter)
 Creates a design command that replaces the entire active filter set with the given filters.
static String ToCommandString (const Buffer< FilterDescription > &descriptions)
 Serializes a set of filter descriptions into a command string representation.
Protected Member Functions inherited from GeometryFilter
 GeometryFilter (const TranslatedString &name, const StringView &id)
 Constructs a GeometryFilter with the given display name and identifier.
Static Protected Member Functions inherited from GeometryFilter
static void ClearAllFiltering (Geometry &geo, LogPtr log, const void *lock)
 Clears all filtering results from the given geometry, restoring it to unfiltered state.
static void FinishFiltering (const Matrix< fltp08 > &transform, Geometry &geo, const GeometryFilterParameters &params)
 Applies the filtering results back to the geometry after filter execution.
static void PrepareForFiltering (const Matrix< fltp08 > &transform, Geometry &geo, GeometryFilterParameters &params)
 Prepares geometry data for filtering by populating the parameters with vertex data.
Protected Attributes inherited from GeometryFilter
String m_id
 The internal unique string identifier for this filter.
TranslatedString m_name
 The user-facing translated display name for this filter.
Static Protected Attributes inherited from GeometryFilter
static Dictionary< String, GeometryFilter * > s_global_available_filters
 Global registry of all available filter instances, keyed by their string ID.

Detailed Description

Filters geometry based on property channel values attached to the geometry.


This filter evaluates per-vertex or per-primitive property channels (e.g., intensity, classification, color) and removes elements that do not satisfy the configured criteria. Inherits from GeometryFilter and is registered as an available filter service.

Definition at line 13 of file PropertyChannelFilter.h.

Constructor & Destructor Documentation

◆ PropertyChannelFilter()

PropertyChannelFilter::PropertyChannelFilter ( )

Constructs a PropertyChannelFilter and registers it with the global filter registry.


Member Function Documentation

◆ canRunFilter()

bool PropertyChannelFilter::canRunFilter ( const GeometryFilterParameters & parameters)
overridevirtual

Checks whether the filter can be applied to the geometry described in the given parameters.


Returns false if the target geometry lacks the required property channels.

Parameters
[in]parametersThe filter parameters describing the target geometry.
Returns
True if the filter is applicable, false otherwise.

Reimplemented from GeometryFilter.

◆ defaultFilterArguments()

Buffer< FilterDescription > PropertyChannelFilter::defaultFilterArguments ( )
overridevirtual

Returns the default set of filter argument descriptions for this filter.


These descriptions define the configurable parameters (e.g., which property channel to filter on, threshold values) that can be serialized to and from JSON.

Returns
A Buffer of FilterDescription entries representing the default arguments.

Reimplemented from GeometryFilter.

◆ runFilter()

bool PropertyChannelFilter::runFilter ( GeometryFilterParameters & parameters)
overridevirtual

Executes the property-based filter on the geometry described in the given parameters.


Parameters
[in]parametersThe filter parameters containing target geometry and filter arguments.
Returns
True if the filter was applied successfully, false otherwise.

Implements GeometryFilter.


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