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

a2dWirePolylineL is a polyline that adjusts itself when the objects it connects move More...

#include <wire.h>

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

Public Member Functions

 a2dWirePolylineL (a2dVertexList *points, bool spline=false)
 
 a2dWirePolylineL (const a2dWirePolylineL &poly, CloneOptions options, a2dRefMap *refs)
 
void SetConnectionInfo (bool inverted, a2dPinClass *objBegin, a2dPinClass *objEnd)
 
a2dPinClassGetStartPinClass () const
 
void SetStartPinClass (a2dPinClass *startPinClass)
 
a2dPinClassGetEndPinClass () const
 
void SetEndPinClass (a2dPinClass *endPinClass)
 
void SetRouteOneLine (bool oneLine)
 set true result in having straight lines rerouted between begin and end pin
 
bool GetRouteOneLine ()
 see SetRouteOneLine()
 
void SetReroute (bool onOff)
 indicated if the wire still needs to be rerouted, used in routing algorithms of wire between objects.
 
bool GetReroute () const
 see SetReroute()
 
void SetRerouteAdded (bool onOff)
 indicated if the wire is added recently to be rerouted, used in routing algorithms of wire between objects.
 
bool GetRerouteAdded () const
 see SetRerouteAdded()
 
void SetPriority (wxUint8 priority)
 used to set order of rerouting in a set of lines.
 
wxUint8 GetPriority () const
 See SetPriority()
 
virtual bool IsConnect () const
 return true, if this object is used to connect other object's using rubberband like structures.
 
virtual bool NeedsUpdateWhenConnected () const
 used in case of flexible canvas objects (wires). More...
 
void AdjustBeginEndPinAngle ()
 adjust pin angles to the last segment at end and begin of wire.
 
virtual bool AdjustAfterChange (bool final)
 
a2dPinSplitAtPin (a2dCanvasObject *parent, a2dPin *splitPin, a2dPin *splitPinClone=NULL, a2dWirePolylineL *clone=NULL, double hitMargin=a2dACCUR)
 Split wire at pin given, and add the new split off wire part to parent, creates a new pin at split. More...
 
bool JoinAtPin (a2dCanvasObject *parent, a2dPin *joinPin, a2dPin *joinPinOther)
 Join two pins making one pin, and merge the this wire with the parent wire of the other pin. More...
 
bool MergAtPin (a2dCanvasObject *parent, a2dPin *joinPin, a2dPin *joinPinOther, bool &inFront, bool &secondRedirect)
 join two wires at joinPin and joinPinOther will be removed. More...
 
void Reverse ()
 make the direction of vertexes the oposite
 
virtual void DoLoad (wxObject *parent, a2dIOHandlerXmlSerIn &parser, a2dXmlSer_flag xmlparts)
 load object specific CVG data More...
 
virtual void DoSave (wxObject *parent, a2dIOHandlerXmlSerOut &out, a2dXmlSer_flag xmlparts, a2dObjectList *towrite)
 write object specific CVGL data
 
void SetEndPoint (int iEnd, int iNext, double x, double y, bool final)
 Set position of an end point and possibly one adjacent point.
 
bool IsDislocated ()
 Check if the begin or end pin of the wire is dislocated.
 
virtual bool GeneratePinsPossibleConnections (a2dPinClass *pinClass, a2dConnectTask task, double x, double y, double margin=0)
 generates pins on all possible locations where the wire can be connected. More...
 
void OptimizeRerouteWires (a2dCanvasObject *parent, bool removeZero=true, bool allowredirect=true)
 
- Public Member Functions inherited from a2dPolylineL
 a2dPolylineL (a2dVertexListPtr segments, bool spline=false)
 
 a2dPolylineL (const a2dPolylineL &poly, CloneOptions options, a2dRefMap *refs)
 
virtual a2dVertexListGetAsVertexList (bool &returnIsPolygon) const
 convert to a polygon. More...
 
a2dCanvasObjectListGetAsCanvasVpaths (bool transform=true) const
 when implemented the object without its children, is converted to More...
 
virtual a2dCanvasObjectListGetAsLinesArcs (bool transform=true)
 
void RemoveRedundantPoints (a2dCanvasObject *sendCommandsTo=NULL)
 remove all points that are redundant More...
 
void Remove180DegPoints (a2dCanvasObject *sendCommandsTo=NULL, bool removeZeroFirst=true)
 remove segments which are opposite direction overlapping. More...
 
virtual void DoWalker (wxObject *parent, a2dWalkerIOHandler &handler)
 iterate over this object and its children More...
 
a2dHit PointOnPolyline (const a2dPoint2D &P, double marge)
 
void SetBegin (a2dCanvasObject *begin)
 set object to draw as begin point
 
a2dCanvasObjectGetBegin ()
 
void SetEnd (a2dCanvasObject *end)
 set object to draw as end point
 
a2dCanvasObjectGetEnd ()
 
void SetEndScaleX (double xs)
 scale begin and end object with this factor in X More...
 
double GetEndScaleX ()
 scale begin and end object with this factor in X
 
void SetEndScaleY (double ys)
 scale begin and end object with this factor in Y More...
 
double GetEndScaleY ()
 scale begin and end object with this factor in X
 
void SetPathType (a2dPATH_END_TYPE pathtype)
 Set when m_contourwidth != 0 what is the end of the line should be.
 
a2dPATH_END_TYPE GetPathType ()
 get when m_contourwidth != 0 what is the end of the line looks like.
 
bool FindNearPoint (const a2dAffineMatrix *cworld, double xIn, double yIn, double *xOut, double *yOut)
 Find the point on the polyline closest to the given world point. More...
 
bool FindNearPointOrtho (const a2dAffineMatrix *cworld, double xIn, double yIn, double *xOut, double *yOut)
 Find the point on the polyline that is the closest orthogonal projection to the given world point. More...
 
bool MoveDynamicPinCloseTo (a2dPin *pin, const a2dPoint2D &point, bool final)
 Move the given dynamic pin close to the given absolute point. More...
 
a2dPinFindBeginPin ()
 Get the begin pin from the childs.
 
a2dPinFindEndPin ()
 Get the end pin from the childs.
 
a2dPinFindPin (int *i)
 Get all pins one by one. i is updated by this function.
 
a2dLineSegmentGetFirstPoint () const
 
a2dLineSegmentGetLastPoint () const
 
int FindSegmentIndex (const a2dPoint2D &point, double margin=a2dACCUR)
 
int FindPinSegmentIndex (a2dPin *pinToFind, double margin=a2dACCUR)
 find the index of the segment where the pin is on.
 
a2dLineSegmentFindPinSegment (a2dPin *pinToFind, double margin=a2dACCUR)
 find the segment where the pin is on.
 
- Public Member Functions inherited from a2dPolygonL
 a2dPolygonL (a2dVertexListPtr points, bool spline=false)
 
 a2dPolygonL (const a2dPolygonL &poly, CloneOptions options, a2dRefMap *refs)
 
virtual a2dCanvasObjectListGetSnapVpath (a2dSnapToWhatMask snapToWhat)
 return a vectorpath indicating on which point/segments the object likes to be snapped. More...
 
virtual bool RestrictToObject (a2dIterC &ic, const a2dPoint2D &pointToSnapTo, a2dPoint2D &bestPointSofar, a2dSnapToWhatMask snapToWhat, double thresHoldWorld)
 called from an a2dRestrictionEngine, to restrict vertexes, lines, object to this object. More...
 
a2dLineSegmentAddPoint (double x, double y, a2dLineSegmentPtr seg=NULL, bool afterinversion=true)
 add point/segment after a segment. More...
 
a2dLineSegmentAddPoint (const a2dPoint2D &P, int index, bool afterinversion=true)
 add point/segment after index given
 
a2dLineSegmentAddPoint (double x, double y, int index, bool afterinversion=true)
 add point/segment after index given
 
virtual void InsertSegment (unsigned int index, a2dLineSegmentPtr segin)
 insert segment after index given
 
void RemoveRedundantPoints (a2dCanvasObject *sendCommandsTo=NULL)
 remove all points that are redundant More...
 
virtual void RemoveSegment (double &x, double &y, a2dLineSegmentPtr seg=NULL, bool transformed=true)
 removes point at index More...
 
void RemoveSegment (double &x, double &y, int index=-1, bool transformed=true)
 removes point at index More...
 
void Clear ()
 Remove and delete all points in the polygon.
 
bool EliminateMatrix ()
 reduce matrix to identity without replacing object
 
void SetPosXYSegment (int index, double x, double y, bool afterinversion=true)
 modify point at index to x,y More...
 
virtual void SetPosXYSegment (a2dLineSegmentPtr seg, double x, double y, bool afterinversion=true)
 modify point at index to x,y More...
 
void SetPosXYMidSegment (a2dLineSegmentPtr seg, double x, double y, bool afterinversion=true)
 modify middle point of arcsegment at index to x,y More...
 
void SetPosXYMidSegment (int index, double x, double y, bool afterinversion=true)
 modify middle point of arcsegment at index to x,y More...
 
void GetPosXYSegment (int index, double &x, double &y, bool transform=true) const
 get point x and y at index More...
 
virtual void GetPosXYSegment (a2dLineSegmentPtr seg, double &x, double &y, bool transform=true) const
 get point x and y at index More...
 
void GetPosXYMidSegment (int index, double &x, double &y, bool transform=true) const
 get middle point of arcsegment at index to x,y More...
 
void GetPosXYMidSegment (a2dLineSegmentPtr seg, double &x, double &y, bool transform=true) const
 get middle point of arcsegment at index to x,y More...
 
a2dVertexListPtr GetSegments ()
 Get the list of points ( this is not a copy! )
 
void SetSegments (a2dVertexList *points)
 Set the list of points ( the old list is NOT DELETED !!! ) More...
 
size_t GetNumberOfSegments ()
 get the number of points in the pointlist
 
void SetSpline (bool on)
 set to true, the polygon will be drawn as a spline
 
bool GetSpline ()
 Get the polygon spline setting.
 
void SetContourWidth (double width)
 set the Contour width of the shape More...
 
double GetContourWidth () const
 get the Contour width of the shape
 
void SetFillRule (wxPolygonFillMode val)
 Set Polygon filling mode wxODDEVEN_RULE or wxWINDING_RULE.
 
wxPolygonFillMode GetFillRule ()
 Get Polygon filling mode wxODDEVEN_RULE or wxWINDING_RULE.
 
virtual void SetHandleToIndex (a2dPolyHandleL *handle, unsigned int index)
 a handle in editing is updated to a segment at index given
 
virtual int GetIndexSegment (a2dLineSegmentPtr seg)
 
virtual a2dVertexList::iterator GetSegmentAtIndex (unsigned int index)
 
virtual a2dVertexListGetSegmentListAtIndex (unsigned int index)
 
a2dHit PointInPolygon (const a2dPoint2D &P, double marge)
 
- Public Member Functions inherited from a2dCanvasObject
virtual a2dCanvasObjectListGetAsPolygons (bool transform=true) const
 convert to a list of polygons. More...
 
virtual a2dCanvasObjectListGetAsPolylines (bool transform=true) const
 convert to a list of polylines. More...
 
void SetTemplate (bool b=true)
 
void SetExternal (bool b=true)
 
void SetUsed (bool b=true)
 
bool GetTemplate () const
 
bool GetExternal () const
 
bool GetUsed () const
 
void Rotate (double rotation)
 Rotates this object clockwise. More...
 
void SetRotation (double rotation)
 Sets a rotation of this object. More...
 
void Scale (double scalex, double scaley)
 Scale in x and y ( > zero) More...
 
void Mirror (bool x=true, bool y=false)
 Mirrors this object in x or y orientation. More...
 
void SkewX (double angle)
 Skew in X. More...
 
void SkewY (double angle)
 Skew in Y. More...
 
const a2dAffineMatrixGetTransformMatrix () const
 get the matrix used to position the object
 
a2dAffineMatrix GetTransform () const
 
void SetTransform (a2dAffineMatrix mat=a2dIDENTITY_MATRIX)
 
void SetTransformMatrix (const a2dAffineMatrix &mat=a2dIDENTITY_MATRIX)
 Returns the matrix used to position the object. More...
 
void SetTransformMatrix (double xt, double yt, double scalex=1, double scaley=1, double degrees=0)
 Sets the matrix used to position the object. More...
 
double GetPosX () const
 get x position from affine matrix
 
double GetPosY () const
 get y position from affine matrix
 
a2dPoint2D GetPosXY () const
 get position of object
 
void SetPosXY (double x, double y, bool restrict=false)
 set position to x,y More...
 
void SetPosXyPoint (const a2dPoint2D &pos)
 set position to x,y More...
 
bool SetPosXYRestrict (double &x, double &y)
 set position to x,y but restricted, returns new values More...
 
void Translate (double x, double y)
 relative translate the object to position x,y in world coordinates More...
 
void Transform (const a2dAffineMatrix &tworld)
 transform the object using the given matrix More...
 
virtual a2dVertexArrayGetAlignmentPoints ()
 Return a list of points to align object with others. More...
 
a2dBoundingBox GetAlignmentBbox ()
 calls GetAlignmentPoints()
 
a2dDrawingGetRoot () const
 get a2dCanvasDocument of the object. More...
 
void SetRoot (a2dDrawing *root, bool recurse=true)
 Sets this object to a a2dCanvasDocument. More...
 
void Prepend (a2dCanvasObject *obj)
 prepend a a2dCanvasObject to the childobjects
 
void Append (a2dCanvasObject *obj)
 append a a2dCanvasObject to the childobjects
 
void Insert (size_t before, a2dCanvasObject *obj, bool ignoreReleased=true)
 insert a a2dCanvasObject to the childobjects
 
a2dCanvasObjectListGetChildObjectList ()
 get the list where the child objects are stored in. More...
 
const a2dCanvasObjectListGetChildObjectList () const
 
a2dCanvasObjectListCreateChildObjectList ()
 create and get the list where the child objects are stored in. More...
 
unsigned int GetChildObjectsCount () const
 get number of child objects More...
 
a2dCanvasObjectCreateHierarchy (a2dCanvasObjectFlagsMask mask, bool createref=true)
 object with the same given mask are made into a group. More...
 
virtual void RemoveHierarchy ()
 move childs of childs and members which have hierarchy one level up to this object its child list. More...
 
int ReleaseChild (a2dCanvasObject *obj, bool backwards=false, bool all=false, bool now=false, bool undoCommands=false)
 remove the given object from the childobjects More...
 
bool ReleaseChildObjects (a2dCanvasObjectFlagsMask mask=a2dCanvasOFlags::ALL)
 removes and release only from the childobjects the objects with the given mask More...
 
int IndexOf (a2dCanvasObject *obj) const
 returns index of the given a2dCanvasObject in this childobjects
 
a2dCanvasObjectFind (const wxString &objectname, const wxString &classname=wxT(""), a2dCanvasObjectFlagsMask mask=a2dCanvasOFlags::ALL, const a2dPropertyId *propid=NULL, const wxString &valueAsString=wxT(""), wxUint32 id=0) const
 return the object which fits the filter. More...
 
a2dCanvasObjectFind (a2dCanvasObject *obj) const
 return the child object if it is part of this object More...
 
bool SwitchChildNamed (const wxString &objectname, a2dCanvasObject *newobject)
 the object with the given name is released and switched in place to newobject More...
 
int CollectObjects (a2dCanvasObjectList *total, const wxString &classname=wxT(""), a2dCanvasObjectFlagsMask mask=a2dCanvasOFlags::ALL, const a2dPropertyId *id=0, const a2dBoundingBox &bbox=wxNonValidBbox) const
 Copy objects with the right conditions to the total list. More...
 
void SetEditable (bool editable)
 Sets if this object may be edited. More...
 
bool GetEditable () const
 get if the object may be edited
 
void SetFixedStyle (bool fixedStyle)
 Set object to fixed style ot not.
 
bool GetFixedStyle () const
 Get object fixed style setting.
 
bool IsEditable () const
 get if the object may be edited More...
 
bool GetSelected () const
 is the object selected flag set More...
 
bool IsSelected () const
 Is the object selected flag set. More...
 
void SetSelected (bool selected)
 Set the object selected flag if allowed. More...
 
bool GetSelected2 () const
 is the object selected2 flag set More...
 
void SetSelected2 (bool selected)
 Set the object selected2 flag if allowed. More...
 
bool GetSelectable () const
 is the object selectable flag set More...
 
bool IsSelectable () const
 Is the object selectable flag set. More...
 
void SetSelectable (bool selectable)
 Allows to select this object. More...
 
void SetDraggable (bool draggable)
 Sets if this object may be dragged. More...
 
bool GetDraggable () const
 get if the object can be dragged
 
bool IsDraggable () const
 get if the object can be dragged More...
 
bool GetSnap () const
 is snap flag set?
 
void SetSnap (bool snap)
 Sets snap flag. More...
 
void SetSnapTo (bool snap)
 Sets snap_to flag. More...
 
bool GetSnapTo () const
 is snap_to flag set?
 
virtual void SetMode (int mode)
 you may use it to modify rendering of the object depending on setting More...
 
virtual int GetMode () const
 get the rendering mode of the object.
 
virtual a2dCanvasObjectStartEdit (a2dBaseTool *tool, wxUint16 editmode, wxEditStyle editstyle=wxEDITSTYLE_COPY, a2dRefMap *refs=NULL)
 create an editcopy and initialize editing of the editcopy More...
 
virtual void EndEdit ()
 cleanup an editcopy object More...
 
void ReStartEdit (wxUint16 editmode)
 to restart editing in a different mode
 
a2dCanvasObjectGetOriginal ()
 if this is an editcopy, return the orginal else NULL
 
a2dHandleSetHandlePos (wxString name, double x, double y)
 set a2dHandle position with the given name
 
void CaptureMouse (a2dIterC &ic)
 redirect all mouse events for the canvas to this object
 
void ReleaseMouse (a2dIterC &ic)
 release the mouse capture for this object
 
bool IsCapturedMouse (a2dIterC &ic) const
 is the mouse captured for this object
 
bool GetHasSelectedObjectsBelow () const
 selected object itself or one of its recursive children
 
void SetHasSelectedObjectsBelow (bool value)
 selected object itself or one of its recursive children
 
bool GetHasToolObjectsBelow () const
 tool object itself or one of its recursive children
 
void SetHasToolObjectsBelow (bool value)
 selected object itself or one of its recursive children
 
virtual bool IsTemporary_DontSave () const
 Check if this is a temporary object, which should not be saved.
 
wxUint16 GetLayer () const
 Returns the layer index where this object is drawn upon. More...
 
virtual void SetLayer (wxUint16 layer)
 set layer index where this object is drawn upon. More...
 
 a2dCanvasObject (double x=0, double y=0)
 constructor called by derived objects
 
 a2dCanvasObject (const a2dCanvasObject &other, CloneOptions options, a2dRefMap *refs)
 constructor using reference to existing canvas object
 
a2dCanvasObjectTClone (CloneOptions options, a2dRefMap *refs=NULL)
 
virtual ~a2dCanvasObject ()
 destructor called by derived objects
 
a2dHabitatGetHabitat () const
 
virtual void Initialize ()
 
virtual bool IsRecursive ()
 returns if this object does have nested objects More...
 
virtual void MakeReferencesUnique ()
 All direct a2dCanvasObject which are part of this one are made unique. More...
 
double GetBboxMinX ()
 get minimum X of the boundingbox in world coordinates relative to its parents More...
 
double GetBboxMinY ()
 get minimum Y of the boundingbox in world coordinates relative to its parents More...
 
double GetBboxMaxX ()
 get maximum X of the boundingbox in world coordinates relative to its parents More...
 
double GetBboxMaxY ()
 get maximum Y of the boundingbox in world coordinates relative to its parents More...
 
double GetBboxWidth ()
 get width of the boundingbox in world coordinates relative to its parents More...
 
double GetBboxHeight ()
 get height of the boundingbox in world coordinates relative to its parents More...
 
a2dBoundingBoxGetBbox ()
 get boundingbox in world coordinates exclusive stroke width relative to its parent More...
 
virtual a2dBoundingBox GetUnTransformedBbox (a2dBboxFlags flags=a2dCANOBJ_BBOX_CHILDREN) const
 Get boundingbox without the affine matrix transform included. More...
 
a2dBoundingBox GetCalculatedBoundingBox (int nChildLevels)
 Like GetBbox, but it always calculcates the bounding box from scratch. More...
 
a2dBoundingBox GetMappedBbox (a2dIterC &ic, bool withExtend=true)
 first translate boundingbox with cworld and recalculate at new position More...
 
a2dBoundingBox GetMappedBbox (const a2dAffineMatrix &cworld)
 first translate boundingbox with cworld and recalculate at new position More...
 
wxRect GetAbsoluteArea (a2dIterC &ic, int inflate=2)
 Get absolute occupied area in the device coordinates. More...
 
float GetWorldExtend () const
 get world extend More...
 
int GetPixelExtend () const
 get pixel extend More...
 
OVERLAP GetClipStatus (a2dIterC &ic, OVERLAP clipparent)
 used for deciding if the object needs to be rendered against the current clipping area of the active drawer. More...
 
a2dBoundingBox GetClipBox (a2dIterC &ic)
 returns boundingbox clipping object if clipping property is set More...
 
a2dCanvasObjectChildIsHitWorld (a2dIterC &ic, a2dHitEvent &hitEvent, bool filterSelectableLayers=false)
 Do hittest on children. More...
 
a2dCanvasObjectIsHitWorld (a2dIterC &ic, a2dHitEvent &hitEvent)
 If the position (x,y) is within the object return this. More...
 
void SetHitFlags (a2dCanvasObjectHitFlags mask)
 set hit flags More...
 
a2dCanvasObjectFlagsMask GetHitFlags () const
 return hitflags as mask
 
virtual bool ProcessCanvasObjectEvent (a2dIterC &ic, a2dHitEvent &hitEvent)
 Hit objects will receive the event. More...
 
void OnCanvasObjectMouseEvent (a2dCanvasObjectMouseEvent &event)
 default handler for mouse events, sent to the object from the a2dDrawingPart. More...
 
void OnChar (wxKeyEvent &event)
 default handler for character events
 
void OnPopUpEvent (a2dCanvasObjectMouseEvent &event)
 called on Right Down by default.
 
void OnEnterObject (a2dCanvasObjectMouseEvent &event)
 called when the mouse enters the object
 
void OnLeaveObject (a2dCanvasObjectMouseEvent &event)
 called when the mouse leaves the object
 
void LeaveInObjects (a2dIterC &ic, a2dHitEvent &hitEvent)
 
void OnHandleEvent (a2dHandleMouseEvent &event)
 called if a mouse event occured on a child object, that is a handle
 
bool RemoveReleased ()
 child objects which have relesed flag set, are removed as child, called recursive on rleased child objects.
 
virtual bool Update (UpdateMode mode)
 Update the state of the object according to its current position etc. More...
 
bool GetPending () const
 is this object pending for update? More...
 
virtual void SetPending (bool pending)
 set this object pending for update More...
 
void AddPending (a2dIterC &ic)
 search objects ( if nested recursive ) that have the pending flag Set More...
 
virtual void DependencyPending (a2dWalkerIOHandler *handler)
 called by to check if this object becomes pending as a result of other objects More...
 
virtual void DependentCommands (a2dCanvasObject *parent, a2dCommand *command)
 call this when a a2dCommands should result in extra commands, to become part of a parent a2dCommandGroup. More...
 
virtual void Render (a2dIterC &ic, OVERLAP clipparent)
 Render this object to the active a2dDrawingPart. More...
 
void UpdateViewDependentObjects (a2dIterC &ic)
 update the transform matrix for objects with property 'PROPID_viewDependent' More...
 
virtual void DrawHighLighted (a2dIterC &ic)
 called by Render() if m_flags.m_HighLight is set More...
 
void SetVisible (bool visible)
 set if this object will visible (be rendered or not) More...
 
bool GetVisible () const
 get visibility (rendering depends on layer settings also)
 
bool IsVisible () const
 get visibility (rendering depends on layer settings also) More...
 
void SetFill (const a2dFill &fill)
 Set a fill for the object which will be used instead of the layer fill. More...
 
a2dFill GetFill () const
 
void SetFill (const wxColour &fillcolor, a2dFillStyle style=a2dFILL_SOLID)
 Set a fill color for the object which will be used instead of the layer fill. More...
 
void SetFill (const wxColour &fillcolor, const wxColour &fillcolor2, a2dFillStyle style=a2dFILL_SOLID)
 Set a fill color for the object which will be used instead of the layer fill. More...
 
void SetFillColour (const wxColour &colour)
 set first colour of fill
 
wxColour GetFillColour () const
 get first colour of fill
 
void SetStroke (const wxColour &strokecolor, double width=0, a2dStrokeStyle style=a2dSTROKE_SOLID)
 Set a stroke for the object which will be used instead of the layer stroke. More...
 
void SetStroke (const wxColour &strokecolor, int width, a2dStrokeStyle style=a2dSTROKE_SOLID)
 Set a stroke for the object which will be used instead of the layer stroke. More...
 
void SetStroke (const a2dStroke &stroke)
 Set stroke using pointer to a stroke. More...
 
a2dStroke GetStroke () const
 
void SetStrokeColour (const wxColour &colour)
 set first colour of stroke
 
wxColour GetStrokeColour () const
 get first colour of stroke
 
void SetDrawerStyle (a2dIterC &ic, a2dStyleProperty *style)
 sets fill and stroke of object to a2dDrawingPart More...
 
void SetChildrenOnSameLayer (bool samelayer)
 if set children are rendered on the same layer as this object. More...
 
bool GetChildrenOnSameLayer () const
 are children rendered on the same layer as this object?
 
void SetViewDependent (a2dDrawingPart *aView, bool viewdependent, bool viewspecific=false, bool onlyinternalarea=false, bool deep=false)
 set the object view dependent and maybe process all children to set these flags More...
 
void SetChildOnlyTranslate (bool onlytranslate)
 How a child is placed towards its parent object. More...
 
bool GetChildOnlyTranslate () const
 are children rendered using just the translation of the parent or also rotation and scale.
 
void SetPreRenderAsChild (bool prerender)
 If set, this object has a higher priority in rendering than other children objects. More...
 
bool GetPreRenderAsChild () const
 Returns if this object should be rendered before other children objects.
 
bool GetFilled () const
 
void SetFilled (bool filled)
 set the filled flag to render only outlines More...
 
bool GetShowShadow () const
 If True shadow object is visible (if property is there)
 
void SetShowShadow (bool showshadow)
 If True shadow object is visible (if property is there)
 
bool GetResizeOnChildBox () const
 see SetResizeOnChildBox()
 
void SetResizeOnChildBox (bool resizeToChilds)
 If True resize to child boundingbox. More...
 
const a2dShadowStylePropertyGetShadowStyle () const
 quick way to get the style property containing Shadow property More...
 
void CallDoRender (a2dIterC &ic, OVERLAP clipparent)
 
virtual a2dCanvasObjectPushInto (a2dCanvasObject *parent)
 when wanting to traverse hierarchy what level is down here.
 
virtual a2dCanvasObjectGetCommandProcessor ()
 
virtual a2dLayersGetLayerSetup ()
 
virtual bool IsVirtConnect () const
 object is a virtual connection (connects invisible with other objects without using wires )
 
bool DoConnect ()
 if return true, connection with other object on this object its pins is allowed. More...
 
void DoConnect (bool doconnect)
 If set to true this object may be connected to other object on its pins. More...
 
bool CanConnectWith (a2dIterC &ic, a2dCanvasObject *toConnect, bool autocreate)
 check connect to other object More...
 
a2dPinCanConnectWith (a2dIterC &ic, a2dPin *pin, double margin, bool autocreate)
 is the given pin close enough to another a2dPin to allow connection? More...
 
bool IsConnected (bool needsupdate, a2dCanvasObject *toConnect=0)
 Is the object connected ( Optinal to specific object ) ? More...
 
virtual bool FindConnectedPins (a2dCanvasObjectList &result, a2dPin *pin=NULL, bool walkWires=true, a2dPinClass *searchPinClass=NULL, a2dCanvasObject *isConnectedTo=NULL)
 Find pins in other object which are connected to this object. More...
 
bool FindConnectedWires (a2dCanvasObjectList &result, a2dPin *pin, bool walkWires=true, bool selectedEnds=false, bool stopAtSelectedWire=false, bool addToResult=false)
 find wires on pins of this objects. More...
 
bool GetConnected (a2dCanvasObjectList *connected, bool needsupdate)
 get connected objects that are connected to this object via its pins. More...
 
virtual bool ConnectWith (a2dCanvasObject *parent, a2dCanvasObject *toconnect, const wxString &pinname=wxT(""), double margin=1, bool undo=false)
 Do connect with another a2dCanvasObject by pinname. More...
 
virtual bool ConnectWith (a2dCanvasObject *parent, a2dPin *pin, double margin=1, bool undo=false)
 Do connect with another a2dCanvasObject by pin pointer. More...
 
virtual void ConnectPinsCreateConnect (a2dCanvasObject *parent, a2dPin *pinc, a2dPin *pinother, bool undo=false)
 connect two pins More...
 
bool CleanWires (a2dCanvasObjectFlagsMask mask=a2dCanvasOFlags::ALL)
 pins one wires to the same kind of wire are removed.
 
void ConnectPins (a2dCanvasObject *parent, a2dPin *pinc, a2dPin *pinother, bool undo=false)
 connect two pins which must be unconnected and at the same position More...
 
virtual bool DisConnectWith (a2dCanvasObject *toDisConnect=NULL, const wxString &pinname=wxT(""), bool undo=false)
 Do Disconnect from another a2dCanvasObject by pin name. More...
 
virtual bool DisConnectAt (a2dPin *pin, bool undo=false)
 Do Disconnect from another a2dCanvasObject by pin pointer. More...
 
void ReWireConnected (a2dCanvasObject *parent, bool undo=false)
 rewire the object to keep connection or to make connection with other objects More...
 
bool CreateWiresOnPins (a2dCanvasObject *parent, bool undo, bool onlyNonSelected=false)
 create wires on pins which do not have wires, but directly are connected to other objects. More...
 
bool SetConnectedPending (bool onoff, bool needsupdateonly)
 set connected pending or not pending More...
 
bool HasPins (bool realcheck=false)
 are there a2dPin derived children More...
 
a2dPinHasPinNamed (const wxString pinName, bool NotConnected=false)
 are there a2dPin derived children which matches the given pin name? More...
 
int GetPinCount ()
 How many a2dPin derived children are there.
 
virtual bool AdjustPinLocation ()
 Allow change in pin location when wiring things up.
 
virtual a2dCanvasObjectGetConnectTemplate (a2dPinClass *mapThis, a2dCanvasObject *other, a2dPinClass *mapOther) const
 based on the a2dPinClass's of eventually a2dPin's wanted in both objects, a More...
 
virtual a2dCanvasObjectCreateConnectObject (a2dCanvasObject *parent, a2dPin *pinThis, a2dPin *pinOther, bool undo=false) const
 generates a connection object with pins and all. More...
 
a2dPinAddPin (const wxString name, double x, double y, wxUint32 a2dpinFlags, a2dPinClass *pinClass, bool undo=false)
 add a a2dPin as child More...
 
void RemovePins (bool NotConnected=false, bool onlyTemporary=false, bool now=false)
 Remove all a2dPin children. More...
 
void ShowPins (bool onoff)
 Set a2dPin children visible or not.
 
void SetRenderConnectedPins (bool onoff)
 Calls a2dPin::SetRenderConnected() for all pins. More...
 
virtual void ClearAllPinConnections (bool withundo=true)
 Remove all pin connections by issuing a2dCommand_DisConnectPins commands. More...
 
virtual void SetParent (a2dCanvasObject *parent)
 set parent object of the pin or some other objects that needs a parent
 
virtual a2dCanvasObjectGetParent () const
 
void SetIsProperty (bool IsProperty)
 
bool GetIsProperty () const
 
a2dTextSetObjectTip (const wxString &tip, double x, double y, double size=30, double angle=0, const a2dFont &font=*a2dDEFAULT_CANVASFONT)
 quickly set a property name OBJECTTIP More...
 
void SetTipWindow (const wxString &tip)
 quickly set a property a2dTipWindowProperty More...
 
a2dObjectGetObjectTip ()
 quickly get first property with name OBJECTTIP
 
virtual bool EditProperties (const a2dPropertyId *id, bool withUndo)
 edit properties of the object More...
 
void SetSpecificFlags (bool setOrClear, a2dCanvasObjectFlagsMask which)
 set all bit flags in object that or true in mask to true or false More...
 
bool CheckMask (a2dCanvasObjectFlagsMask mask) const
 Compares all flags in object to the given mask and return true is the same.
 
void SetFlags (a2dCanvasObjectFlagsMask newmask)
 set bit flags of object (true or false) to given newmask values More...
 
bool GetFlag (const a2dCanvasObjectFlagsMask which) const
 get specific bitflag value
 
a2dCanvasObjectFlagsMask GetFlags () const
 get bitflags as an integer
 
void SetBin (bool bin)
 general flag use at will. More...
 
bool GetBin () const
 general flag use at will.
 
bool GetGroupA () const
 get the groupA flag More...
 
void SetGroupA (bool value)
 set the groupA flag More...
 
bool GetGroupB () const
 get the groupA flag More...
 
void SetGroupB (bool value)
 set the groupA flag More...
 
bool GetGeneratePins () const
 get the GeneratePins flag More...
 
void SetGeneratePins (bool value)
 set the GeneratePins flag More...
 
void SetIgnoreSetpending (bool value=true)
 set IgnoreSetpending flag More...
 
bool GetIgnoreSetpending () const
 get IgnoreSetpending flag More...
 
void SetIgnoreLayer (bool value=true)
 
bool GetIgnoreLayer () const
 
void SetSubEdit (bool value)
 
bool GetSubEdit () const
 
void SetSubEditAsChild (bool value)
 
bool GetSubEditAsChild () const
 
void SetShowshadow (bool value)
 
bool GetShowshadow () const
 
void SetPushin (bool value)
 
bool GetPushin () const
 
void SetBin2 (bool value)
 
bool GetBin2 () const
 
void SetPrerenderaschild (bool value)
 
bool GetPrerenderaschild () const
 
void SetVisiblechilds (bool value)
 
bool GetVisiblechilds () const
 
void SetEditing (bool value)
 
bool GetEditing () const
 
void SetEditingRender (bool value)
 
bool GetEditingRender () const
 
void SetDoConnect (bool value)
 
bool GetDoConnect () const
 
void SetIsOnCorridorPath (bool value)
 
bool GetIsOnCorridorPath () const
 
void SetHasPins (bool value)
 
bool GetHasPins () const
 
void SetMouseInObject (bool value)
 
bool GetMouseInObject () const
 
void SetHighLight (bool value)
 
