public static Parameter Create(IParameterManager manager, Int16 id, RcpTypes.Datatype datatype, RcpTypes.Datatype elementType, int[] structure) { TypeDefinition typeDefinition, elementTypeDefinition; switch (datatype) { case RcpTypes.Datatype.Array: elementTypeDefinition = TypeDefinition.Create(elementType); typeDefinition = elementTypeDefinition.CreateArray(structure ?? new int[1]); break; case RcpTypes.Datatype.List: throw new NotImplementedException(); case RcpTypes.Datatype.Range: elementTypeDefinition = TypeDefinition.Create(elementType); typeDefinition = elementTypeDefinition.CreateRange(); break; default: typeDefinition = TypeDefinition.Create(datatype); break; } return(typeDefinition.CreateParameter(id, manager)); }
public static bool HasElementType(RcpTypes.Datatype type) { switch (type) { case RcpTypes.Datatype.Array: case RcpTypes.Datatype.List: case RcpTypes.Datatype.Range: return(true); } return(false); }
public Parameter CreateRangeParameter(RcpTypes.Datatype elementType, string label = "", GroupParameter group = null) { var param = Parameter.Create(this, FIdCounter++, RcpTypes.Datatype.Range, elementType); return(AddAndReturn(param, label, group)); }
public static Parameter Create(IParameterManager manager, Int16 id, RcpTypes.Datatype datatype, RcpTypes.Datatype elementType) => Create(manager, id, datatype, elementType, null);
public static Parameter Create(IParameterManager manager, Int16 id, RcpTypes.Datatype datatype) => Create(manager, id, datatype, 0);
public DefaultDefinition(RcpTypes.Datatype datatype, T @default) : base(datatype) { TypeDefault = FDefault = @default; }
public TypeDefinition(RcpTypes.Datatype datatype) { Datatype = datatype; }
public static TypeDefinition Create(RcpTypes.Datatype type) { switch (type) { case RcpTypes.Datatype.Customtype: break; case RcpTypes.Datatype.Boolean: return(new BooleanDefinition()); case RcpTypes.Datatype.Int8: return(new Integer8Definition()); case RcpTypes.Datatype.Uint8: return(new UInteger8Definition()); case RcpTypes.Datatype.Int16: return(new Integer16Definition()); case RcpTypes.Datatype.Uint16: return(new UInteger16Definition()); case RcpTypes.Datatype.Int32: return(new Integer32Definition()); case RcpTypes.Datatype.Uint32: return(new UInteger32Definition()); case RcpTypes.Datatype.Int64: return(new Integer64Definition()); case RcpTypes.Datatype.Uint64: return(new UInteger64Definition()); case RcpTypes.Datatype.Float32: return(new Float32Definition()); case RcpTypes.Datatype.Float64: return(new Float64Definition()); case RcpTypes.Datatype.Vector2i32: break; case RcpTypes.Datatype.Vector2f32: return(new Vector2f32Definition()); case RcpTypes.Datatype.Vector3i32: break; case RcpTypes.Datatype.Vector3f32: return(new Vector3f32Definition()); case RcpTypes.Datatype.Vector4i32: break; case RcpTypes.Datatype.Vector4f32: return(new Vector4f32Definition()); case RcpTypes.Datatype.String: return(new StringDefinition()); case RcpTypes.Datatype.Rgb: return(new RGBDefinition()); case RcpTypes.Datatype.Rgba: return(new RGBADefinition()); case RcpTypes.Datatype.Enum: return(new EnumDefinition()); case RcpTypes.Datatype.Array: throw new ArgumentException(nameof(type), "Must not be an array."); case RcpTypes.Datatype.List: throw new ArgumentException(nameof(type), "Must not be a list."); case RcpTypes.Datatype.Bang: return(new BangDefinition()); case RcpTypes.Datatype.Group: return(new GroupDefinition()); case RcpTypes.Datatype.Uri: return(new UriDefinition()); case RcpTypes.Datatype.Image: return(new ImageDefinition()); case RcpTypes.Datatype.Ipv4: break; case RcpTypes.Datatype.Ipv6: break; case RcpTypes.Datatype.Range: throw new ArgumentException(nameof(type), "Must not be a range."); default: throw new NotImplementedException($"Unkown type {type}."); } throw new NotSupportedException($"{type} is not supported yet."); }