wxArt2D
Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
a2dBooleanWalkerHandler Class Reference

walk a document tree and perform boolean opration on primitives. More...

#include <booloper.h>

Inheritance diagram for a2dBooleanWalkerHandler:
Inheritance graph
[legend]
Collaboration diagram for a2dBooleanWalkerHandler:
Collaboration graph
[legend]

Public Member Functions

 a2dBooleanWalkerHandler (a2dCanvasObjectFlagsMask mask=a2dCanvasOFlags::ALL)
 
Bool_Engine * GetBooleanEngine ()
 
void SetLog (bool OnOff)
 log file will be created when set True
 
void SetDebug (bool OnOff)
 when set debug information and output will be generated.
 
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. More...
 
void SetResultFill (const a2dFill &resultFill)
 Set the Result fill style. More...
 
void SetStyleOfFirstChild (bool useStyle)
 when set the style of the resulting polygons More...
 
virtual bool Start (a2dCanvasObject *object)
 called for boolean operation More...
 
bool WalkTask (wxObject *parent, wxObject *object, a2dWalkEvent event)
 called from within a2dCanvasDocument
 
- Public Member Functions inherited from a2dWalker_LayerCanvasObjects
 a2dWalker_LayerCanvasObjects (a2dCanvasObjectFlagsMask mask=a2dCanvasOFlags::ALL)
 constructor with no a2dPropertyId added yet. For that use AddPropertyId()
 
 a2dWalker_LayerCanvasObjects (const a2dPropertyId *id, a2dCanvasObjectFlagsMask mask=a2dCanvasOFlags::ALL)
 constructor with a2dPropertyId added to the propertyIsList to search for.
 
 a2dWalker_LayerCanvasObjects (const a2dPropertyIdList &idList, a2dCanvasObjectFlagsMask mask=a2dCanvasOFlags::ALL)
 constructor with the propertyIdList to search for as input
 
 ~a2dWalker_LayerCanvasObjects ()
 destructor
 
void SetOperation (Operation operation)
 set type of operation
 
void SetRadiusMin (double radiusMin)
 Polygon/polyline to Arc Minimum radius to test.
 
void SetRadiusMax (double radiusMax)
 Polygon/polyline to Arc Maximum radius to test.
 
void SetAberPolyToArc (double aber)
 Polygon/polyline to Arc Maximum abberation.
 
void SetDetectCircle (bool detectCircle)
 
bool GetDetectCircle ()
 see SetDetectCircle
 
double GetCalculatedArea ()
 in areaLayers returns calculated area sofar.
 
- Public Member Functions inherited from a2dWalker_LayerGroup
 a2dWalker_LayerGroup (a2dCanvasObjectFlagsMask mask=a2dCanvasOFlags::ALL)
 constructor with no a2dPropertyId added yet. For that use AddPropertyId()
 
 a2dWalker_LayerGroup (const a2dPropertyId *id, a2dCanvasObjectFlagsMask mask=a2dCanvasOFlags::ALL)
 constructor with a2dPropertyId added to the propertyIsList to search for.
 
 a2dWalker_LayerGroup (const a2dPropertyIdList &idList, a2dCanvasObjectFlagsMask mask=a2dCanvasOFlags::ALL)
 constructor with the propertyIdList to search for as input
 
 ~a2dWalker_LayerGroup ()
 destructor
 
bool Start (a2dCanvasObject *object)
 start at this object
 
void SetGroupA (const a2dLayerGroup &groupA)
 objects on layers in group A will be used as first operand
 
void SetGroupB (const a2dLayerGroup &groupB)
 objects on layers in group B will be used as first operand
 
void SetTarget (wxUint16 targetlayer)
 set the layer where the result will be placed
 
void SetSelectedOnlyA (bool selectedOnlyA)
 set selectedOnlyA in group operations
 
bool GetSelectedOnlyA ()
 get selectedOnlyA in group operations
 
void SetSelectedOnlyB (bool selectedOnlyB)
 set selectedOnlyB in group operations
 
bool GetSelectedOnlyB ()
 get selectedOnlyB in group operations
 
- Public Member Functions inherited from a2dWalker_FilterCanvasObjects
 a2dWalker_FilterCanvasObjects (a2dCanvasObjectFlagsMask mask=a2dCanvasOFlags::ALL)
 constructor with no a2dPropertyId added yet. For that use AddPropertyId()
 
 a2dWalker_FilterCanvasObjects (const a2dPropertyId *id, a2dCanvasObjectFlagsMask mask=a2dCanvasOFlags::ALL)
 constructor with a2dPropertyId added to the propertyIsList to search for.
 
 a2dWalker_FilterCanvasObjects (const a2dPropertyIdList &idList, a2dCanvasObjectFlagsMask mask=a2dCanvasOFlags::ALL)
 constructor with the propertyIdList to search for as input
 
void AddPropertyId (const a2dPropertyId *id)
 add a a2dPropertyId to the list
 
bool Start (a2dCanvasObject *object)
 
void AddClassName (wxString className)
 add to classname to set of classes to be filtered.
 
void RemoveClassName (wxString className)
 remove this classname from set.
 
void SetAllowClassList (bool allow)
 
bool GetAllowClassList ()
 
void SetObjectName (const wxString &objectname=wxT(""))
 if not empty, objects must have this name
 
void SetUniqueSerializationId (wxInt64 id)
 if not 0, objects must have this UniqueSerializationId
 
void SetBoundingBox (const a2dBoundingBox &bbox)
 if valid, objects must fit in this boundingbox
 
void SetBoundingBoxCondition (wxUint16 intersectionCondition)
 if boundingbox is set, the object is testen against this condition, default _IN
 
void SetRecursionDepth (int depth=INT_MAX)
 how far we go into nested a2dObject's
 
void SetCheckLayerVisible (bool check)
 if set, layer which the object is on must be visible
 
void SetCheckLayerSelectable (bool check)
 if set, layer which the object is on must be selectable
 
void SetSkipStart (bool skip)
 if set, the start object will be skipped
 
- Public Member Functions inherited from a2dWalkerIOHandler
 a2dWalkerIOHandler ()
 constructor
 
 ~a2dWalkerIOHandler ()
 destructor
 
wxString GetErrorString ()
 get this when an error occured.
 
void SetStopWalking (bool stopWalking)
 to further recursion, e.g. in a2dObject::Walker()
 
bool GetStopWalking ()
 check for stop
 
void IncCurrentDepth ()
 Increment recursion depth.
 
void DecCurrentDepth ()
 Decrement recursion depth.
 
int GetCurrentDepth ()
 What is the current recursion depth.
 
void SetDepthFirst (bool depthFirst)
 set if walker needs to go into recursive objects first.
 
bool GetDepthFirst ()
 What is the current recursion depth.
 
void SetUseCheck (bool useCheck)
 set if walker needs to check objects for a2dObject::m_check set, before walking into it
 
bool GetUseCheck ()
 see SetUseCheck
 
void Register (const wxString &classname, a2dObjectIOFn *IOfunc)
 to register a function to handle a class
 
void Unregister (const wxString &classname)
 to Un-register a function to handle a class
 
wxObject * GetParent ()
 
bool GetSkipNotRenderedInDrawing () const
 
void SetSkipNotRenderedInDrawing (bool skipNotRenderedInDrawing)
 
bool GetResult ()
 depending upon derived class implementation.
 
- Public Member Functions inherited from a2dIOHandler
 a2dIOHandler ()
 constructor
 
 ~a2dIOHandler ()
 destructor
 
virtual wxObject * CreateObject (const wxString &symbolicName)
 Creates an specific object by name. More...
 
- Public Member Functions inherited from a2dRefMap
 a2dRefMap ()
 constructor
 
 ~a2dRefMap ()
 destructor
 
a2dHashMapIntToObject & GetObjectHashMap ()
 This is used to find multiple referenced objects by id.
 
a2dHashMapCreateObject & GetObjectCreateHashMap ()
 has to map symbolic names to real classnames.
 
a2dResolveIdList & GetResolveIdList ()
 list of not resolved objects
 
bool ResolveOrAdd (a2dSmrtPtr< a2dObject > *storedHere, const wxString &id=wxT(""))
 try to resolve the object that is in storedHere when it is a reference. More...
 
bool ResolveOrAdd (a2dAutoZeroPtr< a2dObject > *storedHere, const wxString &id=wxT(""))
 try to resolve the object that is in storedHere when it is a reference.
 
bool ResolveOrAddLink (a2dObject *obj, const wxString &id=wxT(""))
 try to resolve an object referenced by obj using the LinkReference function
 
void ResolveInform (a2dObject *obj)
 call the objects LinkReference function (ptr=0) to inform it that links are done
 
void SetLastObjectLoadedId (const wxString &lastid)
 set by RefObject when finding a reference id during loading.
 
virtual bool LinkReferences (bool ignoreNonResolved=false)
 link references to their destination More...
 
bool RemoveReference (const wxString &idToRemove)
 remove given reference if from reference map.
 
a2dError GetLastError () const
 get last error encountered
 
void SetLastError (a2dError error)
 set last error encountered
 
- Public Member Functions inherited from a2dObject
virtual bool ProcessEvent (wxEvent &event)
 
bool SearchDynamicEventTable (wxEvent &event)
 
void Connect (int winid, int lastId, int eventType, wxObjectEventFunction func, wxObject *userData=(wxObject *) NULL, wxEvtHandler *eventSink=(wxEvtHandler *) NULL)
 
bool Disconnect (int winid, int lastId, wxEventType eventType, wxObjectEventFunction func=NULL, wxObject *userData=(wxObject *) NULL, wxEvtHandler *eventSink=(wxEvtHandler *) NULL)
 
void ProcessConnectedEvent (wxEvent &event)
 wxCHECK_VERSION(2,9,0) More...
 
void ConnectEvent (wxEventType type, wxEvtHandler *eventSink)
 
bool DisconnectEvent (wxEventType type, wxEvtHandler *eventSink)
 
bool DisconnectEventAll (wxEvtHandler *eventSink)
 Remove all dynamic events in classA, going to classB (eventSink) More...
 
 a2dObject ()
 constructor
 
virtual ~a2dObject ()
 destructor
 
void operator= (const a2dObject &other)
 assignment operator
 
int GetOwnedBy ()
 like it to be protected, but this does not work with wxList macros More...
 
virtual a2dObjectSetNonDynamic ()
 Call to mark this object as non-dynamic (static/local/auto) More...
 
void CheckReferences ()
 Check zero reference count and delete if count is 0. More...
 
a2dObjectClone (CloneOptions options, a2dRefMap *refs=NULL) const
 create an exact copy of this property
 
 a2dObject (const a2dObject &other, CloneOptions options, a2dRefMap *refs)
 
virtual wxString GetName () const
 Returns the name of this object, if no name is given the internal id will be returned. More...
 
virtual void SetName (const wxString &name)
 Creates the a2dStringProperty PROPID_Name. More...
 
virtual bool IsTemporary_DontSave () const
 Check if this is a temporary object, which should not be saved.
 
void SaveAsDocument (a2dIOHandlerXmlSerOut &out)
 Save this object and all below as an XML document. More...
 
virtual void Save (wxObject *parent, a2dIOHandlerXmlSerOut &out, a2dObjectList *towrite)
 write all needed to an XML type of file called the CVG format More...
 
void LoadFromDocument (a2dIOHandlerXmlSerIn &parser)
 Load this object and all below from an XML document. More...
 
