From a186095c471561ce42dbfdeb853be59f0e9831ee Mon Sep 17 00:00:00 2001 From: kearwood Date: Fri, 23 Sep 2022 23:31:37 -0700 Subject: [PATCH] Implemented transform setting for KrCreateNode API --- kraken/KRNode.cpp | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/kraken/KRNode.cpp b/kraken/KRNode.cpp index 3c5a674..9785452 100755 --- a/kraken/KRNode.cpp +++ b/kraken/KRNode.cpp @@ -65,7 +65,34 @@ void KRNode::InitNodeInfo(KrNodeInfo* nodeInfo) void KRNode::update(const KrNodeInfo* nodeInfo) { - // TODO - Implement + // TODO - Implement name changes + + if (nodeInfo->translate != m_localTranslation || + nodeInfo->scale != m_localScale || + nodeInfo->rotate != m_localRotation || + nodeInfo->pre_rotate != m_initialPreRotation || + nodeInfo->post_rotate != m_initialPostRotation || + nodeInfo->rotate_offset != m_initialRotationOffset || + nodeInfo->scale_offset != m_initialScalingOffset || + nodeInfo->rotate_pivot != m_initialRotationPivot || + nodeInfo->scale_pivot != m_initialScalingPivot) { + + m_localTranslation = nodeInfo->translate; + m_initialLocalTranslation = nodeInfo->translate; + m_localScale = nodeInfo->scale; + m_initialLocalScale = nodeInfo->scale; + m_localRotation = nodeInfo->rotate; + m_initialLocalRotation = nodeInfo->rotate; + m_initialPreRotation = nodeInfo->pre_rotate; + m_initialPostRotation = nodeInfo->post_rotate; + m_initialRotationOffset = nodeInfo->rotate_offset; + m_initialScalingOffset = nodeInfo->scale_offset; + m_initialRotationPivot = nodeInfo->rotate_pivot; + m_initialScalingPivot = nodeInfo->scale_pivot; + + invalidateBindPoseMatrix(); + invalidateModelMatrix(); + } } KRNode::KRNode(KRScene& scene, std::string name) : KRContextObject(scene.getContext())