// // /*=============================================================================== // // Copyright (C) 2020 PhantomsXR Ltd. All Rights Reserved. // // // // This file is part of the AR-MOD SDK. // // // // The AR-MOD SDK cannot be copied, distributed, or made available to // // third-parties for commercial purposes without written permission of PhantomsXR Ltd. // // // // Contact info@phantomsxr.com for licensing requests. // // ===============================================================================*/ using com.PhantomsXR.BarracudaExtension.Runtime; using Unity.Barracuda; using Unity.VisualScripting; namespace com.PhantomsXR.VisualScriptingExtension.Runtime { [UnitCategory("ARMOD/NNEInference"), UnitTitle("ModelLoader"), UnitShortTitle("ModelLoader")] public class NNEModelLoaderUnit : ARMODBaseWithResultUnit { [DoNotSerialize] public ValueInput NNModel; [DoNotSerialize] public ValueInput Verbose; [DoNotSerialize] public ValueInput SkipWeights; private Model model; protected override void Definition() { base.Definition(); NNModel = ValueInput(nameof(NNModel), (NNModel) null); Verbose = ValueInput(nameof(Verbose), (bool) false); SkipWeights = ValueInput(nameof(SkipWeights), (bool) false); Result = ValueOutput(nameof(Model), _flow => model); Requirement(NNModel, inputTrigger); } public override ControlOutput Execute(Flow _arg) { var tmp_NNModel = _arg.GetValue(NNModel); var tmp_Verbose = _arg.GetValue(Verbose); var tmp_SkipWeights = _arg.GetValue(SkipWeights); model = NNEInference.LoadNNModel(tmp_NNModel, tmp_Verbose, tmp_SkipWeights); return outputTrigger; } } }