2-dimensional polygon. More...
#include <vgui_soview2D.h>
Public Member Functions | |
vgui_soview2D_polygon (unsigned, float const *, float const *) | |
Constructor - create a 2D polygon with the given vertices. | |
vgui_soview2D_polygon () | |
Constructor - create a default 2D polygon. | |
~vgui_soview2D_polygon () | |
Destructor - delete this 2D polygon. | |
virtual void | draw () const |
Render this 2D polygon on the display. | |
virtual vcl_ostream & | print (vcl_ostream &) const |
Print details about this 2D polygon to the given stream. | |
virtual float | distance_squared (float x, float y) const |
Returns the distance squared from this 2D polygon to the given position. | |
vcl_string | type_name () const |
Returns the type of this class ('vgui_soview2D_polygon'). | |
void | get_centroid (float *x, float *y) const |
Returns the centroid of this 2D polygon. | |
void | translate (float x, float y) |
Translate this 2D polygon by the given x and y distances. | |
void | set_size (unsigned) |
virtual void | draw_select () const |
Render this soview for selection purposes. | |
virtual void | load_name () const |
Calls OpenGL function glLoadName with this soview's id. | |
virtual void | set_style (const vgui_style_sptr &newstyle) |
Set the style (colour, line width) of the soview. | |
virtual vgui_style_sptr | get_style () const |
Return the style (colour, line width) of the soview. | |
void | set_colour (float r, float g, float b) |
Set the colour of the soview. | |
void | set_point_size (float s) |
Set the point radius of the soview. | |
void | set_line_width (float w) |
Set the line width of the soview. | |
void | attach (vgui_observer *) |
Attach given observer to this soview. | |
void | detach (vgui_observer *) |
Detach the given observer from this soview. | |
void | get_observers (vcl_vector< vgui_observer * > &) const |
Get a list of all observers attached to this soview. | |
virtual void | notify () const |
Update all observers. | |
virtual void | notify (vgui_message const &) const |
Send message to all observers. | |
virtual unsigned | get_id () const |
Returns the ID of this soview. | |
bool | get_selectable () const |
Return true if it is possible to select this soview. | |
void | set_selectable (bool s) |
Make this soview selectable/non-selectable. | |
Static Public Member Functions | |
static vgui_soview * | id_to_object (unsigned id) |
Returns a pointer to the vgui_soview, given the ID. | |
static unsigned | create_id () |
Create a new ID. | |
Public Attributes | |
unsigned | n |
float * | x |
float * | y |
Static Public Attributes | |
static vgui_DLLDATA const void *const | msg_select = "select" |
static vgui_DLLDATA const void *const | msg_deselect = "deselect" |
static vgui_DLLDATA const void *const | msg_highlight = "highlight" |
static vgui_DLLDATA const void *const | msg_unhighlight = "unhighlight" |
Protected Attributes | |
unsigned | id |
ID of this soview. | |
bool | selectable |
Whether this soview is selectable. | |
vgui_style_sptr | style |
Style (colour, line width, etc) of this soview. |
2-dimensional polygon.
Definition at line 339 of file vgui_soview2D.h.
vgui_soview2D_polygon::vgui_soview2D_polygon | ( | unsigned | n_, |
float const * | x_, | ||
float const * | y_ | ||
) |
Constructor - create a 2D polygon with the given vertices.
Definition at line 430 of file vgui_soview2D.cxx.
vgui_soview2D_polygon::vgui_soview2D_polygon | ( | ) | [inline] |
Constructor - create a default 2D polygon.
Definition at line 346 of file vgui_soview2D.h.
vgui_soview2D_polygon::~vgui_soview2D_polygon | ( | ) |
Destructor - delete this 2D polygon.
Definition at line 440 of file vgui_soview2D.cxx.
void vgui_soview::attach | ( | vgui_observer * | o | ) | [inherited] |
Attach given observer to this soview.
Definition at line 183 of file vgui_soview.cxx.
unsigned vgui_soview::create_id | ( | ) | [static, inherited] |
Create a new ID.
Definition at line 52 of file vgui_soview.cxx.
void vgui_soview::detach | ( | vgui_observer * | o | ) | [inherited] |
Detach the given observer from this soview.
Definition at line 188 of file vgui_soview.cxx.
float vgui_soview2D_polygon::distance_squared | ( | float | x, |
float | y | ||
) | const [virtual] |
Returns the distance squared from this 2D polygon to the given position.
Implements vgui_soview2D.
Definition at line 457 of file vgui_soview2D.cxx.
void vgui_soview2D_polygon::draw | ( | ) | const [virtual] |
Render this 2D polygon on the display.
Implements vgui_soview.
Definition at line 447 of file vgui_soview2D.cxx.
void vgui_soview::draw_select | ( | ) | const [virtual, inherited] |
Render this soview for selection purposes.
By default, this will call draw(). However, some objects take time to draw, especially in GL_SELECT mode. The routine allows such objects to render a simplified version for the selection process. Note that during selection, the object is not rendered on screen. The "rendering" is used by OpenGL internals to determine if the object is in the selection region (e.g. area around mouse pointer).
Reimplemented in vgui_soview2D_group, and vgui_soview2D_point.
Definition at line 93 of file vgui_soview.cxx.
void vgui_soview2D_polygon::get_centroid | ( | float * | x, |
float * | y | ||
) | const [virtual] |
Returns the centroid of this 2D polygon.
Implements vgui_soview2D.
Definition at line 463 of file vgui_soview2D.cxx.
virtual unsigned vgui_soview::get_id | ( | ) | const [inline, virtual, inherited] |
Returns the ID of this soview.
Definition at line 102 of file vgui_soview.h.
void vgui_soview::get_observers | ( | vcl_vector< vgui_observer * > & | vobs | ) | const [inherited] |
Get a list of all observers attached to this soview.
Definition at line 204 of file vgui_soview.cxx.
bool vgui_soview::get_selectable | ( | ) | const [inline, inherited] |
Return true if it is possible to select this soview.
Definition at line 111 of file vgui_soview.h.
virtual vgui_style_sptr vgui_soview::get_style | ( | ) | const [inline, virtual, inherited] |
Return the style (colour, line width) of the soview.
Definition at line 69 of file vgui_soview.h.
vgui_soview * vgui_soview::id_to_object | ( | unsigned | id | ) | [static, inherited] |
Returns a pointer to the vgui_soview, given the ID.
Definition at line 70 of file vgui_soview.cxx.
void vgui_soview::load_name | ( | ) | const [virtual, inherited] |
Calls OpenGL function glLoadName with this soview's id.
Definition at line 102 of file vgui_soview.cxx.
void vgui_soview::notify | ( | ) | const [virtual, inherited] |
Update all observers.
Definition at line 213 of file vgui_soview.cxx.
void vgui_soview::notify | ( | vgui_message const & | msg | ) | const [virtual, inherited] |
Send message to all observers.
Definition at line 221 of file vgui_soview.cxx.
vcl_ostream & vgui_soview2D_polygon::print | ( | vcl_ostream & | s | ) | const [virtual] |
Print details about this 2D polygon to the given stream.
Reimplemented from vgui_soview.
Definition at line 455 of file vgui_soview2D.cxx.
void vgui_soview::set_colour | ( | float | r, |
float | g, | ||
float | b | ||
) | [inherited] |
Set the colour of the soview.
Definition at line 108 of file vgui_soview.cxx.
void vgui_soview::set_line_width | ( | float | w | ) | [inherited] |
Set the line width of the soview.
Definition at line 140 of file vgui_soview.cxx.
void vgui_soview::set_point_size | ( | float | s | ) | [inherited] |
Set the point radius of the soview.
Definition at line 124 of file vgui_soview.cxx.
void vgui_soview::set_selectable | ( | bool | s | ) | [inline, inherited] |
Make this soview selectable/non-selectable.
Definition at line 114 of file vgui_soview.h.
void vgui_soview2D_polygon::set_size | ( | unsigned | nn | ) |
Definition at line 486 of file vgui_soview2D.cxx.
virtual void vgui_soview::set_style | ( | const vgui_style_sptr & | newstyle | ) | [inline, virtual, inherited] |
Set the style (colour, line width) of the soview.
Reimplemented in vgui_soview2D_group.
Definition at line 66 of file vgui_soview.h.
void vgui_soview2D_polygon::translate | ( | float | x, |
float | y | ||
) | [virtual] |
Translate this 2D polygon by the given x and y distances.
Implements vgui_soview2D.
Definition at line 477 of file vgui_soview2D.cxx.
vcl_string vgui_soview2D_polygon::type_name | ( | ) | const [inline, virtual] |
Returns the type of this class ('vgui_soview2D_polygon').
Reimplemented from vgui_soview.
Definition at line 361 of file vgui_soview2D.h.
unsigned vgui_soview::id [protected, inherited] |
ID of this soview.
Definition at line 118 of file vgui_soview.h.
const void *const vgui_soview::msg_deselect = "deselect" [static, inherited] |
Definition at line 97 of file vgui_soview.h.
const void *const vgui_soview::msg_highlight = "highlight" [static, inherited] |
Definition at line 98 of file vgui_soview.h.
const void *const vgui_soview::msg_select = "select" [static, inherited] |
Definition at line 96 of file vgui_soview.h.
const void *const vgui_soview::msg_unhighlight = "unhighlight" [static, inherited] |
Definition at line 99 of file vgui_soview.h.
unsigned vgui_soview2D_polygon::n |
Definition at line 369 of file vgui_soview2D.h.
bool vgui_soview::selectable [protected, inherited] |
Whether this soview is selectable.
Definition at line 121 of file vgui_soview.h.
vgui_style_sptr vgui_soview::style [protected, inherited] |
Style (colour, line width, etc) of this soview.
Definition at line 124 of file vgui_soview.h.
float* vgui_soview2D_polygon::x |
Definition at line 370 of file vgui_soview2D.h.
float * vgui_soview2D_polygon::y |
Definition at line 370 of file vgui_soview2D.h.