API Documentation
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros
GeometryBoolean Class Referenceabstract

Class for calculating geometry Boolean operations (AND, OR, NOT, XOR, ...) in 3D space. See https://en.wikipedia.org/wiki/Boolean_operations_on_polygons. More...

#include <GeometryBoolean.h>

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

Public Member Functions

const StringBooleanID () const
 
const TranslatedStringBooleanName () const
 
virtual bool canRunBoolean (const GeometryBooleanParameters &)
 
virtual Buffer< BooleanDescriptiondefaultBooleanArguments ()
 
 GeometryBoolean (const GeometryBoolean &&filter)=delete
 
 GeometryBoolean (const GeometryBoolean &filter)=delete
 
virtual bool runBoolean (GeometryBooleanParameters &parameters)=0
 
virtual ~GeometryBoolean ()=default
 

Static Public Member Functions

static void AddAvailableBooleanEngine (GeometryBoolean *filter)
 
static const Dictionary< String, GeometryBoolean * > & AvailableBoolean ()
 
static uint04 AvailableBooleanDescriptionCount ()
 
static void ExecuteBoolean (const JSONNode &active_filters, const Buffer< Model > &models_to_surface, Model &target_surface_location, ProgressInfo *log, const void *lock)
 
static void ExecuteBoolean (const JSONNode &active_filters, const DesignSelection &selection_to_surface, Model &target_surface_location, DesignObjectLookup *lookup, ProgressInfo *log, const void *lock)
 
static void ExecuteBoolean (const JSONNode &active_filters, GeometryBooleanParameters &params, Model &target_surface_location)
 
static Buffer< BooleanDescriptionGetAvailableDescriptions ()
 
static void SetupDefaultSurfaceObject (Model &target_surface_location, const void *lock)
 
static String ToCommandString (const Buffer< BooleanDescription > &descriptions)
 

Protected Member Functions

 GeometryBoolean (const TranslatedString &name, const String &id)
 

Static Protected Member Functions

static void ClearAllBoolean (Geometry &geo, ProgressInfo *log, const void *lock)
 
static void FinishBoolean (const Matrix< fltp08 > &transform, Geometry &geo, const GeometryBooleanParameters &params)
 
static void PrepareForBoolean (const Matrix< fltp08 > &transform, const Geometry &geo, GeometryBooleanParameters &params)
 

Protected Attributes

String m_id
 
TranslatedString m_name
 

Static Protected Attributes

static Dictionary< String, GeometryBoolean * > s_global_available_boolean_engines
 

Detailed Description

Class for calculating geometry Boolean operations (AND, OR, NOT, XOR, ...) in 3D space. See https://en.wikipedia.org/wiki/Boolean_operations_on_polygons.


Constructor & Destructor Documentation

◆ GeometryBoolean() [1/3]

GeometryBoolean ( const TranslatedString & name,
const String & id )
explicitprotected

◆ GeometryBoolean() [2/3]

GeometryBoolean ( const GeometryBoolean & filter)
delete

◆ GeometryBoolean() [3/3]

GeometryBoolean ( const GeometryBoolean && filter)
delete

◆ ~GeometryBoolean()

virtual ~GeometryBoolean ( )
virtualdefault

Member Function Documentation

◆ AddAvailableBooleanEngine()

static void AddAvailableBooleanEngine ( GeometryBoolean * filter)
static

◆ AvailableBoolean()

static const Dictionary< String, GeometryBoolean * > & AvailableBoolean ( )
static

◆ AvailableBooleanDescriptionCount()

static uint04 AvailableBooleanDescriptionCount ( )
static

◆ BooleanID()

const String & BooleanID ( ) const
inlinenodiscard

◆ BooleanName()

const TranslatedString & BooleanName ( ) const
inlinenodiscard

◆ canRunBoolean()

virtual bool canRunBoolean ( const GeometryBooleanParameters & )
inlinevirtual

◆ ClearAllBoolean()

static void ClearAllBoolean ( Geometry & geo,
ProgressInfo * log,
const void * lock )
staticprotected

◆ defaultBooleanArguments()

virtual Buffer< BooleanDescription > defaultBooleanArguments ( )
virtual

◆ ExecuteBoolean() [1/3]

static void ExecuteBoolean ( const JSONNode & active_filters,
const Buffer< Model > & models_to_surface,
Model & target_surface_location,
ProgressInfo * log,
const void * lock )
static

◆ ExecuteBoolean() [2/3]

static void ExecuteBoolean ( const JSONNode & active_filters,
const DesignSelection & selection_to_surface,
Model & target_surface_location,
DesignObjectLookup * lookup,
ProgressInfo * log,
const void * lock )
static

◆ ExecuteBoolean() [3/3]

static void ExecuteBoolean ( const JSONNode & active_filters,
GeometryBooleanParameters & params,
Model & target_surface_location )
static

◆ FinishBoolean()

static void FinishBoolean ( const Matrix< fltp08 > & transform,
Geometry & geo,
const GeometryBooleanParameters & params )
staticprotected

◆ GetAvailableDescriptions()

static Buffer< BooleanDescription > GetAvailableDescriptions ( )
static

◆ PrepareForBoolean()

static void PrepareForBoolean ( const Matrix< fltp08 > & transform,
const Geometry & geo,
GeometryBooleanParameters & params )
staticprotected

◆ runBoolean()

virtual bool runBoolean ( GeometryBooleanParameters & parameters)
pure virtual

◆ SetupDefaultSurfaceObject()

static void SetupDefaultSurfaceObject ( Model & target_surface_location,
const void * lock )
static

◆ ToCommandString()

static String ToCommandString ( const Buffer< BooleanDescription > & descriptions)
static

Member Data Documentation

◆ m_id

String m_id
protected

◆ m_name

TranslatedString m_name
protected

◆ s_global_available_boolean_engines

Dictionary<String, GeometryBoolean*> s_global_available_boolean_engines
staticprotected

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