bool GetHighLight () const
 
void SetAlgoSkip (bool value)
 
bool GetAlgoSkip () const
 
void foreach_f (void(*fp)(a2dCanvasObject *item))
 call fp for each object
 
void foreach_mf (void(a2dCanvasObject::*mfp)())
 call fp for each object
 
virtual bool UserBaseFunction ()
 can be used by the user to implement a function that affects all a2dCanvas derived objects
 
virtual bool UserBaseFunctionEx (int function, a2dIOHandler *handler=NULL)
 can be used by the user to implement a function that affects all a2dCanvas derived objects More...
 
virtual bool UserBaseFunctionVar (...)
 can be used by the user to implement a function using a variable argument list that affects all a2dCanvas derived objects
 
virtual bool UserBaseFunctionFormat (wxString format,...)
 can be used by the user to implement a function using a variable argument list and format string that affects all a2dCanvas derived objects
 
void WalkerWithContext (a2dIterC &ic, wxObject *parent, a2dWalkerIOHandlerWithContext &handler)
 This is used to recursively walk through an object tree.
 
- 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...
 
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...
 
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...
 

Protected Member Functions

virtual a2dObjectDoClone (CloneOptions options, a2dRefMap *refs) const
 Clone this object and return a pointer to the new object.
 
void OnChar (wxKeyEvent &event)
 
virtual bool DoStartEdit (wxUint16 editmode, wxEditStyle editstyle)
 only used for editable objects and under control of a editing tool. More...
 
virtual bool GeneratePins (a2dPinClass *toConnectTo, a2dConnectTask task, double x, double y, double margin=0)
 
- Protected Member Functions inherited from a2dPolylineL
bool DoCanConnectWith (a2dIterC &ic, a2dPin *pin, double margin, bool autocreate)
 prepare an object for being connected to a given pin More...
 
void DoRender (a2dIterC &ic, OVERLAP clipparent)
 render derived object More...
 
bool DoIsHitWorld (a2dIterC &ic, a2dHitEvent &hitEvent)
 return this object if one of the objects it references is hit
 
a2dBoundingBox DoGetUnTransformedBbox (a2dBboxFlags flags=a2dCANOBJ_BBOX_NON) const
 In derived object this should be overriden to calculate the boundingbox of the object without its children. More...
 
bool DoUpdate (UpdateMode mode, const a2dBoundingBox &childbox, const a2dBoundingBox &clipbox, const a2dBoundingBox &propbox)
 Update derived Object specific things ( mainly boundingbox) More...
 
void OnChar (wxKeyEvent &event)
 
- Protected Member Functions inherited from a2dPolygonL
void SyncHandlesWithLineSegments ()
 
void OnCanvasObjectMouseEvent (a2dCanvasObjectMouseEvent &event)
 
void OnChar (wxKeyEvent &event)
 
void OnEnterObject (a2dCanvasObjectMouseEvent &event)
 
void OnLeaveObject (a2dCanvasObjectMouseEvent &event)
 
void OnHandleEvent (a2dHandleMouseEvent &event)
 
void OnHandleEventEnter (a2dHandleMouseEvent &event)
 
void OnHandleEventLeave (a2dHandleMouseEvent &event)
 
- Protected Member Functions inherited from a2dCanvasObject
bool ProcessCanvasEventChild (a2dIterC &ic, RenderChild &whichchilds, a2dHitEvent &hitEvent)
 
bool ProcessCanvasEventChildOneLayer (a2dIterC &ic, RenderChild &whichchilds, a2dHitEvent &hitEvent)
 
virtual bool DoIgnoreIfNotMember (const a2dPropertyId &id)
 
bool ParseCvgTransForm (a2dAffineMatrix &result, a2dIOHandlerXmlSerIn &parser)
 parse Cvg transform of object
 
virtual void DoAddPending (a2dIterC &ic)
 called by addPending
 
virtual void DoEndEdit ()
 only used for editable objects and under control of a editing tool. More...
 
bool LocalHit (a2dIterC &ic, a2dHitEvent &hitEvent)
 
a2dCanvasObjectIsHitWorldChildObjects (a2dIterC &ic, RenderChild &whichchilds, a2dHitEvent &hitEvent)
 This is an internal function used by IsHitWorld(). Don't use it directly.
 
a2dCanvasObjectHitChildObjectsOneLayer (a2dIterC &ic, RenderChild &whichchilds, a2dHitEvent &hitEvent)
 This is an internal function used by IsHitWorldChildObjects(). Don't use it directly.
 
const a2dFillMX_GetFill () const
 
void MX_SetFill (const a2dFill &value)
 
const a2dStrokeMX_GetStroke () const
 
void MX_SetStroke (const a2dStroke &value)
 
virtual void DoUpdateViewDependentTransform (a2dIterC &ic)
 update transform matrix klion: I'm not sure that this function necessary as virtual
 
virtual void DoUpdateViewDependentObjects (a2dIterC &ic)
 update derived objects
 
virtual void RenderChildObjects (a2dIterC &ic, RenderChild &whichchilds, OVERLAP clipparent)
 render only the child objects More...
 
virtual void RenderChildObjectsOneLayer (a2dIterC &ic, RenderChild &whichchilds, OVERLAP clipparent)
 to render the child objects More...
 
void OnPropertyChanged (a2dComEvent &event)
 
virtual void DoWalkerWithContext (a2dIterC &ic, wxObject *parent, a2dWalkerIOHandlerWithContext &handler)
 
- 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...
 

Protected Attributes

a2dPinClassm_objBegin
 The pin class in the pin of the object at the start of the wire.
 
a2dPinClassm_objEnd
 The pin class in the pin of the object at the end of the wire.
 
a2dPinClassm_wireBegin
 The pin class in the pin of the wire at the start of the wire.
 
a2dPinClassm_wireEnd
 The pin class in the pin of the wire at the end of the wire.
 
bool m_wasVertical: 1
 This is used temporarily during editing and need not be saved.
 
bool m_inverted: 1
 The wire is inverted (drawn from end to begin)
 
bool m_oneLine: 1
 
bool m_reroute: 1
 
bool m_rerouteAdd: 1
 
wxUint8 m_priority: 8
 
- Protected Attributes inherited from a2dPolylineL
a2dCanvasObjectPtr m_begin
 
a2dCanvasObjectPtr m_end
 
double m_xscale
 
double m_yscale
 
a2dPATH_END_TYPE m_pathtype
 when m_contourwidth != 0 what is the end of the line looking like.
 
- Protected Attributes inherited from a2dPolygonL
a2dSmrtPtr< a2dVertexListm_lsegments
 
bool m_spline: 1
 
bool m_crossAtVertex: 1
 
wxPolygonFillMode m_oddeven
 
double m_contourwidth
 if != 0 the polygon is contoured at distance m_contourwidth/2
 
- Protected Attributes inherited from a2dCanvasObject
a2dDrawingm_root
 root group for rendering and accessing the canvas's also contains layer settings
 
a2dCanvasOFlags m_flags
 holds flags for objects
 
a2dCanvasOHitFlags m_hitflags
 allow hits on basis of those flags
 
a2dBoundingBox m_bbox
 boundingbox in world coordinates
 
float m_worldExtend
 world extend in world coordinates. More...
 
wxUint16 m_pixelExtend
 Pixel extend. More...
 
wxUint16 m_layer
 layer of object, default wxLAYER_DEFAULT
 
a2dAffineMatrix m_lworld
 used for positioning the object (x,y,ang,scale etc.)
 
a2dCanvasObjectListm_childobjects
 holds child objects
 
- 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 a2dCanvasObject
enum  a2dBboxFlag { a2dCANOBJ_BBOX_NON = 0x0000, a2dCANOBJ_BBOX_EDIT = 0x0001, a2dCANOBJ_BBOX_CHILDREN = 0x0002 }
 flags for calculating boundingbox of derived object More...
 
typedef unsigned int a2dBboxFlags
 
enum  UpdateMode {
  update_save = 0x0001, update_includebboxprop = 0x0002, updatemask_countObjects = 0x0004, updatemask_save_includebboxprop,
  updatemask_force, updatemask_normal, updatemask_force_and_count
}
 Various mode flags for Update. More...
 
- 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
 
- Static Public Member Functions inherited from a2dPolylineL
static bool SetDefaultGeneratePins (bool value)
 new object willl generate pins or not based on this value
 
static bool GetDefaultGeneratePins ()
 new object willl generate pins or not based on this value
 
- Static Public Member Functions inherited from a2dPolygonL
static void SetAllowCrossAtVertex (bool allowCrossAtVertex)
 
- Static Public Member Functions inherited from a2dCanvasObject
static void SetIgnoreAllSetpending (bool value=true)
 set static IgnoreAllSetpending flag More...
 
static bool GetIgnoreAllSetpending ()
 get static IgnoreSetpending flag More...
 
- Static Public Attributes inherited from a2dCanvasObject
static bool m_ignoreAllSetpending = false
 when set all SetPending() calss are supressed.
 
static a2dPropertyIdMatrixPROPID_TransformMatrix = NULL
 
static a2dPropertyIdPoint2DPROPID_Position = NULL
 
static a2dPropertyIdUint16PROPID_Layer = NULL
 
static a2dPropertyIdBoolPROPID_Selected = NULL
 
static a2dPropertyIdBoolPROPID_Selectable = NULL
 
static a2dPropertyIdBoolPROPID_SubEdit = NULL
 
static a2dPropertyIdBoolPROPID_SubEditAsChild = NULL
 
static a2dPropertyIdBoolPROPID_Visible = NULL
 
static a2dPropertyIdBoolPROPID_Draggable = NULL
 
static a2dPropertyIdBoolPROPID_Showshadow = NULL
 
static a2dPropertyIdBoolPROPID_Filled = NULL
 
static a2dPropertyIdBoolPROPID_GroupA = NULL
 
static a2dPropertyIdBoolPROPID_GroupB = NULL
 
static a2dPropertyIdBoolPROPID_GeneratePins = NULL
 
static a2dPropertyIdBoolPROPID_Bin = NULL
 
static a2dPropertyIdBoolPROPID_Bin2 = NULL
 
static a2dPropertyIdBoolPROPID_Pending = NULL
 
static a2dPropertyIdBoolPROPID_Snap = NULL
 
static a2dPropertyIdBoolPROPID_SnapTo = NULL
 
static a2dPropertyIdBoolPROPID_Pushin = NULL
 
static a2dPropertyIdBoolPROPID_Prerenderaschild = NULL
 
static a2dPropertyIdBoolPROPID_Visiblechilds = NULL
 
static a2dPropertyIdBoolPROPID_Editable = NULL
 
static a2dPropertyIdBoolPROPID_Editing = NULL
 
static a2dPropertyIdBoolPROPID_EditingRender = NULL
 
static a2dPropertyIdBoolPROPID_ChildrenOnSameLayer = NULL
 
static a2dPropertyIdBoolPROPID_DoConnect = NULL
 
static a2dPropertyIdBoolPROPID_IsOnCorridorPath = NULL
 
static a2dPropertyIdBoolPROPID_HasPins = NULL
 
static a2dPropertyIdBoolPROPID_IsProperty = NULL
 
static a2dPropertyIdBoolPROPID_MouseInObject = NULL
 
static a2dPropertyIdBoolPROPID_HighLight = NULL
 
static a2dPropertyIdBoolPROPID_Template = NULL
 
static a2dPropertyIdBoolPROPID_External = NULL
 
static a2dPropertyIdBoolPROPID_Used = NULL
 
static a2dPropertyIdBoolPROPID_Release = NULL
 
static a2dPropertyIdCanvasObjectPROPID_Begin = NULL
 
static a2dPropertyIdCanvasObjectPROPID_End = NULL
 
static a2dPropertyIdDoublePROPID_EndScaleX = NULL
 
static a2dPropertyIdDoublePROPID_EndScaleY = NULL
 
static a2dPropertyIdBoolPROPID_Spline = NULL
 
static a2dPropertyIdDoublePROPID_ContourWidth = NULL
 
static a2dPropertyIdBoolPROPID_DisableFeedback = NULL
 
static a2dPropertyIdBoolPROPID_Allowrotation = NULL
 
static a2dPropertyIdBoolPROPID_Allowsizing = NULL
 
static a2dPropertyIdBoolPROPID_Allowskew = NULL
 
static a2dPropertyIdBoolPROPID_IncludeChildren = NULL
 
static
a2dPropertyIdRefObjectAutoZero
PROPID_Controller = NULL
 
static a2dPropertyIdCanvasObjectPROPID_Original = NULL
 
static a2dPropertyIdCanvasObjectPROPID_Editcopy = NULL
 
static a2dPropertyIdCanvasObjectPROPID_Parent = NULL
 
static a2dPropertyIdCanvasObjectPROPID_Objecttip = NULL
 
static a2dPropertyIdUint16PROPID_Editmode = NULL
 
static a2dPropertyIdUint16PROPID_Editstyle = NULL
 
static a2dPropertyIdUint16PROPID_Index = NULL
 
static
a2dPropertyIdCanvasShadowStyle
PROPID_Shadowstyle = NULL
 
static a2dPropertyIdFillPROPID_Fill = NULL
 
static a2dPropertyIdStrokePROPID_Stroke = NULL
 
static a2dPropertyIdUint32PROPID_RefDesCount = NULL
 
static a2dPropertyIdUint32PROPID_RefDesNr = NULL
 
static a2dPropertyIdBoolPROPID_ToolDecoration = NULL
 set for objects that act as tool decorations, when a tool is in action.
 
static a2dPropertyIdVoidPtrPROPID_ToolObject = NULL
 set for objects that act as tool object, when a tool is in action.
 
static a2dPropertyIdBoolPROPID_TemporaryObject = NULL
 set for objects that do not have to be saved
 
static a2dPropertyIdBoundingBoxPROPID_BoundingBox = NULL
 used to store state ( redraw area) of the object as it was before a change
 
static a2dPropertyIdColourPROPID_StrokeColour = NULL
 
static a2dPropertyIdColourPROPID_FillColour = NULL
 
