1 #include <Gui/TransformEditor/TransformEditor.hpp>
3 #include <Engine/Scene/Component.hpp>
4 #include <Engine/Scene/Entity.hpp>
8 void TransformEditor::setEditable(
const Engine::Scene::ItemEntry& ent ) {
13 void TransformEditor::getTransform() {
15 if ( m_currentEdit.isEntityNode() ) {
16 m_transform = m_currentEdit.m_entity->getTransform();
18 else if ( m_currentEdit.isComponentNode() || m_currentEdit.isRoNode() ) {
19 m_transform = m_currentEdit.m_component->getTransform( m_currentEdit.m_roIndex );
24 bool TransformEditor::canEdit()
const {
25 return m_currentEdit.isValid() && m_currentEdit.isSelectable() &&
26 ( m_currentEdit.isEntityNode() ||
27 m_currentEdit.m_component->canEdit( m_currentEdit.m_roIndex ) );
30 void TransformEditor::setTransform(
const Ra::Core::Transform& tr ) {
32 if ( m_currentEdit.isEntityNode() ) { m_currentEdit.m_entity->setTransform( tr ); }
33 else { m_currentEdit.m_component->setTransform( m_currentEdit.m_roIndex, tr ); }
37 Core::Transform TransformEditor::getWorldTransform()
const {
38 return m_currentEdit.isEntityNode() ? Ra::Core::Transform::Identity()
39 : m_currentEdit.m_entity->getTransform();
42 TransformEditor::~TransformEditor() {
43 setEditable( Engine::Scene::ItemEntry() );