- refactored

- constify
This commit is contained in:
2024-01-22 12:26:03 +01:00
parent d99cf5ee4c
commit 938368f1fa
14 changed files with 102 additions and 99 deletions
+25 -9
View File
@@ -26,6 +26,7 @@ AStack::AStack(StackType type, const std::string &name)
: m_name(name)
, m_type(type)
, m_pLayers(nullptr)
, m_numLayers(0)
{
}
@@ -50,16 +51,9 @@ void AStack::setName(const std::string& name)
m_name = name;
}
size_t AStack::numLayers()
size_t AStack::numLayers() const
{
size_t count = 0;
Layer *pLayer = m_pLayers;
while(pLayer)
{
count++;
pLayer = pLayer->next;
}
return count;
return m_numLayers;
}
void AStack::addLayer(Layer *pOtherLayer)
@@ -79,6 +73,7 @@ void AStack::addLayer(Layer *pOtherLayer)
pLayer->next = pOtherLayer;
pOtherLayer->prev = pLayer;
}
updateNumLayers();
}
void AStack::delLayer(Layer* pLayer)
@@ -86,6 +81,17 @@ void AStack::delLayer(Layer* pLayer)
assert(!"Stack::delLayer: Not implemented!");
}
void AStack::updateNumLayers()
{
m_numLayers = 0;
Layer *pLayer = m_pLayers;
while(pLayer)
{
m_numLayers++;
pLayer = pLayer->next;
}
}
Layer* AStack::getLayer(size_t layerId) const
{
Layer *pLayer = m_pLayers;
@@ -101,6 +107,16 @@ Layer* AStack::getLayer(size_t layerId) const
}
Layer* AStack::getFirstLayer() const
{
return getLayer(0);
}
Layer* AStack::getLastLayer() const
{
return getLayer(numLayers()-1);
}
bool AStack::save(const std::string &dir)
{
return StackCreator::toFile(this, dir, m_name);