virtual void Load (wxObject *parent, a2dIOHandlerXmlSerIn &parser)
 load object from CVG file More...
 
wxInt64 GetUniqueSerializationId () const
 return a unique id for this object More...
 
virtual bool AlwaysWriteSerializationId () const
 If true, always write an id. More...
 
virtual bool LinkReference (a2dObject *other)
 link a reference in the object to the given value More...
 
virtual void ResolveInform ()
 inform an object that reference resolution was done More...
 
void Walker (wxObject *parent, a2dWalkerIOHandler &handler)
 This is used to recursively walk through an object tree.
 
void SetCheck (bool check)
 general flag use at will. More...
 
bool GetCheck () const
 general flag use at will.
 
void SetRelease (bool value)
 set release flag More...
 
bool GetRelease () const
 get release flag More...
 
a2dAutoZeroPtr< a2dObject > ** GetAutoZeroPtrList ()
 return the list head pointer for autozero pointers to this object More...
 
 DECLARE_PROPERTIES ()
 
a2dNamedPropertyGetProperty (const a2dPropertyId *propertyId, a2dPropertyId::Flags flags=a2dPropertyId::flag_none) const
 get property on this object More...
 
void SetProperty (a2dNamedProperty *propertyHolder, a2dPropertyId::SetFlags flags=a2dPropertyId::set_none)
 Set the property to the this object. More...
 
void SetProperty (const a2dNamedProperty &propertyHolder, a2dPropertyId::SetFlags flags=a2dPropertyId::set_none)
 Set the property to the this object and if enabled, to all childs and object members. More...
 
virtual a2dNamedPropertyFindProperty (const a2dPropertyId *id, a2dPropertyId::Flags flags=a2dPropertyId::flag_none)
 Find a dynamic property with given id in the property list. More...
 
virtual const a2dNamedPropertyFindProperty (const a2dPropertyId *id, a2dPropertyId::Flags flags=a2dPropertyId::flag_none) const
 Find a dynamic property with given id in the property list. More...
 
virtual bool HasProperty (const a2dPropertyId *id, const wxString &stringvalue=wxEmptyString) const
 Check if the object has a property with given id and string representation. More...
 
virtual void OnPropertyChanged (const a2dPropertyId *id)
 This function is called after a property changed. More...
 
virtual bool EditProperties (const a2dPropertyId *id, bool withUndo=true)
 edit properties of the object More...
 
void TakeOverProperties (a2dObject *from, a2dPropertyIdList *listOfIds)
 Properties in the id list are taken from the given object, en set to this. More...
 
wxURI GetURI () const
 quick way to get to PROPID_URI property More...
 
void SetURI (const wxURI &url)
 quickly set a property PROPID_URI More...
 
const a2dNamedPropertyListGetPropertyList () const
 Get the Property List. More...
 
bool HasDynamicProperties () const
 test if there are dynamic properties in the m_propertylist
 
virtual bool RemoveProperty (const a2dPropertyId *id, bool all=true)
 This function is called by a2dPropertyId to remove a property from the list. More...
 
void RemoveTemporaryProperties ()
 remove all temporary properties
 
virtual bool AddProperty (a2dNamedProperty *property)
 This function is called by a2dPropertyId to add a property to the list. More...
 

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()
 
- Static Public Attributes inherited from a2dWalker_LayerCanvasObjects
static const long moveLayers = wxGenNewId()
 move layers to target
 
static const long copyLayers = wxGenNewId()
 copy layers to target
 
static const long deleteLayers = wxGenNewId()
 delete layers
 
static const long ConvertToArcs = wxGenNewId()
 convert segments in polygon/polyline objects in group A to Arcs where possible
 
static const long ConvertToPolygonPolylinesWithArcs = wxGenNewId()
 convert to simple polygons and polylines preserve arcs
 
static const long ConvertToPolygonPolylinesWithoutArcs = wxGenNewId()
 convert to simple polygons and polylines
 
