Class for calculating geometry Boolean operations (AND, OR, NOT, XOR, ...) in 3D space.
More...
|
|
| GeometryBoolean (const GeometryBoolean &&filter)=delete |
| | Move constructor is deleted; boolean engines are not movable.
|
|
| GeometryBoolean (const GeometryBoolean &filter)=delete |
| | Copy constructor is deleted; boolean engines are not copyable.
|
|
virtual | ~GeometryBoolean ()=default |
| | Virtual destructor for proper cleanup of derived classes.
|
| const String & | BooleanID () const |
| | Returns the internal string identifier of this boolean engine.
|
| const TranslatedString & | BooleanName () const |
| | Returns the user-facing translated name of this boolean engine.
|
| virtual bool | canRunBoolean (const GeometryBooleanParameters &) |
| | Returns whether or not the boolean operation can be applied given the target parameters.
|
| virtual Buffer< BooleanDescription > | defaultBooleanArguments () |
| | Returns the default set of BooleanDescription arguments for this engine.
|
| virtual bool | runBoolean (GeometryBooleanParameters ¶meters)=0 |
| | Executes the boolean operation defined by this engine on the given parameters.
|
|
| static void | AddAvailableBooleanEngine (GeometryBoolean *filter) |
| | Registers a GeometryBoolean engine so it becomes available for boolean operations.
|
| static const Dictionary< String, GeometryBoolean * > & | AvailableBoolean () |
| | Returns the dictionary of all registered GeometryBoolean engines keyed by their string ID.
|
| static uint04 | AvailableBooleanDescriptionCount () |
| | Returns the number of available boolean description entries across all registered engines.
|
| static void | ExecuteBoolean (const JSONNode &active_filters, const Buffer< Model > &models_to_surface, Model &target_surface_location, InfoPipe *log, const void *lock) |
| | Executes boolean operations on a buffer of Models, writing results into the target model.
|
| static void | ExecuteBoolean (const JSONNode &active_filters, const DesignSelection &selection_to_surface, Model &target_surface_location, DesignObjectLookup *lookup, InfoPipe *log, const void *lock) |
| | Executes boolean operations on a DesignSelection, writing results into the target model.
|
| static void | ExecuteBoolean (const JSONNode &active_filters, GeometryBooleanParameters ¶ms, Model &target_surface_location) |
| | Executes boolean operations using pre-populated parameters, writing results into the target model.
|
| static Buffer< BooleanDescription > | GetAvailableDescriptions () |
| | Retrieves the list of all available BooleanDescription options from registered engines.
|
| static void | SetupDefaultSurfaceObject (Model &target_surface_location, const void *lock) |
| | Configures a Model as a default surface object suitable for receiving boolean operation results.
|
| static String | ToCommandString (const Buffer< BooleanDescription > &descriptions) |
| | Serializes a buffer of BooleanDescription objects into a command string representation.
|
|
|
String | m_id |
| | The internal string identifier of this boolean engine.
|
|
TranslatedString | m_name |
| | The user-facing translated display name of this boolean engine.
|
Class for calculating geometry Boolean operations (AND, OR, NOT, XOR, ...) in 3D space.
See https://en.wikipedia.org/wiki/Boolean_operations_on_polygons
- See also
- Geometry, GeometryFilter
Definition at line 58 of file GeometryBoolean.h.
◆ GeometryBoolean()
◆ AddAvailableBooleanEngine()
| void GeometryBoolean::AddAvailableBooleanEngine |
( |
GeometryBoolean * | filter | ) |
|
|
static |
◆ AvailableBoolean()
Returns the dictionary of all registered GeometryBoolean engines keyed by their string ID.
- Returns
- A const reference to the dictionary mapping engine IDs to GeometryBoolean pointers
◆ AvailableBooleanDescriptionCount()
| uint04 GeometryBoolean::AvailableBooleanDescriptionCount |
( |
| ) |
|
|
static |
Returns the number of available boolean description entries across all registered engines.
- Returns
- The count of available boolean descriptions
◆ BooleanID()
| const String & GeometryBoolean::BooleanID |
( |
| ) |
const |
|
inlinenodiscard |
Returns the internal string identifier of this boolean engine.
- Returns
- A const reference to the engine ID string
Definition at line 159 of file GeometryBoolean.h.
References m_id.
◆ BooleanName()
Returns the user-facing translated name of this boolean engine.
- Returns
- A const reference to the translated display name
Definition at line 154 of file GeometryBoolean.h.
References m_name.
◆ canRunBoolean()
Returns whether or not the boolean operation can be applied given the target parameters.
- Parameters
-
| [in] | parameters | The geometry boolean parameters to check (unnamed in base implementation) |
- Returns
- True if this engine can process the given parameters, false otherwise. Default returns true.
Definition at line 144 of file GeometryBoolean.h.
◆ ClearAllBoolean()
| void GeometryBoolean::ClearAllBoolean |
( |
Geometry & | geo, |
|
|
InfoPipe * | log, |
|
|
const void * | lock ) |
|
staticprotected |
Clears all boolean-related data from the given geometry.
- Parameters
-
| [in] | geo | The geometry to clear |
| [in] | log | Optional info pipe for progress reporting |
| [in] | lock | Optional lock pointer for thread synchronization |
◆ defaultBooleanArguments()
◆ ExecuteBoolean() [1/3]
| void GeometryBoolean::ExecuteBoolean |
( |
const JSONNode & | active_filters, |
|
|
const Buffer< Model > & | models_to_surface, |
|
|
Model & | target_surface_location, |
|
|
InfoPipe * | log, |
|
|
const void * | lock ) |
|
static |
Executes boolean operations on a buffer of Models, writing results into the target model.
- Parameters
-
| [in] | active_filters | JSON configuration specifying which boolean engines and options to use |
| [in] | models_to_surface | The buffer of source models to process |
| [in] | target_surface_location | The model to receive the boolean operation result |
| [in] | log | Optional info pipe for progress and error reporting |
| [in] | lock | Optional lock pointer for thread synchronization |
◆ ExecuteBoolean() [2/3]
Executes boolean operations on a DesignSelection, writing results into the target model.
- Parameters
-
| [in] | active_filters | JSON configuration specifying which boolean engines and options to use |
| [in] | selection_to_surface | The design selection containing source geometry |
| [in] | target_surface_location | The model to receive the boolean operation result |
| [in] | lookup | Lookup object for resolving design object references |
| [in] | log | Optional info pipe for progress and error reporting |
| [in] | lock | Optional lock pointer for thread synchronization |
◆ ExecuteBoolean() [3/3]
Executes boolean operations using pre-populated parameters, writing results into the target model.
- Parameters
-
| [in] | active_filters | JSON configuration specifying which boolean engines and options to use |
| [in] | params | The pre-populated boolean parameters containing source geometry data |
| [in] | target_surface_location | The model to receive the boolean operation result |
◆ FinishBoolean()
Writes boolean operation results back into the geometry, applying the inverse transform.
- Parameters
-
| [in] | transform | The transformation matrix (inverse will be applied to results) |
| [in] | geo | The target geometry to receive the results |
| [in] | params | The parameters containing the boolean operation results |
◆ GetAvailableDescriptions()
◆ PrepareForBoolean()
Prepares geometry data for a boolean operation by transforming and extracting mesh data.
- Parameters
-
| [in] | transform | The transformation matrix to apply to the geometry |
| [in] | geo | The source geometry to prepare |
| [in] | params | The parameters object to populate with the prepared geometry data |
◆ runBoolean()
Executes the boolean operation defined by this engine on the given parameters.
- Parameters
-
| [in] | parameters | The geometry boolean parameters containing input data and receiving output |
- Returns
- True if the boolean operation succeeded, false otherwise
◆ SetupDefaultSurfaceObject()
| void GeometryBoolean::SetupDefaultSurfaceObject |
( |
Model & | target_surface_location, |
|
|
const void * | lock ) |
|
static |
Configures a Model as a default surface object suitable for receiving boolean operation results.
- Parameters
-
| [in] | target_surface_location | The model to configure as a surface container |
| [in] | lock | Optional lock pointer for thread synchronization |
◆ ToCommandString()
Serializes a buffer of BooleanDescription objects into a command string representation.
- Parameters
-
| [in] | descriptions | The buffer of boolean descriptions to serialize \returns A string representation suitable for command-line or JSON usage
|
- Note
- The exact format of the returned string is unclear from the header alone.
The documentation for this class was generated from the following file: