OsDrawPolygon

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
m (OSSL_Api.cs)
Line 13: Line 13:
 
     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;"
    // Now draw the polygon
+
    CommandList = osSetPenColor( CommandList, "Green" );
        osSetDynamicTextureData( "", "vector", CommandList, "", 0 );
+
    //"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 polygons
 +
    osSetDynamicTextureData( "", "vector", CommandList, "", 0 );
 
     }
 
     }
 
}
 
}
 
</source>
 
</source>
 +
The result will be look 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.
+
additional_info = *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.
 
|
 
|
 
}}
 
}}

Revision as of 08:37, 24 June 2011

LSL: string osDrawPolygon( string drawList, list xpoints, list ypoints )
C#: string osDrawPolygon( string drawList, LSL_List xpoints, LSL_List ypoints )
No descriptions provided
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 polygons
    osSetDynamicTextureData( "", "vector", CommandList, "", 0 );
    }
}

The result will be look like that: OsDrawPolygonSample.png

Notes
*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.
Personal tools
General
About This Wiki