From 3f4289ec08f42077b70c5049ca54051798d0d190 Mon Sep 17 00:00:00 2001 From: kearwood Date: Wed, 21 Sep 2022 23:38:49 -0700 Subject: [PATCH] Merged appendBeforeNode, appendAfterNode, appendFirstChildNode, and appendLastChildNode API calls into a single createNode call. --- kraken/KRCamera.cpp | 1 + kraken/KRContext.cpp | 17 +------------- kraken/KRContext.h | 5 +---- kraken/kraken.cpp | 28 ++--------------------- kraken/public/kraken.h | 51 +++++++++++++----------------------------- 5 files changed, 21 insertions(+), 81 deletions(-) diff --git a/kraken/KRCamera.cpp b/kraken/KRCamera.cpp index 3834f86..eeefdc7 100755 --- a/kraken/KRCamera.cpp +++ b/kraken/KRCamera.cpp @@ -39,6 +39,7 @@ void KRCamera::InitNodeInfo(KrNodeInfo* nodeInfo) { KRNode::InitNodeInfo(nodeInfo); + nodeInfo->camera.surface = -1; nodeInfo->camera.skybox_texture = -1; } diff --git a/kraken/KRContext.cpp b/kraken/KRContext.cpp index be20904..4028747 100755 --- a/kraken/KRContext.cpp +++ b/kraken/KRContext.cpp @@ -742,22 +742,7 @@ KrResult KRContext::deleteNodeChildren(const KrDeleteNodeChildrenInfo* pDeleteNo return KR_ERROR_NOT_IMPLEMENTED; } -KrResult KRContext::appendBeforeNode(const KrAppendBeforeNodeInfo* pAppendBeforeNodeInfo) -{ - return KR_ERROR_NOT_IMPLEMENTED; -} - -KrResult KRContext::appendAfterNode(const KrAppendAfterNodeInfo* pAppendAfterNodeInfo) -{ - return KR_ERROR_NOT_IMPLEMENTED; -} - -KrResult KRContext::appendFirstChildNode(const KrAppendFirstChildNodeInfo* pAppendFirstChildNodeInfo) -{ - return KR_ERROR_NOT_IMPLEMENTED; -} - -KrResult KRContext::appendLastChildNode(const KrAppendLastChildNodeInfo* pAppendLastChildNodeInfo) +KrResult KRContext::createNode(const KrCreateNodeInfo* pCreateNodeInfo) { return KR_ERROR_NOT_IMPLEMENTED; } diff --git a/kraken/KRContext.h b/kraken/KRContext.h index 923ce88..6df104f 100755 --- a/kraken/KRContext.h +++ b/kraken/KRContext.h @@ -95,10 +95,7 @@ public: KrResult setNodeWorldTransform(const KrSetNodeWorldTransformInfo* pSetNodeWorldTransform); KrResult deleteNode(const KrDeleteNodeInfo* pDeleteNodeInfo); KrResult deleteNodeChildren(const KrDeleteNodeChildrenInfo* pDeleteNodeChildrenInfo); - KrResult appendBeforeNode(const KrAppendBeforeNodeInfo* pAppendBeforeNodeInfo); - KrResult appendAfterNode(const KrAppendAfterNodeInfo* pAppendAfterNodeInfo); - KrResult appendFirstChildNode(const KrAppendFirstChildNodeInfo* pAppendFirstChildNodeInfo); - KrResult appendLastChildNode(const KrAppendLastChildNodeInfo* pAppendLastChildNodeInfo); + KrResult createNode(const KrCreateNodeInfo* pCreateNodeInfo); KrResult updateNode(const KrUpdateNodeInfo* pUpdateNodeInfo); diff --git a/kraken/kraken.cpp b/kraken/kraken.cpp index 367aa96..25f3729 100644 --- a/kraken/kraken.cpp +++ b/kraken/kraken.cpp @@ -218,36 +218,12 @@ KrResult KrDeleteNodeChildren(const KrDeleteNodeChildrenInfo* pDeleteNodeChildre return sContext->deleteNodeChildren(pDeleteNodeChildrenInfo); } -KrResult KrAppendBeforeNode(const KrAppendBeforeNodeInfo* pAppendBeforeNodeInfo) +KrResult KrCreateNode(const KrCreateNodeInfo* pCreateNodeInfo) { if (!sContext) { return KR_ERROR_NOT_INITIALIZED; } - return sContext->appendBeforeNode(pAppendBeforeNodeInfo); -} - -KrResult KrAppendAfterNode(const KrAppendAfterNodeInfo* pAppendAfterNodeInfo) -{ - if (!sContext) { - return KR_ERROR_NOT_INITIALIZED; - } - return sContext->appendAfterNode(pAppendAfterNodeInfo); -} - -KrResult KrAppendFirstChildNode(const KrAppendFirstChildNodeInfo* pAppendFirstChildNodeInfo) -{ - if (!sContext) { - return KR_ERROR_NOT_INITIALIZED; - } - return sContext->appendFirstChildNode(pAppendFirstChildNodeInfo); -} - -KrResult KrAppendLastChildNode(const KrAppendLastChildNodeInfo* pAppendLastChildNodeInfo) -{ - if (!sContext) { - return KR_ERROR_NOT_INITIALIZED; - } - return sContext->appendLastChildNode(pAppendLastChildNodeInfo); + return sContext->createNode(pCreateNodeInfo); } KrResult KrUpdateNode(const KrUpdateNodeInfo* pUpdateNodeInfo) diff --git a/kraken/public/kraken.h b/kraken/public/kraken.h index 27c8317..2a2d8b6 100644 --- a/kraken/public/kraken.h +++ b/kraken/public/kraken.h @@ -80,12 +80,9 @@ typedef enum KR_STRUCTURE_TYPE_FIND_NODE_BY_NAME = 0x00030000, KR_STRUCTURE_TYPE_FIND_ADJACENT_NODES, + KR_STRUCTURE_TYPE_CREATE_NODE, KR_STRUCTURE_TYPE_DELETE_NODE, KR_STRUCTURE_TYPE_DELETE_NODE_CHILDREN, - KR_STRUCTURE_TYPE_APPEND_BEFORE_NODE, - KR_STRUCTURE_TYPE_APPEND_AFTER_NODE, - KR_STRUCTURE_TYPE_APPEND_FIRST_CHILD_NODE, - KR_STRUCTURE_TYPE_APPEND_LAST_CHILD_NODE, KR_STRUCTURE_TYPE_UPDATE_NODE, KR_STRUCTURE_TYPE_SET_NODE_LOCAL_TRANSFORM, KR_STRUCTURE_TYPE_SET_NODE_WORLD_TRANSFORM, @@ -110,6 +107,14 @@ typedef enum KR_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF } KrStructureType; +typedef enum +{ + KR_SCENE_NODE_INSERT_BEFORE, + KR_SCENE_NODE_INSERT_AFTER, + KR_SCENE_NODE_INSERT_FIRST_CHILD, + KR_SCENE_NODE_INSERT_LAST_CHILD, +} KrSceneNodeInsertLocation; + typedef int KrResourceMapIndex; typedef int KrSceneNodeMapIndex; typedef int KrSurfaceMapIndex; @@ -234,6 +239,7 @@ typedef struct struct { // KR_STRUCTURE_TYPE_NODE_CAMERA + KrSurfaceMapIndex surface; KrResourceMapIndex skybox_texture; } camera; struct @@ -385,33 +391,11 @@ typedef struct { KrStructureType sType; KrResourceMapIndex sceneHandle; - KrSceneNodeMapIndex siblingNodeHandle; + KrSceneNodeMapIndex newNodeHandle; + KrSceneNodeMapIndex relativeNodeHandle; + KrSceneNodeInsertLocation location; KrNodeInfo node; -} KrAppendBeforeNodeInfo; - -typedef struct -{ - KrStructureType sType; - KrResourceMapIndex sceneHandle; - KrSceneNodeMapIndex siblingNodeHandle; - KrNodeInfo node; -} KrAppendAfterNodeInfo; - -typedef struct -{ - KrStructureType sType; - KrResourceMapIndex sceneHandle; - KrSceneNodeMapIndex parentNodeHandle; - KrNodeInfo node; -} KrAppendFirstChildNodeInfo; - -typedef struct -{ - KrStructureType sType; - KrResourceMapIndex sceneHandle; - KrSceneNodeMapIndex parentNodeHandle; - KrNodeInfo node; -} KrAppendLastChildNodeInfo; +} KrCreateNodeInfo; typedef struct { @@ -463,10 +447,7 @@ KrResult KrFindNodeByName(const KrFindNodeByNameInfo* pFindNodeByNameInfo); KrResult KrFindAdjacentNodes(const KrFindAdjacentNodesInfo* pFindAdjacentNodesInfo); KrResult KrSetNodeLocalTransform(const KrSetNodeLocalTransformInfo* pSetNodeLocalTransform); KrResult KrSetNodeWorldTransform(const KrSetNodeWorldTransformInfo* pSetNodeWorldTransform); +KrResult KrCreateNode(const KrCreateNodeInfo* pCreateNodeInfo); +KrResult KrUpdateNode(const KrUpdateNodeInfo* pUpdateNodeInfo); KrResult KrDeleteNode(const KrDeleteNodeInfo* pDeleteNodeInfo); KrResult KrDeleteNodeChildren(const KrDeleteNodeChildrenInfo* pDeleteNodeChildrenInfo); -KrResult KrAppendBeforeNode(const KrAppendBeforeNodeInfo* pAppendBeforeNodeInfo); -KrResult KrAppendAfterNode(const KrAppendAfterNodeInfo* pAppendAfterNodeInfo); -KrResult KrAppendFirstChildNode(const KrAppendFirstChildNodeInfo* pAppendFirstChildNodeInfo); -KrResult KrAppendLastChildNode(const KrAppendLastChildNodeInfo* pAppendLastChildNodeInfo); -KrResult KrUpdateNode(const KrUpdateNodeInfo* pUpdateNodeInfo);