![]() |
NDEVR
API Documentation
|
Provides easy filtering tools for factories that are only able to export certain types of models or geometries. More...
Static Public Member Functions | |
| static Buffer< Model > | FilterGeometryModels (Buffer< UUID > models_to_check, const DesignObjectLookup *lookup, const Buffer< GeometryType > &types) |
| Filters models to find those containing geometry matching any of the specified types. | |
| static Buffer< Model > | FilterGeometryModels (Buffer< UUID > models_to_check, const DesignObjectLookup *lookup, GeometryType type) |
| Filters models to find those containing geometry of a specific type. | |
| template<class t_type> | |
| static Buffer< t_type > | FilterTypeModels (Buffer< UUID > models_to_check, const DesignObjectLookup *lookup) |
| Filters models by a compile-time type, returning only models (or their descendants) whose type name matches t_type::TypeName(). | |
| static Buffer< Model > | FilterTypeModels (Buffer< UUID > models_to_check, const DesignObjectLookup *lookup, const Buffer< String > &types) |
| Filters models by one or more type name strings, returning only models (or their descendants) that match the specified types. | |
| static Buffer< Model > | FilterTypeModels (Buffer< UUID > models_to_check, const DesignObjectLookup *lookup, const Buffer< StringView > &types) |
| Filters models by one or more type name string views, returning only models (or their descendants) that match the specified types. | |
| template<class t_type> | |
| static void | SortModelsByName (Buffer< t_type > &models) |
| Sorts a buffer of models alphabetically by their display name path using alphanumeric comparison. | |
Provides easy filtering tools for factories that are only able to export certain types of models or geometries.
This utility class contains static methods for filtering, sorting, and retrieving models from a DesignObjectLookup based on type names, geometry types, deployment status, or station associations. It is primarily used by IO factories to determine which models are eligible for export.
Definition at line 18 of file FactoryModelFilters.h.
|
inlinestatic |
Filters models to find those containing geometry matching any of the specified types.
Iterates through model hierarchies, skipping export-ignored and application-owned models, then reduces the result to root-level models where all non-ignored children are also included.
| [in] | models_to_check | The UUIDs of models to examine. |
| [in] | lookup | The design object lookup used to resolve model UUIDs. |
| [in] | types | The buffer of geometry types to filter by. |
Definition at line 264 of file FactoryModelFilters.h.
References Buffer< t_type, t_memory_manager >::add(), ModelIterator::e_continue_parsing, Model::exportIgnored(), Model::getChildren(), Geometry::getGeometryType(), Set< t_value >::hasValue(), Model::isApplicationOwned(), DesignObject::isValid(), DesignObjectLookup::model(), ModelIterator::model_filter, DesignObjectLookup::readLock(), and Model::ReduceToRoots().
|
inlinestatic |
Filters models to find those containing geometry of a specific type.
Iterates through model hierarchies, skipping export-ignored and application-owned models, then reduces the result to root-level models where all non-ignored children are also included.
| [in] | models_to_check | The UUIDs of models to examine. |
| [in] | lookup | The design object lookup used to resolve model UUIDs. |
| [in] | type | The geometry type to filter by. |
Definition at line 220 of file FactoryModelFilters.h.
References Buffer< t_type, t_memory_manager >::add(), ModelIterator::e_continue_parsing, Model::exportIgnored(), Model::getChildren(), Geometry::getGeometryType(), Set< t_value >::hasValue(), Model::isApplicationOwned(), DesignObject::isValid(), DesignObjectLookup::model(), ModelIterator::model_filter, DesignObjectLookup::readLock(), Model::ReduceToRoots(), and type.
|
inlinestatic |
Filters models by a compile-time type, returning only models (or their descendants) whose type name matches t_type::TypeName().
Models flagged as export-ignored are skipped.
| [in] | models_to_check | The UUIDs of models to examine. |
| [in] | lookup | The design object lookup used to resolve model UUIDs. |
Definition at line 127 of file FactoryModelFilters.h.
References Buffer< t_type, t_memory_manager >::add(), Model::exportIgnored(), Model::getTypeDescendants(), DesignObject::is(), DesignObject::isValid(), DesignObjectLookup::model(), DesignObjectLookup::readLock(), and type.
|
inlinestatic |
Filters models by one or more type name strings, returning only models (or their descendants) that match the specified types.
Models flagged as export-ignored are excluded.
| [in] | models_to_check | The UUIDs of models to examine. |
| [in] | lookup | The design object lookup used to resolve model UUIDs. |
| [in] | types | The type name strings to filter by. If empty, all valid non-ignored models are returned. |
Definition at line 42 of file FactoryModelFilters.h.
References Buffer< t_type, t_memory_manager >::add(), Model::exportIgnored(), Model::getDescendantsByType(), DesignObject::is(), IsValid(), DesignObject::isValid(), DesignObjectLookup::model(), DesignObjectLookup::readLock(), and type.
|
inlinestatic |
Filters models by one or more type name string views, returning only models (or their descendants) that match the specified types.
Models flagged as export-ignored are excluded.
| [in] | models_to_check | The UUIDs of models to examine. |
| [in] | lookup | The design object lookup used to resolve model UUIDs. |
| [in] | types | The type name string views to filter by. If empty, all valid non-ignored models are returned. |
Definition at line 85 of file FactoryModelFilters.h.
References Buffer< t_type, t_memory_manager >::add(), Model::exportIgnored(), Model::getDescendantsByType(), DesignObject::is(), IsValid(), DesignObject::isValid(), DesignObjectLookup::model(), DesignObjectLookup::readLock(), and type.
|
inlinestatic |
Sorts a buffer of models alphabetically by their display name path using alphanumeric comparison.
| [in] | models | The buffer of models to sort in-place. |
Definition at line 27 of file FactoryModelFilters.h.