![]() |
Power System Platform
2026w10a-beta
|
Abstract class for branch power elements. More...
#include <Branch.h>


Public Member Functions | |
| virtual bool | Contains (wxPoint2DDouble position) const |
| Checks if the element contains a position. | |
| virtual void | Draw (wxPoint2DDouble translation, double scale) const |
| virtual void | Move (wxPoint2DDouble position) |
| Move the element other position. | |
| virtual void | StartMove (wxPoint2DDouble position) |
| Update the element attributes related to the movement. | |
| virtual void | MoveNode (Element *parent, wxPoint2DDouble position) |
| Move a node. StartMove(wxPoint2DDouble position) before start moving. | |
| virtual bool | NodeContains (wxPoint2DDouble position) |
| Check if a node contains a point. If contains, set the attributes related to node movement. | |
| virtual bool | SetNodeParent (Element *parent) |
| Set a perent to the node. If all conditions are met, a new parent are added to the element and the points related to the nodes will be calculated. | |
| virtual void | RemoveParent (Element *parent) |
| Remove a parent. | |
| virtual void | UpdateNodes () |
| Update the nodes according to the parents. If a parent is removed, use this method. | |
| virtual wxCursor | GetBestPickboxCursor () const |
| Get the best cursor to shown to the user when the mouse is above a pickbox. | |
| virtual bool | Intersects (wxRect2DDouble rect) const |
| Check if the element's rect intersects other rect. | |
| virtual void | MovePickbox (wxPoint2DDouble position) |
| Move the pickbox. | |
| virtual bool | PickboxContains (wxPoint2DDouble position) |
| Check if a pickbox contains a point. If contains the attributes related to pickbox movement will be calculated. | |
| virtual void | RotateNode (Element *parent, bool clockwise=true) |
| Rotate a node. | |
| virtual void | AddPoint (wxPoint2DDouble point) |
| Add point to the list of points that connect the element to the bus. | |
| virtual bool | GetContextMenu (wxMenu &menu) |
| Get the element contex menu. | |
| virtual void | UpdateSwitchesPosition () |
| virtual void | UpdateSwitches () |
| Update the switch position. | |
Public Member Functions inherited from PowerElement | |
| PowerElement () | |
| Constructor. | |
| virtual | ~PowerElement () |
| Destructor. | |
| virtual wxPoint2DDouble | GetSwitchPoint (Element *parent, wxPoint2DDouble parentPoint, wxPoint2DDouble secondPoint) const |
| Get the correct switch position. | |
| virtual bool | SwitchesContains (wxPoint2DDouble position) const |
| Check if switch contains position. | |
| virtual void | DrawDCSwitches (wxGraphicsContext *gc) const |
| Draw switch. | |
| virtual void | DrawDCSwitches (wxDC &dc) const |
| virtual void | CalculatePowerFlowPts (std::vector< wxPoint2DDouble > edges) |
| Calculate the points of the power flow arrows. | |
| virtual void | DrawDCPowerFlowPts (wxGraphicsContext *gc) const |
| Draw power flow arrows. | |
| virtual void | DrawDCPowerFlowPts (wxDC &dc) const |
| virtual void | SetNominalVoltage (std::vector< double > nominalVoltage, std::vector< ElectricalUnit > nominalVoltageUnit) |
| Set nominal voltage of the element. | |
| virtual void | SetSwitchingData (SwitchingData data) |
| Set the switching data of the element. | |
| virtual SwitchingData | GetSwitchingData () |
| Returns the switching data of the element. | |
| virtual void | SetPowerFlowDirection (PowerFlowDirection pfDirection) |
| Set the direction of the power flow. | |
| virtual PowerFlowDirection | GetPowerFlowDirection () const |
| Return the direction of the power flow. | |
| virtual bool | GetPlotData (ElementPlotData &plotData, PlotStudy study=PlotStudy::STABILITY) |
| Fill the plot data. | |
| virtual bool | HaveDynamicEvent () const |
| Check if the power element have dynamic event. | |
| virtual void | SetDynamicEvent (bool dynEvent=true) |
| Set if the power element have dynamic event. | |
| virtual double | GetValueFromUnit (double value, ElectricalUnit valueUnit) |
| virtual void | SaveCADProperties (rapidxml::xml_document<> &doc, rapidxml::xml_node<> *elementNode) |
| virtual void | SaveSwitchingData (rapidxml::xml_document<> &doc, rapidxml::xml_node<> *electricalNode) |
| virtual bool | OpenElement (rapidxml::xml_node<> *elementNode, std::vector< Element * > parentList) |
| virtual bool | OpenCADProperties (rapidxml::xml_node<> *elementNode, std::vector< Element * > parentList) |
| virtual bool | OpenSwitchingData (rapidxml::xml_node<> *electricalNode) |
Public Member Functions inherited from Element | |
| Element () | |
| Constructor. | |
| virtual | ~Element () |
| Destructor. | |
| void | SetDragging (bool dragging=true) |
| Set if the element are being dragged. | |
| void | SetHeight (double height) |
| Set element height. | |
| void | SetPosition (const wxPoint2DDouble position) |
| Set the element position and update the rectangle. | |
| void | SetSelected (bool selected=true) |
| Set element selection. | |
| void | SetWidth (double width) |
| Set element width. | |
| void | SetAngle (double angle) |
| Set element angle. | |
| void | ShowPickbox (bool showPickbox=true) |
| Set if the pickbox is shown. | |
| void | SetBorderSize (double borderSize) |
| Set the size of the border (shown in selected elements). | |
| bool | SetOnline (bool online=true) |
| Set if the element is online or offline. | |
| virtual void | SetPointList (std::vector< wxPoint2DDouble > pointList) |
| Set the list of points that connect the element to the bus. | |
| ElementType | GetElementType () |
| wxRect2DDouble | GetRect () const |
| Get the element rectangle. | |
| wxPoint2DDouble | GetPosition () const |
| Get the element position. | |
| bool | IsDragging () const |
| Checks if the element is being dragged. | |
| double | GetHeight () const |
| Get the element height. | |
| bool | IsSelected () const |
| Checks if the element is selected. | |
| double | GetWidth () const |
| Get the element width. | |
| double | GetAngle () const |
| Get the element angle. | |
| double | GetRotationAngle () const |
| Get the angle of rotation. | |
| bool | IsPickboxShown () const |
| Checks if the pickbox is shown. | |
| bool | IsOnline () const |
| Checks if the element is online or offline. | |
| virtual std::vector< wxPoint2DDouble > | GetPointList () const |
| Get the list of points that connect the element to bus. | |
| virtual bool | AddParent (Element *parent, wxPoint2DDouble position) |
| Add a parent to the element. This method must be used on power elements that connect to a bus, so the parent must be a bus. The element basic points are calculated in this method, so apply this when the element is being inserted. | |
| virtual void | AddParent (Element *parent) |
| Add a parent to the element. | |
| virtual Element * | GetCopy () |
| Get a the element copy. | |
| virtual void | SetID (int id) |
| Set the element ID. | |
| virtual int | GetID () const |
| Get the element ID. | |
| virtual void | AddChild (Element *child) |
| Add a child to the child list. | |
| virtual void | RemoveChild (Element *child) |
| Remove a child from the list. | |
| virtual void | ReplaceChild (Element *oldChild, Element *newChild) |
| Replace a child from the list. | |
| virtual wxString | GetTipText () const |
| Get the tip text. | |
| virtual void | DrawDC (wxPoint2DDouble translation, double scale, wxGraphicsContext *gc) const |
| Draw the element using GDI+. | |
| virtual void | DrawDC (wxPoint2DDouble translation, double scale, wxDC &dc) const |
| Draw the element using wxDC. | |
| virtual void | Rotate (bool clockwise=true) |
| Rotate the element. | |
| void | SetParent (Element *parent, int num) |
| void | SetChild (Element *child, int num) |
| virtual void | ReplaceParent (Element *oldParent, Element *newParent) |
| Replace a parent. | |
| virtual void | ResetPickboxes () |
| Remove the pickboxes. | |
| virtual void | ResetNodes () |
| Remove the active nodes. | |
| virtual wxPoint2DDouble | WorldToScreen (wxPoint2DDouble translation, double scale, double offsetX=0.0, double offsetY=0.0) const |
| Convert the element position to screen position. | |
| virtual wxPoint2DDouble | WorldToScreen (wxPoint2DDouble position, wxPoint2DDouble translation, double scale, double offsetX=0.0, double offsetY=0.0) const |
| Convert a generic position to screen position. | |
| virtual bool | RotatedRectanglesIntersects (wxRect2DDouble rect1, wxRect2DDouble rect2, double angle1, double angle2) const |
| Check if two roteted rectangles intersect. | |
| virtual void | DrawDCRectangle (wxPoint2DDouble position, double width, double height, double angle, wxDC &dc) const |
| Draw a circle. | |
| virtual void | DrawDCRoundedRectRotated (wxDC &dc, const wxPoint2DDouble ¢er, double width, double height, double radius, double angleDeg, int arcSegments=8) const |
| virtual void | DrawDCCircle (wxPoint2DDouble position, double radius, int numSegments, wxGraphicsContext *gc) const |
| Draw a circle using device context. | |
| virtual void | DrawDCCircle (wxPoint2DDouble position, double radius, wxDC &dc) const |
| virtual void | DrawDCArc (wxPoint2DDouble position, double radius, double initAngle, double finalAngle, int numSegments, wxGraphicsContext *gc) const |
| virtual void | DrawDCArc (wxPoint2DDouble position, double radius, double initAngle, double finalAngle, wxDC &dc) const |
| virtual void | DrawDCTriangle (std::vector< wxPoint2DDouble > points, wxGraphicsContext *gc) const |
| Draw rectangle. | |
| virtual void | DrawDCTriangle (std::vector< wxPoint > points, wxDC &dc) const |
| virtual void | DrawDCPickbox (wxPoint2DDouble position, wxGraphicsContext *gc) const |
| Draw a point. | |
| virtual wxPoint2DDouble | RotateAtPosition (wxPoint2DDouble pointToRotate, double angle, bool degrees=true) const |
| Rotate a point as element position being the origin. | |
| virtual wxPoint2DDouble | RotateLocal (wxPoint2DDouble local, double angleDeg) const |
| virtual wxPoint | RotateAround (const wxPoint2DDouble &p, const wxPoint2DDouble ¢er, double angleDeg) const |
| virtual std::vector< Element * > | GetParentList () const |
| Get the parent list. | |
| virtual std::vector< Element * > | GetChildList () const |
| Get the Child list. | |
| virtual void | CalculateBoundaries (wxPoint2DDouble &leftUp, wxPoint2DDouble &rightBottom) const |
| Calculate the element boundaries. | |
| virtual void | GeneralMenuItens (wxMenu &menu) |
| Insert general itens to context menu. | |
| virtual bool | ShowForm (wxWindow *parent, Element *element) |
| Show element data form. | |
| virtual double | PointToLineDistance (wxPoint2DDouble point, int *segmentNumber=nullptr) const |
| Calculate the distance between a line (formed by point list) and a point. | |
| bool | IsInserted () const |
| Check if the element is properly inserted in the workspace. | |
| void | SetInserted (bool inserted=true) |
| Set if the element is properly inserted in the workspace. | |
| virtual rapidxml::xml_node * | SaveElement (rapidxml::xml_document<> &doc, rapidxml::xml_node<> *elementListNode) |
| virtual bool | OpenElement (rapidxml::xml_node<> *elementNode) |
| void | SaveCADProperties (rapidxml::xml_document<> &doc, rapidxml::xml_node<> *elementNode) |
| bool | OpenCADProperties (rapidxml::xml_node<> *elementNode) |
Additional Inherited Members | |
Static Public Member Functions inherited from Element | |
| static bool | DoubleFromString (wxWindow *parent, wxString strValue, double &value, wxString errorMsg) |
| Get a double value from a string. Show a error message if the conversion fail. | |
| static bool | IntFromString (wxWindow *parent, wxString strValue, int &value, wxString errorMsg) |
| Convert a string to int. Show a error message if the conversion fail. | |
| static wxString | StringFromDouble (double value, int minDecimal=1, int maxDecimals=13) |
| Convert a double value to string. | |
Protected Attributes inherited from PowerElement | |
| SwitchingData | m_swData |
| std::vector< std::vector< wxPoint2DDouble > > | m_powerFlowArrow |
| PowerFlowDirection | m_pfDirection = PowerFlowDirection::PF_NONE |
| wxColour | m_busColour |
| wxColour | m_onlineElementColour |
| wxColour | m_offlineElementColour |
| wxColour | m_closedSwitchColour |
| wxColour | m_openedSwitchColour |
| wxColour | m_powerFlowArrowColour |
| wxColour | m_dynamicEventColour |
| bool | m_dynEvent = false |
Protected Attributes inherited from Element | |
| ElementType | m_elementType = ElementType::TYPE_NONE |
| int | m_elementID = 0 |
| std::vector< Element * > | m_parentList |
| std::vector< Element * > | m_childList |
| wxRect2DDouble | m_rect |
| wxPoint2DDouble | m_position |
| double | m_width = 0.0 |
| double | m_height = 0.0 |
| double | m_angle = 0.0 |
| double | m_borderSize = 2.0 |
| double | m_rotationAngle = 45.0 |
| double | m_switchSize = 10.0 |
| std::vector< wxRect2DDouble > | m_switchRect |
| bool | m_selected = false |
| bool | m_dragging = false |
| bool | m_showPickbox = false |
| bool | m_inserted = false |
| int | m_activePickboxID = ID_PB_NONE |
| int | m_activeNodeID = 0 |
| std::vector< wxPoint2DDouble > | m_pointList |
| std::vector< wxPoint2DDouble > | m_movePts |
| wxPoint2DDouble | m_moveStartPt |
| wxPoint2DDouble | m_movePos |
| bool | m_online = true |
| wxColour | m_selectionColour |
| Branch::Branch | ( | ) |
Definition at line 20 of file Branch.cpp.
| Branch::~Branch | ( | ) |
Definition at line 21 of file Branch.cpp.
|
inlinevirtual |
|
inlinevirtual |
Checks if the element contains a position.
| position | Position to be checked. |
Implements Element.
Reimplemented in Line, and Transformer.
Definition at line 37 of file Branch.h.
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
Get the element contex menu.
| menu | menu that will be inserted the element itens. |
Reimplemented from Element.
Reimplemented in Line, and Transformer.
Definition at line 52 of file Branch.h.
|
inlinevirtual |
Check if the element's rect intersects other rect.
| rect | Rect to check intersection. |
Implements Element.
Reimplemented in Line, and Transformer.
Definition at line 47 of file Branch.h.

|
inlinevirtual |
Move the element other position.
| position | Position that the element will be moved. Use StartMove(wxPoint2DDouble position) before start moving. |
Reimplemented from Element.
Reimplemented in Line, and Transformer.
Definition at line 39 of file Branch.h.
|
inlinevirtual |
Move a node. StartMove(wxPoint2DDouble position) before start moving.
| parent | Node's parent. |
| position | New node position. |
Reimplemented from Element.
Reimplemented in Line, and Transformer.
Definition at line 41 of file Branch.h.
|
inlinevirtual |
|
virtual |
Check if a node contains a point. If contains, set the attributes related to node movement.
| position | Position tested. |
Reimplemented from Element.
Definition at line 22 of file Branch.cpp.
|
inlinevirtual |
Check if a pickbox contains a point. If contains the attributes related to pickbox movement will be calculated.
| position | Position to be checked. |
Reimplemented from Element.
Reimplemented in Line.
Definition at line 49 of file Branch.h.
|
virtual |
Remove a parent.
| parent | Parent to be removed. |
Reimplemented from Element.
Definition at line 105 of file Branch.cpp.
|
virtual |
Rotate a node.
| parent | Node's parent. |
| clockwise | True to rotate clockwise, false to rotate counter-clockwise. |
Reimplemented from Element.
Reimplemented in Transformer, and Line.
Definition at line 143 of file Branch.cpp.

|
virtual |
Set a perent to the node. If all conditions are met, a new parent are added to the element and the points related to the nodes will be calculated.
| parent | Node parent. |
Reimplemented from Element.
Reimplemented in Line, and Transformer.
Definition at line 43 of file Branch.cpp.

|
inlinevirtual |
Update the element attributes related to the movement.
| position | Start move position. |
Reimplemented from Element.
Reimplemented in Line, and Transformer.
Definition at line 40 of file Branch.h.
|
virtual |
Update the nodes according to the parents. If a parent is removed, use this method.
Reimplemented from Element.
Definition at line 116 of file Branch.cpp.

|
virtual |
Update the switch position.
Reimplemented from PowerElement.
Definition at line 179 of file Branch.cpp.

|
virtual |
Definition at line 156 of file Branch.cpp.