49 bool WalkTask( wxObject* parent, wxObject*
object,
a2dWalkEvent event );
71 bool Start(
a2dObject*
object, a2dCanvasObjectFunc func );
74 bool WalkTask( wxObject* parent, wxObject*
object,
a2dWalkEvent event );
77 a2dCanvasObjectFunc m_func;
100 bool Start(
a2dObject*
object, a2dCanvasObjectFuncW func );
103 bool WalkTask( wxObject* parent, wxObject*
object,
a2dWalkEvent event );
106 a2dCanvasObjectFuncW m_func;
132 bool WalkTask( wxObject* parent, wxObject*
object,
a2dWalkEvent event );
175 virtual bool WalkTask( wxObject* parent, wxObject*
object,
a2dWalkEvent event );
211 virtual bool WalkTask( wxObject* parent, wxObject*
object,
a2dWalkEvent event );
265 void AddClassName( wxString className );
268 void RemoveClassName( wxString className );
279 void SetObjectName(
const wxString& objectname = wxT(
"" ) ) { m_objectname = objectname; }
381 virtual bool WalkTask( wxObject* parent, wxObject*
object,
a2dWalkEvent event );
389 return lhs.Get() < rhs.Get();
393 typedef set< a2dCanvasObjectPtr, a2dCanvasObjectPtr_compare > a2dCanvasObjectsSet;
438 virtual bool WalkTask( wxObject* parent, wxObject*
object,
a2dWalkEvent event );
443 void SortOn( a2dSortOn which ) { m_sortOn = which; }
476 virtual bool WalkTask( wxObject* parent, wxObject*
object,
a2dWalkEvent event );
507 virtual bool WalkTask( wxObject* parent, wxObject*
object,
a2dWalkEvent event );
527 m_skipNotRenderedInDrawing =
true;
547 virtual bool WalkTask( wxObject* parent, wxObject*
object,
a2dWalkEvent event );
562 template <
class basetype,
class a2dproperty
idtyped,
class proptype = a2dObject >
577 void AddPropertyId(
const a2dpropertyidtyped*
id );
583 virtual bool WalkTask( wxObject* parent, wxObject*
object,
a2dWalkEvent event );
606 template<
class basetype,
class a2dproperty
idtyped,
class proptype >
609 m_valueToSet = valueToSet;
613 template<
class basetype,
class a2dproperty
idtyped,
class proptype >
616 m_valueToSet = valueToSet;
621 template<
class basetype,
class a2dproperty
idtyped,
class proptype >
626 template<
class basetype,
class a2dproperty
idtyped,
class proptype >
633 template<
class basetype,
class a2dproperty
idtyped,
class proptype >
638 object->Walker( NULL, *
this );
642 template<
class basetype,
class a2dproperty
idtyped,
class proptype >
647 SetStopWalking(
true );
653 a2dpropertyidtyped*
id = ( a2dpropertyidtyped* ) (*iter).Get();
654 id->SetPropertyToObject( propobj, m_valueToSet );
659 SetStopWalking(
false );
707 virtual bool WalkTask( wxObject* parent, wxObject*
object,
a2dWalkEvent event );
742 virtual bool WalkTask( wxObject* parent, wxObject*
object,
a2dWalkEvent event );
776 virtual bool WalkTask( wxObject* parent, wxObject*
object,
a2dWalkEvent event );
781 bool m_firstLevelChild;
815 virtual bool WalkTask( wxObject* parent, wxObject*
object,
a2dWalkEvent event );
823 bool m_firstLevelChild;
867 void SetTarget( wxUint16 targetlayer );
915 typedef long Operation;
960 virtual bool WalkTask( wxObject* parent, wxObject*
object,
a2dWalkEvent event );
995 double m_calculatedArea;
1025 void SetSmall(
double smallest ) { m_small = smallest; }
1036 virtual bool WalkTask( wxObject* parent, wxObject*
object,
a2dWalkEvent event );
1038 #if wxUSE_STD_IOSTREAM
1039 const wxString& GetString()
const
1041 static wxString aap = wxString( m_strstream.str().c_str(), wxConvUTF8 );
1045 const wxString GetString()
const {
return m_strstream.GetString(); }
1080 void SetSmall(
double smallest ) { m_small = smallest; }
1091 virtual bool WalkTask( wxObject* parent, wxObject*
object,
a2dWalkEvent event );
1093 #if wxUSE_STD_IOSTREAM
1094 const wxString& GetString()
const
1096 static wxString aap = wxString( m_strstream.str().c_str(), wxConvUTF8 );
1100 const wxString GetString()
const {
return m_strstream.GetString(); }
1139 virtual bool WalkTask( wxObject* parent, wxObject*
object,
a2dWalkEvent event );
1183 virtual bool WalkTask( wxObject* parent, wxObject*
object,
a2dWalkEvent event );
1185 #if wxUSE_STD_IOSTREAM
1186 const wxString& GetString()
const
1188 static wxString aap = wxString( m_strstream.str().c_str(), wxConvUTF8 );
1192 const wxString GetString()
const {
return m_strstream.GetString(); }
1225 virtual bool WalkTask(
a2dIterC& ic, wxObject* parent, wxObject*
object,
a2dWalkEvent event ) = 0;
1269 a2dConnectTask connectTask,
double xpin,
double ypin,
double margin );
1275 void StopAtFirst(
bool stopAtFirst ) { m_stopAtFirst = stopAtFirst; }
1309 void StopAtFirst(
bool stopAtFirst ) { m_stopAtFirst = stopAtFirst; }
1314 a2dPin* m_pinToConnectTo;
Display Part of a a2dDrawing, in which a2dCanvasObjects are shown.
set check on a2dObject flag false or true
bool m_all
to remove all or only one property on each object found.
void SetAsString(bool asString)
set asString
a2dWalker_SetCheck(bool value)
set check on a2dObject flag false or true
a2dNamedProperty * m_property
id of property to set
(In) Visible property that can be added to Docview Objects.
#define wxDynamicCast(obj, className)
Define wxDynamicCast so that it will give a compiler error for unrelated types.
Generate pins on objects, which can connect to the given pinclass.
perform a function on each a2dCanvasObject in the document
a2dConnectTask
flags for searching a connecting a2dpinClass, for the connecting task at hand.
virtual bool WalkTask(wxObject *parent, wxObject *object, a2dWalkEvent event)
called from within a2dCanvasDocument
bool m_viewdependent
on/off for view dependent updating
bool m_all
to remove all or only one property on each object found.
void SetUniqueSerializationId(wxInt64 id)
if not 0, objects must have this UniqueSerializationId
base algorithm class to work on a2dCanvasObjects in groups of layers
void SetGroupB(const a2dLayerGroup &groupB)
objects on layers in group B will be used as first operand
bool m_viewspecific
set only visible for this view
a2dCanvasObjectList m_found
pins found
double m_AberPolyToArc
Polygon/polyline to Arc Maximum abberation.
Find pins in view, which can connect to the given pinclass.
bool m_all
to remove all or only one property on each object found.
wxString m_objectname
name for object is not empty
a2dPin is used in a2dCanvasObject to add pins to it.
This is a class/type description for a2dPin's.
remove hierarchy in grouped objects
static const long moveLayers
move layers to target
a2dIOHandlerCVGIn and a2dIOHandlerCVGOut - XML I/O classes for the CVG format.
void SetOperation(Operation operation)
set type of operation
bool GetSelectedOnlyA()
get selectedOnlyA in group operations
bool OnNrChilds(const a2dCanvasObjectPtr &x, const a2dCanvasObjectPtr &y)
used to canvas object on number of childs order and if same on name
a2dPropertyIdList m_propertyList
properties to search for
static const long ConvertToArcs
convert segments in polygon/polyline objects in group A to Arcs where possible
void AddPropertyId(const a2dpropertyidtyped *id)
add a a2dPropertyId to the list
OVERLAP
Result of a a2dBoundingBox intersection or hittest.
static const long deleteLayers
delete layers
wxUint16 m_intersectionCondition
test m_bbox against teh object in question for this condition
set the a2dCanvasObject's view dependent
void SetSmall(double smallest)
set what is seen as small.
static const long ConvertLinesArcs
convert shapes to seperate lines and arcs
void SetRadiusMax(double radiusMax)
Polygon/polyline to Arc Maximum radius to test.
static const long ConvertToPolygonPolylinesWithArcs
convert to simple polygons and polylines preserve arcs
detection of small objects.
bool GetAsString()
get asString
static const long ConvertToVPaths
convert shapes to vector paths
a2dLayerGroup m_groupB
group B layers operand
a2dCanvasObject is the base class for Canvas Objects.
a2dCanvasObjectList m_found
objects found
wxStringOutputStream a2dDocumentStringOutputStream
string output stream based wxStreams
perform a function on each a2dCanvasObject in the document
bool GetDetectCircle()
see SetDetectCircle
a2dCanvasObjectList m_found
pins found
basetype m_valueToSet
value to set
a2dCanvasObjectPtr m_search
object found
static const long ConvertPolylineToArcs
convert segments in polyline objects in group A to Arcs where possible
output handler for the CVG format.
void SetSelectedOnlyA(bool selectedOnlyA)
set selectedOnlyA in group operations
bool GetAsString()
get asString
set a2dCanvasObjects check flag when in view
bool GetAsString()
get asString
wxUint64 a2dCanvasObjectFlagsMask
mask flags for a2dCanvasObject
set a2dObjects property in a hierarchy of a a2dDocument
Io handler to iterate through a a2dDocument.
name of canvasobject reverse
void SetAberPolyToArc(double aber)
Polygon/polyline to Arc Maximum abberation.
void SetWithChilds(bool check)
if set, objects must have childs
collect a2dCanvasObject's in a hierarchy of a a2dCanvasDocument
void SetRadiusMin(double radiusMin)
Polygon/polyline to Arc Minimum radius to test.
set a2dCanvasObjects property in a hierarchy of a a2dCanvasDocument
bool m_allowClassList
to negate list of classnames to be filtered
bool NameSorterReverse(const a2dCanvasObjectPtr &x, const a2dCanvasObjectPtr &y)
used to canvas object on name in reverse order
#define forEachIn(listtype, list)
easy iteration for a2dlist
static const long ConvertToPolygonPolylinesWithoutArcs
convert to simple polygons and polylines
Debug handler for output the hierarchy found in a a2dDocument.
int m_depth
how deep to recurse into document
static const long ConvertToPolylines
convert shapes to polylines even if polygons
Operation m_operation
id for operation
void SetSkipStart(bool skip)
if set, the start object will be skipped
bool m_skipStartObject
the start object itself is not checked
void SetAsString(bool asString)
set asString
void SetBoundingBoxCondition(wxUint16 intersectionCondition)
if boundingbox is set, the object is testen against this condition, default _IN
static const long copyLayers
copy layers to target
find the a2dcanvasObject, and set the corridor flag on the path to it.
a2dWalker_SetPending(a2dCanvasObjectFlagsMask mask=a2dCanvasOFlags::ALL)
constructor with no a2dPropertyId added yet. For that use AddPropertyId()
collect a2dCanvasObject's in a hierarchy of a a2dCanvasDocument
static const long areaLayers
calculate area of objects
Remove from property in a hierarchy of a canvas document.
a2dCanvasObject flags as a structure
A2DGENERALDLLEXP a2dWalkEvent a2dWalker_a2dPropertyStart
id for a2dWalkEvent issued from within a2dWalkerIOHandler
set a2dCanvasObjects flags in a hierarchy of a a2dCanvasDocument
~a2dWalker_SetProperty()
destructor
make the child which fit the mask/filter into a tree structure to a certain level ...
a2dWalker_SetProperty(basetype valueToSet, bool all=true)
constructor with no a2dPropertyIdTyped<basetype, proptype> added yet. For that use AddPropertyId() ...
a2dLayers * m_layerSetup
availability set for this layer setup
bool m_layervisible
if set, the layer must be visible
a2dPropertyIdList m_propertyList
properties to search for
bool NameSorter(const a2dCanvasObjectPtr &x, const a2dCanvasObjectPtr &y)
used to canvas object on name
while iterating a a2dCanvasDocument, this holds the context.
a2dCanvasObjectFlagsMask m_mask
mask required in object
bool m_onlyinternalarea
transform without scale for children
set layers available in a2dCanvasView as found in document
double m_radiusMax
Polygon/polyline to Arc Maximum radius to test.
double GetCalculatedArea()
in areaLayers returns calculated area sofar.
set< wxString > m_classnameMap
list of classnames to be filtered
void SetBoundingBox(const a2dBoundingBox &bbox)
if valid, objects must fit in this boundingbox
A2DGENERALDLLEXP a2dWalkEvent a2dWalker_a2dPropertyEnd
id for a2dWalkEvent issued from within a2dWalkerIOHandler
a2dCanvasObjectsSet m_found
objects found
void SetObjectName(const wxString &objectname=wxT(""))
if not empty, objects must have this name
set pending flag in a drawing
Generate pins on objects, and test which can connect to the given object.
bool m_setOrClear
clear or set the flags
This is the base class for all kinds of property id's for a2dObject.
void SetCheckLayerSelectable(bool check)
if set, layer which the object is on must be selectable
Set pins in begin state after wiring up some pins.
bool m_makePending
set object pending when property is removed.
a2dLayerGroup m_groupA
group A layers operand
bool m_layerselectable
if set, the layer must be selectable
Remove from a2dObject in a hierarchy, certain properties.
a2dCanvasObjectFlagsMask m_which
mask for which flags to set
void SetCheckLayerVisible(bool check)
if set, layer which the object is on must be visible
a2dBoundingBox m_bbox
object must be in this box if it the box is valid
void SetAllowClassList(bool allow)
holds a list of layers numbers
void SetStore(bool store)
set if result must be stored
bool OnNrChildsReverse(const a2dCanvasObjectPtr &x, const a2dCanvasObjectPtr &y)
used to canvas object on number of childs reverse order and if same on name
void SetGroupA(const a2dLayerGroup &groupA)
objects on layers in group A will be used as first operand
bool GetSelectedOnlyB()
get selectedOnlyB in group operations
The a2dBoundingBox class stores one a2dBoundingBox of a a2dCanvasObject.
void SetSelectedOnlyB(bool selectedOnlyB)
set selectedOnlyB in group operations
void SetSmall(double smallest)
set what is seen as small.
void SetDetectCircle(bool detectCircle)
a2dDrawingPart * m_drawingPart
visible on this drawingPart
double m_radiusMin
Polygon/polyline to Arc Minimum radius to test.
void SetMakePending(bool makePending)
if set when a property is removed make the canvas object pending.
a2dCanvasObjectFlagsMask m_mask
object must fit this mask.
algorithm to delete a2dCanvasObjects on layers or to move, copy to other layers
set the a2dCanvasObject's a2dDrawing root recursive
a2dDrawingPart * m_drawingPart
which view to set view dependent
static const long ConvertPolygonToArcs
convert segments in polygon/polyline with width objects in group A to Arcs where possible ...
Walker taking iterative context into account.
static const a2dCanvasObjectFlagsMask ALL
Connect objects, which can connect to the given object.
a2dPropertyIdList m_propertyList
if not empty, object must have the properties in this list
detection of small objects.
document walking to select a2dCanvasObject by filtering against several constraints.
Set pins in end state after wiring up some pins.
void SetRecursionDepth(int depth=INT_MAX)
how far we go into nested a2dObject's
wxUint16 m_target
result into this layer
void SetAsString(bool asString)
set asString
a2dPropertyIdList m_propertyList
properties to search for
bool Start(a2dObject *object)
start removing properties from the object given, and down.
Contain one drawing as hierarchical tree of a2dCanvasObject's.
bool m_selectedOnlyB
work only on selected object in group B
bool m_selectedOnlyA
work only on selected object in group A
static const long RemoveRedundant
remove redundant segment
find a2dCanvasObjects in a hierarchy of a a2dCanvasDocument
a2dDrawing * m_root
document to set
general canvas module declarations and classes