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

specialized generator for flow on one a2dcanvasObject using wires More...

#include <connectgen.h>

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

Public Member Functions

 a2dConnectionGeneratorDirectedFlow ()
 constructor
 
 ~a2dConnectionGeneratorDirectedFlow ()
 destructor
 
virtual a2dPinClassGetPinClassForTask (a2dPinClass *pinClass, a2dConnectTask task, a2dCanvasObject *obj=NULL, a2dPinClass *pinClassTo=NULL, a2dPin *pinFrom=NULL) const
 return a a2dPinClass which should be used to connect to the input a2dPinClass. More...
 
- Public Member Functions inherited from a2dConnectionGenerator
 a2dConnectionGenerator ()
 constructor
 
 ~a2dConnectionGenerator ()
 destructor
 
virtual a2dCanvasObjectCreateConnectObject (a2dCanvasObject *parent, a2dPin *pinThis, a2dPin *pinOther, bool undo=false) const
 create connection object based on two pins which need to be connected. More...
 
virtual a2dCanvasObjectGetConnectTemplate (const a2dCanvasObject *object, a2dPinClass *thisPinClass, const a2dCanvasObject *other, a2dPinClass *otherPinClass) const
 create connection object based on two pin classes, which (may) need to be connected. More...
 
virtual void SetPinsToBeginState (a2dCanvasObject *root, a2dCanvasObjectFlagsMask mask=a2dCanvasOFlags::VISIBLE)
 set begin state of pins, before a tools starts asking feedback or after tool is finsihed
 
virtual void SetPinsToEndState (a2dCanvasObject *root, a2dCanvasObjectFlagsMask mask=a2dCanvasOFlags::VISIBLE)
 set end state of pins after tool is finsihed
 
virtual bool GeneratePossibleConnections (a2dCanvasObject *object, a2dPinClass *pinClass, a2dConnectTask task, double x, double y, double margin) const
 generate temporary pins to which objects can connect More...
 
a2dPinClassGetAnyPinClass () const
 return the pin class for GetPinClassForTask( a2dPinClass::Any ) More...
 
void SetAnyPinClass (a2dPinClass *pinClass)
 see GetAnyPinClass()
 
a2dPinClassGetReturnPinClass () const
 
a2dCanvasObjectGetReturnConnect () const
 
bool GetLastConnectCreationDirection () const
 when a wire was created, this return the direction is was created ( first to last pin or visa versa ).
 
virtual bool GeneratePinsToConnect (a2dDrawingPart *part, a2dCanvasObject *root, a2dPinClass *pinClassToConnectTo, a2dConnectTask task, double xpin, double ypin, a2dCanvasObjectFlagsMask mask=a2dCanvasOFlags::VISIBLE)
 
virtual a2dPinSearchPinForFinishWire (a2dCanvasObject *root, a2dPin *pinToConnectTo, a2dPinClass *pinClassToConnectTo, double margin, a2dCanvasObjectFlagsMask mask=a2dCanvasOFlags::VISIBLE)
 
virtual a2dPinSearchPinForStartWire (a2dCanvasObject *root, double xpin, double ypin, a2dPinClass *pinClassToConnectTo, double margin, a2dCanvasObjectFlagsMask mask=a2dCanvasOFlags::VISIBLE)
 
virtual bool GeneratePinsToConnectObject (a2dDrawingPart *part, a2dCanvasObject *root, a2dCanvasObject *connectObject, a2dPinClass *pinClassToConnectTo=NULL, a2dCanvasObjectFlagsMask mask=a2dCanvasOFlags::VISIBLE)
 Generate pins on objects, and test which can connect to the given object. More...
 
virtual bool ConnectToPinsObject (a2dCanvasObject *root, a2dCanvasObject *connectObject, double margin, a2dPinClass *pinClassToConnectTo=NULL, a2dCanvasObjectFlagsMask mask=a2dCanvasOFlags::VISIBLE)
 
void SetConnectObject (a2dCanvasObject *tmplObject)
 the template object is used as a template for creating new wires between pins. More...
 
a2dCanvasObjectGetConnectObject () const
 return connect object.
 
void AddRerouteWires (a2dCanvasObjectList *wires, a2dCanvasObject *parentOfWires)
 
void AddRerouteWire (a2dCanvasObject *wire, a2dCanvasObject *parentOfWires)
 
void PrepareForRewire (a2dCanvasObject *parent, a2dCanvasObjectList &dragList, bool walkWires=true, bool selected=false, bool stopAtSelectedWire=false, bool CreateExtraWires=true, a2dBaseTool *tool=NULL, a2dRefMap *refs=NULL)
 
void CreateWiresOnPins (a2dCanvasObject *parent, const a2dCanvasObjectList &objectsToDrag, bool undo, bool onlyNonSelected=false)
 create wires on pins which do not have wires, but directly are connected to other objects. More...
 
void OptimizeRerouteWires (bool removeZero=false)
 
void ResetCloneBrother ()
 Reset clonebrothers.
 
void ResetPositionsToOrignals ()
 
void PrepareForRerouteWires (a2dBaseTool *tool=NULL, a2dRefMap *refs=NULL)
 
void RerouteWires (bool final=false, bool fromOriginal=true)
 
void SetRouteWhenDrag (bool routeWhenDrag)
 route also while dragging object
 
bool GetRouteWhenDrag ()
 route also while dragging object
 
void SetRouteMethod (RouteMethod routing)
 set the way routing will be done
 
RouteMethod GetRouteMethod ()
 
wxString GetRouteMethodAsString ()
 
void RotateRouteMethod ()
 cycle through routing methods
 
void SetAllowRedirect (bool allowredirect)
 
bool GetAllowRedirect ()
 see SetAllowRedirect()
 
void SetGeneratePins (bool onOff)
 
bool GetGeneratePins () const
 
void SetNoEditCopy (bool noEditCopy)
 
bool GetNoEditCopy ()
 
void SetOffSet (double offset)
 
double GetOffSet () const
 
- 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 a2dPinClassObjectInput = NULL
 Pins of this class can only connect to WireInput pins.
 
static a2dPinClassObjectOutput = NULL
 Pins of this class can only connect to WireOutput pins.
 
static a2dPinClassWireInput = NULL
 Pins of this class can only connect to ObjectInput pins.
 
static a2dPinClassWireOutput = NULL
 Pins of this class can only connect to ObjectOutput pins.
 
- 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

virtual a2dObjectClone (CloneOptions options) const
 Some stuff needed by the ref counting base class.
 
- Protected Member Functions inherited from a2dConnectionGenerator
void EndManhattanRoute (a2dPin *pin, a2dLineSegment *seg1, a2dLineSegment *seg2, a2dLineSegment *seg3, a2dVertexList *points, bool reverse)
 
- 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...
 

Additional Inherited Members

- Public Types inherited from a2dConnectionGenerator
enum  RouteMethod {
  StraightSegment, StraightEndSegment, GridRouting, StraightEndSegmentUnlessPins,
  StraightSegmentUnlessPins, ManhattanSegments, ManhattanEndSegments, ManhattanEndSegmentsStay,
  ManhattanEndSegmentsConvertAndStay
}
 
- 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
 
- Protected Types inherited from a2dObject
enum  { refcount_nondynamic = 0x76543210 }
 special refcount value for non-dynamic objects
 
- Protected Attributes inherited from a2dConnectionGenerator
a2dCanvasObjectListm_wires
 
a2dCanvasObjectListm_wiresEditCopies
 
bool m_routeWhenDrag
 
RouteMethod m_routeMethod
 
a2dCanvasObjectPtr m_tmplObject
 Template for created object which represents a connection. e.g a2dWirePolylineL.
 
a2dPinClassm_returnPinClass
 
a2dCanvasObjectm_returnConnect
 
a2dPinClassm_anypinclass
 template pinclass
 
bool m_reverseCreate
 how to create a connection
 
bool m_allowredirect
 
bool m_generatePins
 
double m_offset
 
- 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
 

Detailed Description

specialized generator for flow on one a2dcanvasObject using wires

This a2dConnectionGenerator can be set to a a2dPinClass, and will be called from there.

Definition at line 499 of file connectgen.h.

Member Function Documentation

a2dPinClass * a2dConnectionGeneratorDirectedFlow::GetPinClassForTask ( a2dPinClass pinClass,
a2dConnectTask  task,
a2dCanvasObject obj = NULL,
a2dPinClass pinClassTo = NULL,
a2dPin pinFrom = NULL 
) const
virtual

return a a2dPinClass which should be used to connect to the input a2dPinClass.

The connection generator searches for a possible connection to the input a2dPinClass in combination with the canvasobject obj if needed.

Parameters
pinClasspin class for which to search a connecting PinClass
taskfor what purpose is the connection needed
objobject for which pins are checked / needed.
Returns
If a a2dPinClass is not found NULL is returned.

Reimplemented from a2dConnectionGenerator.

Definition at line 2487 of file connectgen.cpp.


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