summaryrefslogtreecommitdiffstats
path: root/Project/Inductor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Project/Inductor.cpp')
-rw-r--r--Project/Inductor.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/Project/Inductor.cpp b/Project/Inductor.cpp
index 4a6cf75..ffce7d9 100644
--- a/Project/Inductor.cpp
+++ b/Project/Inductor.cpp
@@ -36,14 +36,14 @@ bool Inductor::AddParent(Element* parent, wxPoint2DDouble position)
void Inductor::Draw(wxPoint2DDouble translation, double scale) const
{
- OpenGLColour* elementColour;
+ OpenGLColour elementColour;
if(m_online) elementColour = m_onlineElementColour;
else elementColour = m_offlineElementColour;
if(m_inserted) {
if(m_selected) {
glLineWidth(1.5 + m_borderSize * 2.0);
- glColor4dv(m_selectionColour->GetRGBA());
+ glColor4dv(m_selectionColour.GetRGBA());
DrawLine(m_pointList);
@@ -65,7 +65,7 @@ void Inductor::Draw(wxPoint2DDouble translation, double scale) const
}
// Draw Load (layer 2).
glLineWidth(1.5);
- glColor4dv(elementColour->GetRGBA());
+ glColor4dv(elementColour.GetRGBA());
DrawCircle(m_pointList[0], 5.0, 10, GL_POLYGON);
DrawLine(m_pointList);
@@ -76,7 +76,7 @@ void Inductor::Draw(wxPoint2DDouble translation, double scale) const
glRotated(m_angle, 0.0, 0.0, 1.0);
glTranslated(-m_position.m_x, -m_position.m_y, 0.0);
- glColor4dv(elementColour->GetRGBA());
+ glColor4dv(elementColour.GetRGBA());
DrawArc(m_position + wxPoint2DDouble(0, -m_height / 2.0 + 10.0), 10, 45, 270, 10, GL_LINE_STRIP);
DrawArc(m_position + wxPoint2DDouble(0, -m_height / 2.0 + 25.0), 10, 45, 315, 10, GL_LINE_STRIP);
DrawArc(m_position + wxPoint2DDouble(0, -m_height / 2.0 + 40.0), 10, 90, 315, 10, GL_LINE_STRIP);
@@ -147,3 +147,10 @@ InductorElectricalData Inductor::GetPUElectricalData(double systemPowerBase)
return data;
}
+
+Element* Inductor::GetCopy()
+{
+ Inductor* copy = new Inductor();
+ *copy = *this;
+ return copy;
+}