summaryrefslogtreecommitdiffstats
path: root/Project/Transformer.cpp
diff options
context:
space:
mode:
authorThales Lima Oliveira <thaleslima.ufu@gmail.com>2016-12-29 02:32:50 -0200
committerThales Lima Oliveira <thaleslima.ufu@gmail.com>2016-12-29 02:32:50 -0200
commitd792fcf7b2a5862ac86ee69aa86021b5637ca8ee (patch)
treec00bb1d27666ee7d42839efbd420369b2a0d24e3 /Project/Transformer.cpp
parentfb9de1b7935376897f1c93676ab1faeb1ea25f25 (diff)
downloadPSP.git-d792fcf7b2a5862ac86ee69aa86021b5637ca8ee.tar.gz
PSP.git-d792fcf7b2a5862ac86ee69aa86021b5637ca8ee.tar.xz
PSP.git-d792fcf7b2a5862ac86ee69aa86021b5637ca8ee.zip
Copy paste implemented
Some bugs on the text
Diffstat (limited to 'Project/Transformer.cpp')
-rw-r--r--Project/Transformer.cpp17
1 files changed, 12 insertions, 5 deletions
diff --git a/Project/Transformer.cpp b/Project/Transformer.cpp
index 4110317..2ba6850 100644
--- a/Project/Transformer.cpp
+++ b/Project/Transformer.cpp
@@ -92,7 +92,7 @@ bool Transformer::Contains(wxPoint2DDouble position) const
void Transformer::Draw(wxPoint2DDouble translation, double scale) const
{
- OpenGLColour* elementColour;
+ OpenGLColour elementColour;
if(m_online) elementColour = m_onlineElementColour;
else elementColour = m_offlineElementColour;
@@ -101,7 +101,7 @@ void Transformer::Draw(wxPoint2DDouble translation, double scale) const
if(m_selected) {
// Push the current matrix on stack.
glLineWidth(1.5 + m_borderSize * 2.0);
- glColor4dv(m_selectionColour->GetRGBA());
+ glColor4dv(m_selectionColour.GetRGBA());
DrawLine(m_pointList);
glPushMatrix();
// Rotate the matrix around the object position.
@@ -128,12 +128,12 @@ void Transformer::Draw(wxPoint2DDouble translation, double scale) const
// Draw transformer (layer 2).
// Transformer line
glLineWidth(1.5);
- glColor4dv(elementColour->GetRGBA());
+ glColor4dv(elementColour.GetRGBA());
DrawLine(m_pointList);
// Draw nodes.
if(m_pointList.size() > 0) {
- glColor4dv(elementColour->GetRGBA());
+ glColor4dv(elementColour.GetRGBA());
DrawCircle(m_pointList[0], 5.0, 10, GL_POLYGON);
if(m_inserted) {
DrawCircle(m_pointList[m_pointList.size() - 1], 5.0, 10, GL_POLYGON);
@@ -154,7 +154,7 @@ void Transformer::Draw(wxPoint2DDouble translation, double scale) const
DrawCircle(m_rect.GetPosition() + wxPoint2DDouble(20.0, 20.0), 20, 20, GL_POLYGON);
DrawCircle(m_rect.GetPosition() + wxPoint2DDouble(50.0, 20.0), 20, 20, GL_POLYGON);
- glColor4dv(elementColour->GetRGBA());
+ glColor4dv(elementColour.GetRGBA());
DrawCircle(m_rect.GetPosition() + wxPoint2DDouble(20.0, 20.0), 20, 20);
DrawCircle(m_rect.GetPosition() + wxPoint2DDouble(50.0, 20.0), 20, 20);
@@ -378,3 +378,10 @@ void Transformer::SetPowerFlowDirection(PowerFlowDirection pfDirection)
m_pfDirection = pfDirection;
UpdatePowerFlowArrowsPosition();
}
+
+Element* Transformer::GetCopy()
+{
+ Transformer* copy = new Transformer();
+ *copy = *this;
+ return copy;
+}