public static float[] GetParamBlockValueColor(IIParamBlock paramBlock, string name) { var index = Tools.GetParamBlockIndex(paramBlock, name); if (index == -1) { return(null); } return(paramBlock.GetColor(index, 0).ToArray()); }
public Object GetValue(TimeValue t) { ParamType pt = pb.GetParameterType(id); switch (pt) { case ParamType.Int: return(pb.GetInt(id, t)); case ParamType.Float: { IParamDimension dimension = GetDimension(); float result = pb.GetFloat(id, t); try { return(dimension != null?dimension.Convert(result) : result); } // This happens sometimes? catch (AccessViolationException) { throw; //Plugin.Log( Plugin.LogType.Warning, "Error while using IParamDimension to convert value (AccessViolationException)" ); } // Also happens when dimension is corrupt (i.e. during VRayMtl creation on 32 bit) catch (NullReferenceException) { throw; } catch (Exception) { throw; // Plugin.Log( Plugin.LogType.Warning, "Unknown error while using IParamDimension to convert value" ); } } case ParamType.Bool: return(pb.GetInt(id, t) != 0); case ParamType.Rgba: return(pb.GetColor(id, t)); case ParamType.Point3: return(pb.GetPoint3(id, t)); default: return("parameter type " + Enum.GetName(typeof(ParamType), pt) + " is not supported"); } }
public static float[] GetParamBlockValueColor(IIParamBlock paramBlock, string name) { var index = Tools.GetParamBlockIndex(paramBlock, name); if (index == -1) { return null; } return paramBlock.GetColor(index, 0).ToArray(); }