Data Type

This commit is contained in:
h z
2024-07-11 11:21:29 +01:00
parent a8688d7f95
commit bd5ab1e940
62 changed files with 233 additions and 277 deletions

View File

@@ -1,9 +1,9 @@
using Godot;
using Nocturnis.DataStructures;
using Nocturnis.DataStructures.Data;
using Nocturnis.DataStructures.DataPortGroups;
using Nocturnis.DataStructures.DataTypes;
using Nocturnis.Enigmos.Modules;
using Nocturnis.Enigmos.Modules.ComputationalModules;
using Nocturnis.Enigmos.Ports;
using Nocturnis.GlobalManagement.Constants;
using Nocturnis.GlobalManagement.Providers;
using Skeleton.DataStructure;
@@ -26,15 +26,15 @@ public abstract partial class V2ComponentModule : UnaryComputationalModule, IPol
this,
DataInPorts,
"Vector Input Type",
EnigmosConstant.DataPortTypes.R2,
EnigmosConstant.DataPortTypes.VectorTypes
DataTypeConstant.BaseDataTypes.R2,
DataTypeConstant.DataTypeOptions.VectorTypes
);
ScalarOutputGroup = GlobalProvider.DataStructureProvider.NewDataOutGroup(
this,
DataOutPorts,
"",
EnigmosConstant.DataPortTypes.Real,
Array.Empty<StringName>()
DataTypeConstant.BaseDataTypes.Real,
DataTypeConstant.DataTypeOptions.ScalarTypes
);
ConfigurablePortGroups = new HashSet<IDataPortGroup> { VectorInputGroup };
PostInit();
@@ -42,19 +42,19 @@ public abstract partial class V2ComponentModule : UnaryComputationalModule, IPol
public override void Define()
{
(object, StringName) Func1(CacheItem c)
(object, DataType) Func1(CacheItem c)
{
IData v = this.X(c);
if (v.Type == EnigmosConstant.DataPortTypes.R2)
return (v.R2[1], EnigmosConstant.DataPortTypes.Real);
return (v.C2[1], EnigmosConstant.DataPortTypes.Complex);
DataVariable v = this.X(c);
if (v.Type == DataTypeConstant.BaseDataTypes.R2)
return (v.R2[1], DataTypeConstant.BaseDataTypes.Real);
return (v.C2[1], DataTypeConstant.BaseDataTypes.Complex);
}
(object, StringName) Func2(CacheItem c)
(object, DataType) Func2(CacheItem c)
{
IData v = this.X(c);
if (v.Type == EnigmosConstant.DataPortTypes.R2)
return (v.R2[2], EnigmosConstant.DataPortTypes.Real);
return (v.C2[2], EnigmosConstant.DataPortTypes.Complex);
DataVariable v = this.X(c);
if (v.Type == DataTypeConstant.BaseDataTypes.R2)
return (v.R2[2], DataTypeConstant.BaseDataTypes.Real);
return (v.C2[2], DataTypeConstant.BaseDataTypes.Complex);
}
DataOutPorts[0].OutData.UpdateCalculation(Func1);
DataOutPorts[1].OutData.UpdateCalculation(Func2);