MCPcopy Create free account
hub / github.com/OpenArkStudio/ARK / CreateDataByMeta

Function CreateDataByMeta

src/plugin/kernel/include/AFCNode.hpp:736–781  ·  view source on GitHub ↗

create new data

Source from the content-addressed store, hash-verified

734
735// create new data
736static AFINode* CreateDataByMeta(std::shared_ptr<AFNodeMeta> pDataMeta)
737{
738 ARK_ASSERT_RET_VAL(pDataMeta != nullptr, nullptr);
739
740 AFINode* pData = nullptr;
741 switch (pDataMeta->GetType())
742 {
743 case ark::ArkDataType::DT_BOOLEAN:
744 pData = ARK_NEW AFNodeBool(pDataMeta);
745 break;
746 case ark::ArkDataType::DT_INT32:
747 pData = ARK_NEW AFNodeInt32(pDataMeta);
748 break;
749 case ark::ArkDataType::DT_UINT32:
750 pData = ARK_NEW AFNodeUInt32(pDataMeta);
751 break;
752 case ark::ArkDataType::DT_INT64:
753 pData = ARK_NEW AFNodeInt64(pDataMeta);
754 break;
755 case ark::ArkDataType::DT_UINT64:
756 pData = ARK_NEW AFNodeUInt64(pDataMeta);
757 break;
758 case ark::ArkDataType::DT_FLOAT:
759 pData = ARK_NEW AFNodeFloat(pDataMeta);
760 break;
761 case ark::ArkDataType::DT_DOUBLE:
762 pData = ARK_NEW AFNodeDouble(pDataMeta);
763 break;
764 case ark::ArkDataType::DT_STRING:
765 pData = ARK_NEW AFNodeString(pDataMeta);
766 break;
767 case ark::ArkDataType::DT_VECTOR3D:
768 break;
769 case ark::ArkDataType::DT_ARRAY:
770 break;
771 case ark::ArkDataType::DT_TABLE:
772 break;
773 case ark::ArkDataType::DT_GUID:
774 pData = ARK_NEW AFNodeGUID(pDataMeta);
775 break;
776 default:
777 break;
778 }
779
780 return pData;
781}
782
783} // namespace ark

Callers 3

LoadConfigMethod · 0.85
CreateDataMethod · 0.85
FindDataMethod · 0.85

Calls 10

AFNodeBoolClass · 0.85
AFNodeInt32Class · 0.85
AFNodeUInt32Class · 0.85
AFNodeInt64Class · 0.85
AFNodeUInt64Class · 0.85
AFNodeFloatClass · 0.85
AFNodeDoubleClass · 0.85
AFNodeStringClass · 0.85
AFNodeGUIDClass · 0.85
GetTypeMethod · 0.45

Tested by

no test coverage detected