static const long ConvertPolygonToArcs = wxGenNewId()
 convert segments in polygon/polyline with width objects in group A to Arcs where possible
 
static const long ConvertPolylineToArcs = wxGenNewId()
 convert segments in polyline objects in group A to Arcs where possible
 
static const long ConvertToVPaths = wxGenNewId()
 convert shapes to vector paths
 
static const long ConvertLinesArcs = wxGenNewId()
 convert shapes to seperate lines and arcs
 
static const long ConvertToPolylines = wxGenNewId()
 convert shapes to polylines even if polygons
 
static const long RemoveRedundant = wxGenNewId()
 remove redundant segment
 
static const long areaLayers = wxGenNewId()
 calculate area of objects
 
- Static Public Attributes inherited from a2dObject
static a2dPropertyIdBoolPROPID_Check = NULL
 used for linking multiple referenced objects when serializing
 
static a2dPropertyIdUriPROPID_URI = NULL
 attach an URL to the object
 
static a2dPropertyIdStringPROPID_Name = NULL
 Name property, to return name of this object.
 
static a2dPropertyIdVoidPtrPROPID_autozeroptrlist = NULL
 
static const a2dSignal sm_Edit_properties = wxNewId()
 edit properties event, see EditProperties()
 

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 Member Functions inherited from a2dWalker_LayerCanvasObjects
void AddArea (a2dCanvasObject *getAsPolyObject)
 
- Protected Member Functions inherited from a2dWalker_FilterCanvasObjects
a2dCanvasObjectListConvertToPolygons (a2dCanvasObject *canvasobject, bool transform)
 
a2dCanvasObjectListConvertToVpath (a2dCanvasObject *canvasobject, bool transform)
 
bool ObjectOke (a2dCanvasObject *obj)
 return true if object fits the filter
 
bool ClassOfObjectOke (a2dCanvasObject *obj)
 return true of object fits the classname filter
 
- Protected Member Functions inherited from a2dObject
virtual bool DoIgnoreIfNotMember (const a2dPropertyId *id) const
 used to decide if a property shall be ignored, if it is not a member More...
 
virtual void DoWalker (wxObject *parent, a2dWalkerIOHandler &handler)
 iterate over this object and its children More...
 

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
 
- Protected Attributes inherited from a2dWalker_LayerCanvasObjects
double m_radiusMin
 Polygon/polyline to Arc Minimum radius to test.
 
double m_radiusMax
 Polygon/polyline to Arc Maximum radius to test.
 
double m_AberPolyToArc
 Polygon/polyline to Arc Maximum abberation.
 
bool m_detectCircle
 
double m_calculatedArea
 
Operation m_operation
 id for operation
 
- Protected Attributes inherited from a2dWalker_LayerGroup
a2dLayerGroup m_groupA
 group A layers operand
 
a2dLayerGroup m_groupB
 group B layers operand
 
wxUint16 m_target
 result into this layer
 
bool m_selectedOnlyA
 work only on selected object in group A
 
bool m_selectedOnlyB
 work only on selected object in group B
 
- Protected Attributes inherited from a2dWalkerIOHandler
bool m_result
 result of walk, set false at start, use at will.
 
wxObject * m_currentParent
 parent object of current object
 
wxString m_error
 to store errors
 
bool m_stopWalking
 quit the iteration
 
int m_currentDepth
 contour to be used by algorithm, to decide on how deep recursing is to be.
 
bool m_depthFirst
 
bool m_useCheck
 if set a2dObject are only walked if not m_check is set
 
bool m_skipNotRenderedInDrawing
 
a2dIOHandlerCoupleHash m_register
 coupling function to event and classname
 
- Protected Attributes inherited from a2dRefMap
a2dHashMapIntToObject m_objecthashmap
 This is used to find multiple referenced objects by id.
 
a2dHashMapCreateObject m_objectCreate
 This is used to find a classname using a symbolic name.
 
