public static bool GetParameterColor3Value(HEU_SessionBase session, HAPI_NodeId nodeID, HAPI_ParmInfo[] parameters, string parameterName, Color defaultValue, out Color outputColor) { int parameterIndex = GetParameterIndexFromNameOrTag(session, nodeID, parameters, parameterName); if (parameterIndex < 0 || parameterIndex >= parameters.Length) { outputColor = defaultValue; return false; } if (parameters[parameterIndex].size < 3) { HEU_Logger.LogError("Parameter size not large enough to be a Color3"); outputColor = defaultValue; return false; } int valueIndex = parameters[parameterIndex].floatValuesIndex; float[] value = new float[3]; if (session.GetParamFloatValues(nodeID, value, valueIndex, 3)) { outputColor = new Color(value[0], value[1], value[2], 1f); return true; } outputColor = defaultValue; return false; }
public static float GetParameterFloatValue(HEU_SessionBase session, HAPI_NodeId nodeID, HAPI_ParmInfo[] parameters, string parameterName, float defaultValue) { int parameterIndex = GetParameterIndexFromNameOrTag(session, nodeID, parameters, parameterName); if (parameterIndex < 0 || parameterIndex >= parameters.Length) { return defaultValue; } int valueIndex = parameters[parameterIndex].floatValuesIndex; float[] value = new float[1]; if (session.GetParamFloatValues(nodeID, value, valueIndex, 1)) { return value[0]; } return defaultValue; }