#include <booloper.h>


Public Member Functions | |
| a2dBooleanWalkerHandler (a2dCanvasObjectFlagsMask mask=a2dCanvasOFlags::ALL) | |
| Bool_Engine * | GetBooleanEngine () |
| void | Initialize () |
| used from constructor | |
| void | SetClearTarget (bool clearTarget) |
| clear the target layer before adding result. | |
| void | SetMarge (double marge) |
| void | SetGrid (long grid) |
| void | SetDGrid (double dgrid) |
| void | SetCorrectionAber (double aber) |
| void | SetCorrectionFactor (double aber) |
| void | SetMaxlinemerge (double maxline) |
| void | SetWindingRule (bool rule) |
| void | SetRoundfactor (double roundfac) |
| void | SetSmoothAber (double aber) |
| void | SetLinkHoles (bool doLinkHoles) |
| void | SetOrientationEntryMode (bool orientationEntryMode) |
| void | SetReleaseOrignals (bool releaseOrignals) |
| when an object takes part in operation, and this flag is true, the original is removed. | |
| void | SetResultOnSameLayer (bool resultOnSameLayer) |
| if set, the result will be placed on same layer as the first object in the operation | |
| void | SetResultStroke (const a2dStroke &resultStroke) |
| Set the Result stroke style. | |
| void | SetResultFill (const a2dFill &resultFill) |
| Set the Result fill style. | |
| void | SetStyleOfFirstChild (bool useStyle) |
| when set the style of the resulting polygons | |
| virtual bool | Start (a2dCanvasObject *object) |
| called for boolean operation | |
| bool | WalkTask (wxObject *parent, wxObject *object, a2dWalkEvent event) |
| called from within a2dCanvasDocument | |
Static Public Attributes | |
| static const long | Boolean_NON = wxGenNewId() |
| static const long | Boolean_OR = wxGenNewId() |
| static const long | Boolean_AND = wxGenNewId() |
| static const long | Boolean_EXOR = wxGenNewId() |
| static const long | Boolean_A_SUB_B = wxGenNewId() |
| static const long | Boolean_B_SUB_A = wxGenNewId() |
| static const long | Boolean_CORRECTION = wxGenNewId() |
| static const long | Boolean_SMOOTHEN = wxGenNewId() |
| static const long | Boolean_MAKERING = wxGenNewId() |
| static const long | Boolean_Polygon2Surface = wxGenNewId() |
| static const long | Boolean_Surface2Polygon = wxGenNewId() |
Protected Member Functions | |
| bool | CallEngine (a2dCanvasObject *canobjToAddChildren) |
| bool | GetObjectsForSurface (a2dCanvasObject *booleanobject, GroupType A_or_B) |
| search objects that are convertable to Surface and add them to m_foundA | |
| bool | GetObjectsSurface (a2dCanvasObject *booleanobject, GroupType A_or_B) |
| search objects that are Surface and add them to m_foundA | |
| bool | VectorPathPolygonsToEngine (a2dCanvasObjectList *vpath, GroupType A_or_B) |
| vector path split ino polygons, and added to engine | |
| bool | ConvertToPolygons (a2dCanvasObject *booleanobject, GroupType A_or_B) |
| convert obj to polygons and add to m_foundA and m_foundB | |
Protected Attributes | |
| Bool_Engine * | m_booleng |
| the boolean engine | |
| a2dStroke | m_resultStroke |
| a2dFill | m_resultFill |
| bool | m_useFirstChildStyle |
| use first child style or not. | |
| bool | m_clearTarget |
| clear the target layer before adding result. | |
| bool | m_releaseOrignals |
| when an object takes part in operation, and this flag is true, the original is removed. | |
| a2dCanvasObjectList | m_foundA |
| objects found for groupA | |
| a2dCanvasObjectList | m_foundB |
| objects found for groupB | |
| wxUint16 | m_lastdepth |
| to keep track of levels to do boolean operations | |
| a2dStroke | m_useFirstChildStyleStroke |
| a2dFill | m_useFirstChildStyleFill |
| wxUint16 | m_useFirstChildLayer |
| bool | m_firstLevelChild |
| bool | m_resultOnSameLayer |
For each object fitting the group and mask, and is at the same child level, can be merged with other objects at that same level. Only if the object can be converted to polygons, this will be the case. For new polygons created this way, the BIN2 flags is set, so one is able to find them. The reuslting polygons are added to the target layer.
Definition at line 39 of file booloper.h.
| void a2dBooleanWalkerHandler::SetLinkHoles | ( | bool | doLinkHoles | ) | [inline] |
If set false a2dSurfaces will be produced, meaning holes stored seperately If true, the result will be a2dPolygonL objects, with holes linked in to outer contour. Only if operation is Boolean_Polygon2Surface, linked holes is ignored, and holes are not linked.
Definition at line 79 of file booloper.h.
| void a2dBooleanWalkerHandler::SetResultStroke | ( | const a2dStroke & | resultStroke | ) | [inline] |
Set the Result stroke style.
When set ( non wxNullStroke ), the style will be used for polygons resulting from a boolean operation.
Definition at line 93 of file booloper.h.
| void a2dBooleanWalkerHandler::SetResultFill | ( | const a2dFill & | resultFill | ) | [inline] |
Set the Result fill style.
When set ( non wxNullFill ), the style will be used for polygons resulting from a boolean operation.
Definition at line 100 of file booloper.h.
| void a2dBooleanWalkerHandler::SetStyleOfFirstChild | ( | bool | useStyle | ) | [inline] |
when set the style of the resulting polygons
will be the same as the first child (being part of the operation) found in a parent object. Unless m_resultStroke or m_resultFill or set.
Definition at line 107 of file booloper.h.
| bool a2dBooleanWalkerHandler::Start | ( | a2dCanvasObject * | object | ) | [virtual] |
called for boolean operation
All child objects of this parent and below, will be converted to polygons, and next a boolean operation will be applied.
Reimplemented from a2dWalker_LayerGroup.
Definition at line 117 of file booloper.cpp.
const long a2dBooleanWalkerHandler::Boolean_NON = wxGenNewId() [static] |
No operation
Definition at line 44 of file booloper.h.
const long a2dBooleanWalkerHandler::Boolean_OR = wxGenNewId() [static] |
boolean OR operation
Definition at line 45 of file booloper.h.
const long a2dBooleanWalkerHandler::Boolean_AND = wxGenNewId() [static] |
boolean AND operation
Definition at line 46 of file booloper.h.
const long a2dBooleanWalkerHandler::Boolean_EXOR = wxGenNewId() [static] |
boolean EX_OR operation
Definition at line 47 of file booloper.h.
const long a2dBooleanWalkerHandler::Boolean_A_SUB_B = wxGenNewId() [static] |
boolean Group A - Group B operation
Definition at line 48 of file booloper.h.
const long a2dBooleanWalkerHandler::Boolean_B_SUB_A = wxGenNewId() [static] |
boolean Group B - Group A operation
Definition at line 49 of file booloper.h.
const long a2dBooleanWalkerHandler::Boolean_CORRECTION = wxGenNewId() [static] |
polygon correction/offset operation
Definition at line 50 of file booloper.h.
const long a2dBooleanWalkerHandler::Boolean_SMOOTHEN = wxGenNewId() [static] |
smooth operation
Definition at line 51 of file booloper.h.
const long a2dBooleanWalkerHandler::Boolean_MAKERING = wxGenNewId() [static] |
create a ring on all polygons
Definition at line 52 of file booloper.h.
const long a2dBooleanWalkerHandler::Boolean_Polygon2Surface = wxGenNewId() [static] |
convert selected polygon shapes to surfaces
Definition at line 53 of file booloper.h.
const long a2dBooleanWalkerHandler::Boolean_Surface2Polygon = wxGenNewId() [static] |
convert selected surfaces shapes to polygons
Definition at line 54 of file booloper.h.
a2dStroke a2dBooleanWalkerHandler::m_resultStroke [protected] |
a2dFill a2dBooleanWalkerHandler::m_resultFill [protected] |