Clean up use of transforms in scene graph.

This commit is contained in:
jmsgrogan 2023-01-19 17:37:26 +00:00
parent 3915a40c96
commit f26ee2ebc4
37 changed files with 238 additions and 242 deletions

View file

@ -1,15 +1,27 @@
#include "AbstractVisualNode.h"
AbstractVisualNode::AbstractVisualNode(const Point& location, const std::string& name)
: mLocation(location),
AbstractVisualNode::AbstractVisualNode(const Transform& transform, const std::string& name)
: mTransform(transform),
mName(name)
{
}
AbstractVisualNode::~AbstractVisualNode()
{
}
SceneItem* AbstractVisualNode::getSceneItem(std::size_t idx) const
{
return mSceneItems[idx].get();
if (idx < mSceneItems.size())
{
return mSceneItems[idx].get();
}
else
{
return nullptr;
}
}
std::size_t AbstractVisualNode::getNumSceneItems() const
@ -22,11 +34,6 @@ void AbstractVisualNode::update(SceneInfo* sceneInfo)
}
Image* AbstractVisualNode::getImage() const
{
return mImage.get();
}
void AbstractVisualNode::syncChildren(const std::vector<AbstractVisualNode*>& children)
{
mChildren = children;
@ -47,11 +54,6 @@ void AbstractVisualNode::setIsVisible(bool isVisible)
mIsVisible = isVisible;
}
std::size_t AbstractVisualNode::getNumChildren() const
{
return mChildren.size();
}
void AbstractVisualNode::setName(const std::string& name)
{
mName = name;
@ -67,11 +69,16 @@ bool AbstractVisualNode::getIsVisible() const
return mIsVisible;
}
void AbstractVisualNode::setLocation(const Point& loc)
const Transform& AbstractVisualNode::getTransform() const
{
if (mLocation != loc)
return mTransform;
}
void AbstractVisualNode::setTransform(const Transform& transform)
{
if (mTransform != transform)
{
mTransformIsDirty = true;
mLocation = loc;
mTransform = transform;
}
}