- refactored
- constify
This commit is contained in:
+25
-9
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user