OsDrawPolygon

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
m (OSSL_Api.cs)
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{osslfunc|
+
{{osslfunc
threat_level = None
+
|threat_level=None
|
+
|function_syntax=string osDrawPolygon(string drawList, list xpoints, list ypoints)
function_syntax = <source lang="lsl">
+
|ossl_example=<source lang="lsl">
LSL: string osDrawPolygon( string drawList, list xpoints, list ypoints )
+
C#: string osDrawPolygon( string drawList, LSL_List xpoints, LSL_List ypoints )
+
</source>
+
|
+
ossl_example = <source lang="lsl">
+
 
// Example of osDrawPolygon
 
// Example of osDrawPolygon
 
default
 
default
Line 13: Line 8:
 
     state_entry()
 
     state_entry()
 
     {
 
     {
    // Storage for our drawing commands
+
        // Storage for our drawing commands
 
         string CommandList = "";  
 
         string CommandList = "";  
 
+
       
    // Set the pen width to 3 pixels
+
        // "PenSize 3;"
 
         CommandList = osSetPenSize( CommandList, 3 );
 
         CommandList = osSetPenSize( CommandList, 3 );
 
+
        // "PenColor Blue;"
    // Set the pen color to blue
+
         CommandList = osSetPenColor( CommandList, "Blue" );  
         CommandList = osSetPenColour( CommandList, "Blue" );  
+
        // "Polygon 128,20,20,186,236,186;"
 
+
        CommandList = osDrawPolygon( CommandList, [128,20,236], [20,186,186] );
    // You can use either integer, float or string
+
       
         CommandList = osDrawPolygon( CommandList, [50,100,150], ["50",100,150.0] );  
+
        // "PenColor Green;"
 
+
        CommandList = osSetPenColor( CommandList, "Green" );
    // Now draw the polygon
+
        // "Polygon 128,236,20,70,236,70;"
 +
         CommandList = osDrawPolygon( CommandList, [128,20,236], [236,70,70] );
 +
       
 +
        // "PenSize 5;"
 +
        CommandList = osSetPenSize( CommandList, 5 );
 +
        // "PenColor Red;"
 +
        CommandList = osSetPenColor( CommandList, "Red" );
 +
        // "Polygon 20,20,236,20,236,236,20,236;"
 +
        CommandList = osDrawPolygon( CommandList, [20,236,236,20], [20,20,236,236] );
 +
       
 +
        // Now draw the polygon
 
         osSetDynamicTextureData( "", "vector", CommandList, "", 0 );
 
         osSetDynamicTextureData( "", "vector", CommandList, "", 0 );
 
     }
 
     }
}
+
}</source>
</source>
+
The result will be like that:
|  
+
[[Image:OsDrawPolygonSample.png|200px]]
additional_info = Appends a [[Drawing_commands#Polygon|Polygon]] drawing command to the string provided in '''drawList''' and returns the result.
+
|description=*Appends a [[Drawing commands#Polygon|Polygon]] drawing command to the string provided in '''drawList''' and returns the result.
 
+
*The polygon is drawn with the current pen size and color on the x,y point pairs that comes from LSL list.
The polygon is drawn with the current pen size and color on the x,y point pairs that comes from LSL list. So (x[0],y[0]),(x[1],y[1]),(x[2],y[2]) would be an example of a polygon.
+
*It will be converted into the drawing command "Polygon x[0],y[0],x[1],y[1],x[2],y[2],...". See [[Drawing commands#Polygon]] to know what the command will actually do.
 
|
 
|
 
}}
 
}}

Latest revision as of 13:35, 14 November 2018

string osDrawPolygon(string drawList, list xpoints, list ypoints)
  • Appends a Polygon drawing command to the string provided in drawList and returns the result.
  • The polygon is drawn with the current pen size and color on the x,y point pairs that comes from LSL list.
  • It will be converted into the drawing command "Polygon x[0],y[0],x[1],y[1],x[2],y[2],...". See Drawing commands#Polygon to know what the command will actually do.
Threat Level None
Permissions No permissions specified
Extra Delay No function delay specified
Example(s)
// Example of osDrawPolygon
default
{
    state_entry()
    {
        // Storage for our drawing commands
        string CommandList = ""; 
 
        // "PenSize 3;"
        CommandList = osSetPenSize( CommandList, 3 );
        // "PenColor Blue;"
        CommandList = osSetPenColor( CommandList, "Blue" ); 
        // "Polygon 128,20,20,186,236,186;"
        CommandList = osDrawPolygon( CommandList, [128,20,236], [20,186,186] );
 
        // "PenColor Green;"
        CommandList = osSetPenColor( CommandList, "Green" ); 
        // "Polygon 128,236,20,70,236,70;"
        CommandList = osDrawPolygon( CommandList, [128,20,236], [236,70,70] );
 
        // "PenSize 5;"
        CommandList = osSetPenSize( CommandList, 5 );
        // "PenColor Red;"
        CommandList = osSetPenColor( CommandList, "Red" ); 
        // "Polygon 20,20,236,20,236,236,20,236;"
        CommandList = osDrawPolygon( CommandList, [20,236,236,20], [20,20,236,236] );
 
        // Now draw the polygon
        osSetDynamicTextureData( "", "vector", CommandList, "", 0 );
    }
}

The result will be like that: OsDrawPolygonSample.png

Personal tools
General
About This Wiki