static a2dPropertyIdRefObjectPROPID_ViewSpecific = NULL
 
static a2dPropertyIdBoolPROPID_FirstEventInObject = NULL
 set in Startedit(), to be used to detect first (mouse)event sent to object.
 
static a2dPropertyIdUint16PROPID_Datatype = NULL
 used in GDSII and KEY format to specify the DATATYPE of elements More...
 
static a2dPropertyIdRefObjectPROPID_ViewDependent = NULL
 used for objects that depend on 'aView' view when it comes to size.
 
static a2dPropertyIdMatrixPROPID_IntViewDependTransform = NULL
 used for objects with* PROPID_viewDependent but only for internal area
 
static a2dPropertyIdDateTimePROPID_DateTime = NULL
 some time property which a user wants to store
 
static a2dPropertyIdDateTimePROPID_ModificationDateTime = NULL
 
static a2dPropertyIdDateTimePROPID_AccessDateTime = NULL
 
static a2dPropertyIdMenuPROPID_PopupMenu = NULL
 when set used for popup menu by default in OnPopUpEvent()
 
static a2dPropertyIdWindowPROPID_TipWindow = NULL
 when set used for tip window by default in OnCanvasMouseEvent()
 
static a2dPropertyIdTagVecPROPID_Tags = NULL
 used in tool when grouping using tags
 
- 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 Types inherited from a2dObject
enum  { refcount_nondynamic = 0x76543210 }
 special refcount value for non-dynamic objects
 
- Static Protected Attributes inherited from a2dPolylineL
static bool m_generatePins = false
 
- Static Protected Attributes inherited from a2dPolygonL
static bool m_allowCrossAtVertex = false
 
- Static Protected Attributes inherited from a2dCanvasObject
static a2dCanvasOFlags m_flagsInit
 holds value for flags to initialize m_flags More...
 

Detailed Description

a2dWirePolylineL is a polyline that adjusts itself when the objects it connects move

This is done by taking the position of the pins of the connected a2dCanvasObject's, and based on that recalculate the position of the polyline points

See Also
a2dWires

Definition at line 42 of file wire.h.

Member Function Documentation

bool a2dWirePolylineL::AdjustAfterChange ( bool  final)
virtual

a tool designed for editing a a2dPolylineL, can in principle be used for a a2dWirePolylineL, if it makes sure that the pins on it, are synchronized with the segments which change because of the editing. Therefore in a2dPolylineL, at the right points AdjustAfterChange is called to achieve this.

Reimplemented from a2dPolygonL.

Definition at line 446 of file wire.cpp.

void a2dWirePolylineL::DoLoad ( wxObject *  parent,
a2dIOHandlerXmlSerIn parser,
a2dXmlSer_flag  xmlparts 
)
virtual

load object specific CVG data

todo ignore until this down here is fully converted.

Reimplemented from a2dPolylineL.

Definition at line 1010 of file wire.cpp.

bool a2dWirePolylineL::DoStartEdit ( wxUint16  editmode,
wxEditStyle  editstyle 
)
protectedvirtual

only used for editable objects and under control of a editing tool.

If object is editable this function is used to initialize the object for editing. In general this means adding editing handles to the child list. In the event handling of the object those handles are hit and moved, the object itself is changed accordingly.

Returns
true is this object can be edited and is initialized for that.
Todo:
edit of bbox ( children or not included )

Reimplemented from a2dPolygonL.

Definition at line 912 of file wire.cpp.

bool a2dWirePolylineL::GeneratePins ( a2dPinClass toConnectTo,
a2dConnectTask  task,
double  x,
double  y,
double  margin = 0 
)
protectedvirtual

pins on the begin and end of the wire are created, and after that point along the line if possible at position x,y

Reimplemented from a2dPolylineL.

Definition at line 1108 of file wire.cpp.

bool a2dWirePolylineL::GeneratePinsPossibleConnections ( a2dPinClass pinClass,
a2dConnectTask  task,
double  x,
double  y,
double  margin = 0 
)
virtual

generates pins on all possible locations where the wire can be connected.

Depending on m_wireBegin and m_wireEnd combined with parameter task, a certain type of a2dPin will be created.

Parameters
pinClassif not NULL, only generate temporary pins that may connect to this pinClass.
taskwhat/how to connect
xcan be used to create pins depending on the poition of the mouse inside the object.
ycan be used to create pins depending on the poition of the mouse inside the object.

Reimplemented from a2dCanvasObject.

Definition at line 1086 of file wire.cpp.

bool a2dWirePolylineL::JoinAtPin ( a2dCanvasObject parent,
a2dPin joinPin,
a2dPin joinPinOther 
)

Join two pins making one pin, and merge the this wire with the parent wire of the other pin.

Parameters
parentThe parent of this wire, from which connected wire will be removed.
joinPinThe pin to join to.
joinPinOtherThe connected pin to join and remove

Definition at line 607 of file wire.cpp.

bool a2dWirePolylineL::MergAtPin ( a2dCanvasObject parent,
a2dPin joinPin,
a2dPin joinPinOther,
bool &  inFront,
bool &  secondRedirect 
)

join two wires at joinPin and joinPinOther will be removed.

Parameters
parentThe parent of this wire, from which connected wire will be removed.
joinPinThe pin to join/remove
joinPinOtherThe connected pin to join/remove
inFrontset true if other wire it's segments wre added in front of the segments of this line.
secondRedirectset true if second wire needed to be reversed in direction

Definition at line 668 of file wire.cpp.

bool a2dWirePolylineL::NeedsUpdateWhenConnected ( ) const
virtual

used in case of flexible canvas objects (wires).

If another object connected to this object changes, and that has an effect on this object, return true;

Reimplemented from a2dCanvasObject.

Definition at line 401 of file wire.cpp.

void a2dWirePolylineL::OptimizeRerouteWires ( a2dCanvasObject parent,
bool  removeZero = true,
bool  allowredirect = true 
)

if wire has unconnected pins, they will be removed, or zero lenght it will be released. use commands for undo.

Definition at line 1202 of file wire.cpp.

void a2dWirePolylineL::SetConnectionInfo ( bool  inverted,
a2dPinClass objBegin,
a2dPinClass objEnd 
)
Parameters
invertedThe wire is inverted (drawn from end to begin)
objBeginThe required pin class in the pin of the object at the start of the wire
objEndThe required pin class in the pin of the object at the end of the wire

Definition at line 385 of file wire.cpp.

a2dPin * a2dWirePolylineL::SplitAtPin ( a2dCanvasObject parent,
a2dPin splitPin,
a2dPin splitPinClone = NULL,
a2dWirePolylineL clone = NULL,
double  hitMargin = a2dACCUR 
)

Split wire at pin given, and add the new split off wire part to parent, creates a new pin at split.

Used also in a2dCommand_SplitAtPin. The split of part of this wire, is a cloned version of itself, the same for the split pin.

Parameters
parentThe parent object of this wiure, and new created wire.
splitPinThe pin were the split will take place, id not part of the wire yet, it will be added.
splitPinCloneThe new pin were the split was made, being part of the new wire part
cloneNew wire part after the split pin.

Definition at line 501 of file wire.cpp.


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