a2dResolveIdList m_toResolve
 refernces to object which have not bin resolved yet ( e.g not read yet, but already referenced )
 
wxString m_lastObjectId
 
a2dError m_lastError
 set to last error found when parsing
 
- Protected Attributes inherited from a2dObject
a2dNamedPropertyList m_propertylist
 properties
 
int m_refcount
 how many references to this object do exist
 
bool m_check: 1
 used for linking multiple referenced objects when serializing
 
bool m_release: 1
 when set object is treated as being deleted, and wil be deleted in idle time.
 
bool m_recursion_active: 1
 this is used as a recursion stopper
 
bool m_pendingDisconnects: 1
 
unsigned int m_iteratorCount
 
a2dAutoZeroPtr< a2dObject > * m_autozeroptrlist
 this is a list of all a2dAutoZeroPtr object pointing to this object
 

Additional Inherited Members

- Public Types inherited from a2dWalker_LayerCanvasObjects
typedef long Operation
 
- Public Types inherited from a2dObject
enum  CloneOptions {
  clone_members = 0x00000001, clone_properties = 0x00000002, clone_childs = 0x00000004, clone_unused = 0x00000008,
  clone_setoriginal = 0x00000010, clone_seteditcopy = 0x00000020, clone_noReference = 0x00000040, clone_noCameleonRef = 0x00000080,
  clone_toDrag = 0x00000100, clone_flat = 0x00000000, clone_deep = clone_members | clone_properties | clone_childs
}
 options for cloning More...
 
typedef a2dAutoZeroPtr< a2dObjectTAutoZeroPtrListClass
 this is needed inside the smart pointer template code
 
- Public Attributes inherited from a2dWalker_FilterCanvasObjects
a2dPropertyIdList m_propertyList
 if not empty, object must have the properties in this list
 
a2dCanvasObjectFlagsMask m_mask
 object must fit this mask.
 
set< wxString > m_classnameMap
 list of classnames to be filtered
 
wxString m_objectname
 name for object is not empty
 
wxInt64 m_id
 wanted id
 
int m_depth
 wanted depth
 
a2dBoundingBox m_bbox
 object must be in this box if it the box is valid
 
wxUint16 m_intersectionCondition
 test m_bbox against teh object in question for this condition
 
bool m_layervisible
 if set, the layer must be visible
 
bool m_layerselectable
 if set, the layer must be selectable
 
bool m_skipStartObject
 the start object itself is not checked
 
bool m_allowClassList
 to negate list of classnames to be filtered
 
- Protected Types inherited from a2dObject
enum  { refcount_nondynamic = 0x76543210 }
 special refcount value for non-dynamic objects
 

Detailed Description

walk a document tree and perform boolean opration on primitives.

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.

Member Function Documentation

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 85 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 106 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 99 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 113 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.

Definition at line 117 of file booloper.cpp.

Member Data Documentation

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_AND = wxGenNewId()
static

boolean AND operation

Definition at line 46 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_EXOR = wxGenNewId()
static

boolean EX_OR operation

Definition at line 47 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_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_Polygon2Surface = wxGenNewId()
static

convert selected polygon shapes to surfaces

Definition at line 53 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_Surface2Polygon = wxGenNewId()
static

convert selected surfaces shapes to polygons

Definition at line 54 of file booloper.h.

a2dFill a2dBooleanWalkerHandler::m_resultFill
protected
See Also
resultFill

Definition at line 148 of file booloper.h.

a2dStroke a2dBooleanWalkerHandler::m_resultStroke
protected
See Also
resultStroke

Definition at line 145 of file booloper.h.


The documentation for this class was generated from the following files:
a2dBooleanWalkerHandler Class Reference -- Sun Oct 12 2014 17:04:28 -- Sun Oct 12 2014 -- 1.8.5 -- wxArt2D -- . -- Main Page Reference Documentation