MCPcopy Create free account
hub / github.com/NazaraEngine/NazaraEngine / UpdateDerived

Method UpdateDerived

src/Nazara/Utility/Node.cpp:677–709  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

675 }
676
677 void Node::UpdateDerived() const
678 {
679 if (m_parent)
680 {
681 if (!m_parent->m_derivedUpdated)
682 m_parent->UpdateDerived();
683
684 if (m_inheritPosition)
685 m_derivedPosition = m_parent->m_derivedRotation*(m_parent->m_derivedScale * (m_initialPosition + m_position)) + m_parent->m_derivedPosition;
686 else
687 m_derivedPosition = m_initialPosition + m_position;
688
689 if (m_inheritRotation)
690 {
691 m_derivedRotation = m_parent->m_derivedRotation * m_initialRotation * m_rotation;
692 m_derivedRotation.Normalize();
693 }
694 else
695 m_derivedRotation = m_initialRotation * m_rotation;
696
697 m_derivedScale = m_initialScale * m_scale;
698 if (m_inheritScale)
699 m_derivedScale *= m_parent->m_derivedScale;
700 }
701 else
702 {
703 m_derivedPosition = m_initialPosition + m_position;
704 m_derivedRotation = m_initialRotation * m_rotation;
705 m_derivedScale = m_initialScale * m_scale;
706 }
707
708 m_derivedUpdated = true;
709 }
710
711 void Node::UpdateTransformMatrix() const
712 {

Callers 2

Node.cppFile · 0.80
SetPositionMethod · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected