Difference between revisions of "GradientValue"

From Second Life Wiki
Jump to navigation Jump to search
m (damn typo)
m (better check)
Line 5: Line 5:
|p2_type=vector|p2_name=end|p2_desc=Gradient end color
|p2_type=vector|p2_name=end|p2_desc=Gradient end color
|p3_type=float|p3_name=percentage|p3_desc=Percentage in the range (0.0 to 100.0) from start to end
|p3_type=float|p3_name=percentage|p3_desc=Percentage in the range (0.0 to 100.0) from start to end
|return_type=vector|return_text=that is the color vector between {{LSLP|start}} and {{LSLP|end}} depending upon {{LSLP|percentage}} if percentage is in range, else returns <code>{{LSL VR|-1|-1|-1}}</code>.
|return_type=vector|return_text=that is the color vector between {{LSLP|start}} and {{LSLP|end}} depending upon {{LSLP|percentage}} if the vector between can be calculated, else returns <code>{{LSL VR|-1|-1|-1}}</code>.
|func_footnote
|func_footnote
|caveats
|caveats
Line 14: Line 14:
vector GradientValue(vector start, vector end, float percentage)
vector GradientValue(vector start, vector end, float percentage)
{
{
     if (percentage < 0.0 || 100.0 < percentage) return <-1, -1, -1>;
    list colorParams = [start.x, start.y, start.z, end.x, end.y, end.z];
 
     if (percentage < 0.0
        || 100.0 < percentage
        || llListStatistics(LIST_STAT_MIN, colorParams) < 0.0
        || 1.0 < llListStatistics(LIST_STAT_MAX, colorParams))
    {
        return <-1, -1, -1>;
    }
 
     percentage /= 100.0;// convert to decimal for further use
     percentage /= 100.0;// convert to decimal for further use


Line 28: Line 37:
vector GradientValue(vector start, vector end, float percentage)
vector GradientValue(vector start, vector end, float percentage)
{
{
     if (percentage < 0.0 || 100.0 < percentage) return <-1, -1, -1>;
    list colorParams = [start.x, start.y, start.z, end.x, end.y, end.z];
     percentage /= 100.0;
 
     if (percentage < 0.0
        || 100.0 < percentage
        || llListStatistics(LIST_STAT_MIN, colorParams) < 0.0
        || 1.0 < llListStatistics(LIST_STAT_MAX, colorParams))
    {
        return <-1, -1, -1>;
    }
 
     percentage /= 100.0;// convert to decimal for further use


     float red  = start.x + percentage*(end.x - start.x);
     float red  = start.x + percentage*(end.x - start.x);

Revision as of 16:22, 8 January 2014

Summary

Function: vector GradientValue( vector start, vector end, float percentage );

Returns a vector that is the color vector between start and end depending upon percentage if the vector between can be calculated, else returns <-1, -1, -1>.

• vector start Gradient start color
• vector end Gradient end color
• float percentage Percentage in the range (0.0 to 100.0) from start to end

Specification

<lsl> // Created by Ugleh Ulrik

vector GradientValue(vector start, vector end, float percentage) {

   list colorParams = [start.x, start.y, start.z, end.x, end.y, end.z];
   if (percentage < 0.0

Examples

<lsl> vector GradientValue(vector start, vector end, float percentage) {

   list colorParams = [start.x, start.y, start.z, end.x, end.y, end.z];
if (percentage < 0.0

See Also

Constants

•  PRIM_COLOR
•  CHANGED_COLOR

Functions

•  llGetColor
•  llGetLinkPrimitiveParams
•  llSetColor
•  llSetLinkColor

Articles

•  Color and Scripting
•  Color